本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
VM Import/Export 所需的权限
虚拟机 Import/Export 要求您的用户、群组和角色拥有一定的权限。此外,还需要服务角色才能代表您执行某些操作。
所需的权限
您的用户、群组和角色需要在其 IAM policy 中拥有以下权限才能使用 VM Import/Export:
注意
有些操作需要使用 Amazon Simple Storage Service(Amazon S3)存储桶。此示例策略不授予创建 S3 存储桶的权限。您使用的用户或角色需要指定一个现有存储桶,或者需要有权使用 s3:CreateBucket
操作创建一个新的存储桶。
所需的服务角色
VM Import/Export 需要角色才能代表您执行某些操作。您必须vmimport
使用允许虚拟机代入该角色的信任关系策略文档创建一个名 Import/Export 为的服务角色,并且必须为该角色附加一个 IAM 策略。有关更多信息,请参阅《IAM 用户指南》中的 IAM 角色。
先决条件
您必须在计划使用虚拟机导入/导出的任何区域中启用 Amazon Security Token Service (Amazon STS)。有关更多信息,请参阅在Amazon 区域 Amazon STS 中激活和停用。
若要创建服务角色
-
在您的计算机上创建一个名为
trust-policy.json
的文件。将以下策略添加到该文件中: -
使用create-role命令创建名为的角色
vmimport
并授予虚拟机 Import/Export 访问该角色的权限。确保您已指定在上一步中创建的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
也是用于存放导出的磁盘映像的存储桶: -
(可选)要导入使用 Amazon KMS 密钥加密的资源 Amazon 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 密钥授予虚拟机 Import/Export 权限。您可以将 KMS 密钥的 Amazon 资源名称(ARN)指定为资源,而不是 *。
-
(可选)如果您想将许可证配置附加到 AMI,请向
role-policy.json
文件添加以下 License Manager 权限。{ "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
密钥来代入此角色: