VM Import/Export에 필요한 권한 - VM Import/Export

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

VM Import/Export에 필요한 권한

VM Import/Export에는AWS Identity and Access Management 사용자 및 서비스 역할 모두가 사용자를 대신하여 특정 작업을 수행할 수 있는 권한이 필요합니다.

IAM 사용자의 필수 권한

AWS Identity and Access Management(IAM) 사용자로 로그인한 경우 VM Import/Export를 사용하려면 IAM 정책에서 다음 권한이 필요합니다.

참고

일부 작업에는 Amazon S3 버킷을 사용해야 합니다. 이 예제 정책은 Amazon S3 버킷을 만들 수 있는 권한을 부여하지도 않습니다. IAM 사용자는 기존 버킷을 지정하거나 새 버킷을 만들 수 있는 권한 ( s3:CreateBucket) 을 가져야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject" ], "Resource": ["arn:aws:s3:::mys3bucket","arn:aws:s3:::mys3bucket/*"] }, { "Effect": "Allow", "Action": [ "ec2:CancelConversionTask", "ec2:CancelExportTask", "ec2:CreateImage", "ec2:CreateInstanceExportTask", "ec2:CreateTags", "ec2:DescribeConversionTasks", "ec2:DescribeExportTasks", "ec2:DescribeExportImageTasks", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:DescribeSnapshots", "ec2:DescribeTags", "ec2:ExportImage", "ec2:ImportInstance", "ec2:ImportVolume", "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:ImportImage", "ec2:ImportSnapshot", "ec2:DescribeImportImageTasks", "ec2:DescribeImportSnapshotTasks", "ec2:CancelImportTask" ], "Resource": "*" } ] }

필수 서비스 역할

VM Import/Export에는 사용자를 대신하여 특정 작업을 수행할 역할이 필요합니다. VM Import/Export가 역할을 맡을 수 있도록 하는 신뢰 관계 정책 문서를 사용하여 이름이 지정된vmimport 서비스 역할을 생성하고 IAM 정책을 역할에 연결해야 합니다. 자세한 내용은 IAM 사용 설명서에서 IAM 역할을 참조하십시오.

사전 조건

VM Import/Export를 사용하려는 모든 지역에서AWS Security Token Service (AWS STS) 를 활성화해야 합니다. 자세한 내용은 AWS 리전에서 AWS STS 활성화 및 비활성화를 참조하십시오.

서비스 역할을 생성하려면

  1. 컴퓨터에서 trust-policy.json이라는 파일을 하나 만듭니다. 다음 정책을 파일에 추가합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
  2. create-role 명령을 사용하여 이름이 지정된vmimport 역할을 생성하고 해당 역할에 대한 VM Import/Export 액세스 권한을 부여합니다. 이전 단계에서 생성한 trust-policy.json 파일의 위치에 대한 전체 경로를 지정하고 다음 예와 같이 file:// 접두사를 포함해야 합니다.

    aws iam create-role --role-name vmimport --assume-role-policy-document "file://C:\import\trust-policy.json"
  3. 다음 정책에 따라 이름이 지정된role-policy.json 파일을 생성합니다. 여기서 disk-image-file-bucket은 디스크 이미지용 버킷이고 export-bucket은 내보낸 이미지의 버킷입니다.

    { "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::disk-image-file-bucket", "arn:aws:s3:::disk-image-file-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::export-bucket", "arn:aws:s3:::export-bucket/*" ] }, { "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] }
  4. (선택 사항) 에서AWS KMSAWS Key Management Service 키를 사용하여 암호화된 리소스를 가져오려면role-policy.json 파일에 다음 권한을 추가합니다.

    { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*" }

    Amazon EBS에서 제공하는 기본값이 아닌 다른 KMS 키를 사용하는 경우, Amazon EBS 암호화를 기본적으로 활성화하거나 가져오기 작업 시 암호화를 활성화한 경우 KMS 키에 VM 가져오기/내보내기 권한을 부여해야 합니다. * 대신 KMS 키의 Amazon 리소스 이름 (ARN) 을 리소스로 지정할 수 있습니다.

  5. (선택 사항) AMI에 라이선스 구성을 연결하려면role-policy.json 파일에 다음 License Manager 권한을 추가합니다.

    { "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
  6. 다음 put-role-policy명령을 사용하여 위에서 생성한 역할에 정책을 연결합니다. role-policy.json 파일의 위치에 대한 전체 경로를 지정해야 합니다.

    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://C:\import\role-policy.json"
  7. 추가 보안 제어를 위해 새로 만든 이 역할에 대한 신뢰 정책에aws:SourceAccount 및 등의 컨텍스트 키를 추가할aws:SourceArn 수 있습니다. VM Import/Export는 아래 예제에 지정된 대로SourceAccountSourceArn 키를 게시하여 이 역할을 담당합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:Externalid": "vmimport", "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:vmie:*:111122223333:*" } } } ] }