Я уже добавил пользователя, упомянутого в этом вопросе , и дал этому пользователю полный контроль (как видно на прилагаемой картинке). Но в ответе на get-bucket-acl
упомянутый пользователь не появляется.
Я пытаюсь экспортировать экземпляр Ubuntu EC2 в корзину S3 в виде файла VMDK. Я установил AWS CLI v1 на свою MacOS и настроил его, используя моего пользователя root (поскольку я собираюсь удалить CLI из моей MacOS, как только я закончу с созданием образа). Затем я выполнил следующую команду
aws ec2 create-instance-export-task --instance-id i-<instance-id> --target-environment vmware --export-to-s3-task file://vm-aws.json
Я получил следующую ошибку
An error occurred (AuthFailure) when calling the CreateInstanceExportTask operation: vm-import-export@amazon.com must have WRITE and READ_ACL permission on the S3 bucket.
Получив эту ошибку, я открыл разрешения на ведро, повернул Блок все publi c access to Off . Затем я открыл Список контроля доступа и добавил новую учетную запись с идентификатором электронной почты vm-import-export@amazon.com, как указано в разрешениях на ведро. Я дал этой учетной записи разрешение на Запись объектов и Разрешения на чтение корзины , как упоминалось.
Проблема заключается в том, что первая упомянутая команда по-прежнему выдает ту же ошибку. Я даже попытался установить все 4 разрешения для пользователя vm-import-export@amazon.com безрезультатно.
Я пытался затем получить ACL указанного сегмента, выполнив следующую команду.
aws s3api get-bucket-acl --bucket <bucket-name>
Я получаю следующий ответ
{
"Owner": {
"DisplayName": "accounts",
"ID": "009228***************************************************e141e"
},
"Grants": [
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "accounts",
"ID": "009228***************************************************e141e"
},
"Permission": "FULL_CONTROL"
},
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "accounts",
"ID": "009228***************************************************e141e"
},
"Permission": "FULL_CONTROL"
}
]
}
Если вы видите, что есть 2 Получатель гранта , оба с то же DisplayName и ID . Оба они - один и тот же пользователь (root пользователь), который является Владельцем корзины. Поэтому я думаю, что первая команда при получении ACL видит этот ответ и не находит упомянутого пользователя (****) с необходимыми разрешениями. И это не может продолжаться.
Что я здесь не так делаю? Мне кажется, это проблема самого API.