View a markdown version of this page

AWSSupport-ShareEncryptedAMIOrEBSSnapshot - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

说明

按照这些步骤对自动化进行配置:

  1. AWSSupport-ShareEncryptedAMIOrEBSSnapshot在 Systems Manager 的 “文档” 下导航至。

  2. 选择 Execute automation(执行自动化)。

  3. 对于输入参数,请输入以下内容:

    • 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 将资源复制到目标区域。

  4. 选择执行。

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • ValidateResources:

      验证输入资源的存在、状态、加密配置,并确定共享所需的更改。

    • BranchOnResourcePermission:

      根据是否需要检查资源共享权限来分支工作流程。

    • CheckResourcePermission:

      检查目标账户是否拥有资源所需的共享权限。

    • AnalyzeChanges:

      分析 AWS KMS 关键策略并创建所有必需更改的全面预览。

    • BranchOnChanges:

      根据更改是否需要批准来分支工作流程。

    • GetApproval:

      等待指定的 AWS IAM 委托人批准后才能继续进行所需的更改。

    • ExecuteChanges:

      执行已批准的更改,并在失败时进行回滚。

    • Results:

      生成一份全面的执行报告,总结在加密AMI或快照共享过程中采取的所有操作。

  7. 完成后,查看“输出”部分以了解执行的详细结果。

目标账户的必填 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