Cretae Datasourse машинное обучение AWS через SDK
Я пытаюсь создать источник данных, используя AWS Machine learning SDK. Сначала я загружаю CSV-файл данных в хранилище S3 также через SDK. Затем я обновляю политику для этого файла. Только после того, как я пытаюсь создать источник данных, но я получаю сообщение об ошибке:
ОШИБКИ (1): У вас нет прав доступа к 's3://training-data/input/test-likes.csv'. Свяжитесь с владельцем 's3: //training-data/input/test-likes.csv', чтобы получить доступ для чтения.
Какие разрешения требуются еще?
Это моя политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AmazonML_s3:ListBucket",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::831986290820:user/pavel.emsow",
"Service": "machinelearning.amazonaws.com"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::trainig-data",
"Condition": {
"StringLike": {
"s3:prefix": [
"input/common-likes.csv*",
"input/test-likes.csv*"
]
}
}
},
{
"Sid": "AmazonML_s3:GetObject",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::831986290820:user/pavel.emsow",
"Service": "machinelearning.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::trainig-data/input/common-likes.csv*",
"arn:aws:s3:::trainig-data/input/test-likes.csv*"
]
}
]
}
1 ответ
Я столкнулся с этой ошибкой при попытке создать модель ML из источника данных S3. В дополнение к моей (аналогичной) политике сегмента я должен был изменить роль IAM, которая использовалась при вызове API машинного обучения. Я прикрепил политику полного доступа S3 к роли IAM, и вызов прошел успешно. Политика полного доступа может быть слишком широкой, и может быть возможно уменьшить ее до S3 только для чтения, и при этом вызов будет успешным.