2016-12-01 3 views
0

При запуске АМС (Amazon Web Services) задачу импорта-изображения:AWS Импорт-изображение Пользователь не имеет доступа к объекту S3

aws ec2 import-image --description "My OVA" --disk-containers file://c:\TEMP\containers.json 

Я получаю следующее сообщение об ошибке:

An error occurred (InvalidParameter) when calling the ImportImage operation: User does not have access to the S3 object.(mys3bucket/vms/myOVA.ova)

Я выполнил все инструкции в this AWS document on importing a VM (включая этапы 1, 2 и 3). В частности, я устанавливаю роль vmimport и рекомендуемые политики для этой роли. Что я делаю не так?

ответ

0

Я, наконец, понял это. Проблема заключалась в том, что пользователь IAM , который содержит роль vmimport, не имел доступа к моему ведерке S3. Как только я предоставил пользователю IAM доступ к моему ведро S3 (установив политику ведра в S3), команда import-image успешно завершила процесс.

Чтобы установить политику ведра в S3, щелкните правой кнопкой мыши на вашем ковше (т. Е. Имя ковша верхнего уровня на S3), затем нажмите «Свойства». Затем из правого меню, которое отображается, откройте «Разрешения» и нажмите «Добавить политику ведра». Появится небольшое окно, в которое вы можете включить JSON для политики. Вот один, который работал для меня:

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "Stmt1476979061000", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "arn:aws:iam::MY-AWS-account-ID:user/myIAMuserID" 
     }, 
     "Action": "s3:*", 
     "Resource": [ 
      "arn:aws:s3:::mys3bucket", 
      "arn:aws:s3:::mys3bucket/*" 
     ] 
    } 
]} 

Вам нужно заменить "MY-AWS-счета-ID" с AWS Account ID, и "myIAMuserID" с IAM идентификатором пользователя, который содержит vmimport роль. This document рассказывает о том, как получить свой идентификатор учетной записи AWS. И this document больше говорит о предоставлении разрешений в S3.

Смежные вопросы