本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-ShareEncryptedAMIOrEBSSnapshot
描述
本操作手册自动执行与其他亚马逊云科技账户共享加密Amazon Machine Image或亚马逊弹性区块存储快照的过程。本运行手册处理跨账户共享加密资源的复杂要求,包括 AWS Key Management Service 密钥策略修改和资源权限更新。
此自动化会执行 AWS 安全博客文章如何在账户之间共享加密的以启动加密AMI的 Amazon Elastic Compute Cloud 实例
重要注意事项
本运行手册将修改您的资源:运行手册将向您的 AWS KMS 客户托管密钥 (CMK) 策略添加跨账户权限,并向目标账户授予启动AMI权限或 Amazon EBS 快照创建卷权限。
可能会产生额外费用:复制资源(不同区域或 AWS 托管密钥加密)时,新的快照AMI或 Amazon EBS 快照以及任何跨区域数据传输都将产生额外费用。
请验证目标账户 ID:请仔细检查目标账户 ID,因为此操作手册无法验证账户是否存在。
通过手动验证自动回滚:如果更改失败,此运行手册会尝试自动回滚更改。但是,如果回滚本身失败,请确认您的账户中没有剩余的 AMI /Snapshot 副本,资源 LaunchPermission/CreateVolumePermission 属性不包括非预期账户,并且 AWS KMS 密钥策略处于其原始状态。
如何工作?
运行手册执行以下高级步骤:
验证输入资源的存在、状态和加密配置
检查目标账户当前的资源共享权限
分析 AWS KMS 关键策略并创建所有必需更改的全面预览
在进行任何更改之前,请先征得指定负责人的批准
执行已批准的更改,包括资源复制(如果需要)、权限更新和 AWS KMS 密钥策略修改
如果需要,提供包含回滚信息的全面执行报告
所需的 IAM 权限
AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。
该 AutomationAssumeRole 参数需要以下操作:
ec2: DescribeImages
ec2: DescribeSnapshots
ec2: DescribeImageAttribute
ec2: DescribeSnapshotAttribute
ec2: ModifyImageAttribute
ec2: ModifySnapshotAttribute
ec2: CopyImage
ec2: CopySnapshot
ec2: DeregisterImage
ec2: DeleteSnapshot
kms: DescribeKey
kms: GetKeyPolicy
kms: PutKeyPolicy
kms: CreateGrant
kms: GenerateDataKey *
kms: ReEncrypt *
kms:Decrypt
访问分析器:CheckAccessNotGranted
说明
按照这些步骤对自动化进行配置:
-
AWSSupport-ShareEncryptedAMIOrEBSSnapshot在 Systems Manager 的 “文档” 下导航至。 -
选择 Execute automation(执行自动化)。
-
对于输入参数,请输入以下内容:
-
AutomationAssumeRole (可选):
允许 Systems Manager Automation 代表您执行操作的 AWS AWS Identity and Access Management 角色的亚马逊资源名称。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
-
批准者(必填):
能够批准或拒绝操作的 AWS 经过身份验证的委托人列表。最大审批者数量为 10。您可以使用以下任一格式指定委托人:用户名、用户 ARN、IAM 角色 ARN 或 IAM 代入角色 ARN。
-
ResourceId (必填):
AMI或者要共享的亚马逊 EBS 快照 ID(例如 ami-123456789012 或 snap-123456789012)。
-
DestinationAccountId (必填):
将在其中共享资源的 12 位 AWS 账户 ID。
-
CustomerManagedKeyId (可选):
AWS KMS 用于重新加密资源的 CMK ID。如果资源使用 AWS 托管密钥加密,或者指定要进行跨区域复制, DestinationRegion 则为必填项。要进行跨区域复制,此密钥必须存在于目标区域。
-
DestinationRegion (可选):
资源将被复制到的 AWS 区域。默认值为当前区域。如果指定了其他区域,则将使用 CustomerManagedKeyId 参数中指定的 AWS KMS CMK 将资源复制到目标区域。
-
-
选择执行。
-
自动化启动。
-
文档将执行以下步骤:
-
ValidateResources:验证输入资源的存在、状态、加密配置,并确定共享所需的更改。
-
BranchOnResourcePermission:根据是否需要检查资源共享权限来分支工作流程。
-
CheckResourcePermission:检查目标账户是否拥有资源所需的共享权限。
-
AnalyzeChanges:分析 AWS KMS 关键策略并创建所有必需更改的全面预览。
-
BranchOnChanges:根据更改是否需要批准来分支工作流程。
-
GetApproval:等待指定的 AWS IAM 委托人批准后才能继续进行所需的更改。
-
ExecuteChanges:执行已批准的更改,并在失败时进行回滚。
-
Results:生成一份全面的执行报告,总结在加密AMI或快照共享过程中采取的所有操作。
-
-
完成后,查看“输出”部分以了解执行的详细结果。
目标账户的必填 AWS AWS Identity and Access Management 政策
目标账户中的 IAM 角色或用户必须配置以下 IAM 权限,才能从共享加密的 Amazon EC2 实例启动加密的 Amazon EC2 实例,AMI或者从共享的加密的 Amazon EBS 快照创建卷:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ReEncrypt*", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<region>:<account-id>:key/<key-id>" ] } ] }
参考
Systems Manager Automation