本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
VM Import/Export 必要許可
VM Import/Export 需要使用者、群組和角色的特定許可。此外,需要服務角色才能代表您執行特定作業。
所需的許可
您的使用者、群組和角色在其IAM原則中需要下列權限,才能使用虛擬機器匯入/匯出:
注意
某些動作需要使用亞馬遜簡單儲存服務 (Amazon S3) 儲存貯體。此範例政策並未授予建立 S3 儲存貯體的權限。您使用的使用者或角色必須指定現有值區,或具有使用s3:CreateBucket
動作建立新值區的權限。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-import-bucket
", "arn:aws:s3:::amzn-s3-demo-import-bucket
/*", "arn:aws:s3:::amzn-s3-demo-export-bucket
", "arn:aws:s3:::amzn-s3-demo-export-bucket
/*" ] }, { "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 需要代表您執行特定操作的角色。您必須建立以信任關係原則文件命名vmimport
的服務角色,該文件允許虛擬機器匯入/匯出擔任該角色,而且您必須將IAM原則附加至該角色。如需詳細資訊,請參閱《使用指南》中的IAM〈IAM角色〉。
先決條件
您必須啟用 AWS Security Token Service (AWS STS) 在您計劃使用虛擬機器匯入/匯出的任何區域中。如需詳細資訊,請參閱啟用和停用 AWS STS 在一個 AWS 區域。
建立服務角色
-
在您的電腦上建立名為
trust-policy.json
的檔案。將下列政策新增至檔案:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
-
使用 create-role命令可建立名為的角色,
vmimport
並授與虛擬機器匯入/匯出存取權限。請確定您已針對在上個步驟中建立的trust-policy.json
檔案指定完整的位置路徑,且您已如以下範例所示,在路徑中加入file://
字首:aws iam create-role --role-name vmimport --assume-role-policy-document "file://
C:\import\trust-policy.json
" -
創建一個以下策略命名
role-policy.json
的文件,其中amzn-s3-demo-import-bucket
是匯入磁碟映像檔的儲存貯體,amzn-s3-demo-export-bucket
是匯出磁碟映像檔的儲存貯體:{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-import-bucket
", "arn:aws:s3:::amzn-s3-demo-import-bucket
/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-export-bucket
", "arn:aws:s3:::amzn-s3-demo-export-bucket
/*" ] }, { "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] } -
(選擇性) 若要匯入使用 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 提供的預設KMS金鑰以外的金鑰EBS,如果您預設啟用 Amazon 加密或在匯入作業啟用EBS加密,則必須授與 VM 匯入/匯入權限給該KMS金鑰。您可以將KMS金鑰的 Amazon 資源名稱 (ARN) 指定為資源,而不是 *。
-
(選擇性) 若要將授權組態附加至AMI,請將以下 License Manager 權限新增至
role-policy.json
檔案。{ "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
-
使用以下內容 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
" -
對於其他安全控制項,可以將內容金鑰 (例如
aws:SourceAccount
和aws:SourceArn
) 新增至此新建立角色的信任政策。VM Import/Export 將依照下列範例中指定的方式發佈SourceAccount
和SourceArn
金鑰,以承擔此角色:{ "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
:*" } } } ] }