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

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

VM Import/Export에 필요한 권한

VM Import/Export에는 사용자, 그룹 및 역할에 대한 특정 권한이 필요합니다. 또한 사용자를 대신하여 특정 작업을 수행하려면 서비스 역할이 필요합니다.

필요한 권한

VM Import/Export를 사용하려면 IAM 정책에서 사용자, 그룹 및 역할에 다음과 같은 권한이 필요합니다.

참고

일부 작업에서는 Amazon S3 버킷을 사용해야 합니다. 이 예제 정책은 Amazon S3 버킷을 생성할 권한을 부여하지 않습니다. 사용자 또는 역할은 기존 버킷을 지정해야 하거나 새 버킷( 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 가져오기/내보내기를 사용하려는 모든 지역에서 AWS Security Token Service (AWS STS) 를 활성화해야 합니다. 자세한 내용은 지역에서의 활성화 및 비활성화를 AWS STS 참조하십시오. AWS

서비스 역할을 생성하려면
  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 KMS AWS 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 Import/Export 권한을 부여해야 합니다. * 대신 KMS 키의 Amazon 리소스 이름(ARN)을 리소스로 지정할 수 있습니다.

  5. (선택 사항) 라이선스 구성을 AMI에 연결하려면 파일에 다음 라이선스 관리자 권한을 추가합니다.

    { "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:SourceAccountaws: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:*" } } } ] }