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 Double-check ,因为此操作手册无法验证账户的存在。

  • 通过手动验证自动回滚:此运行手册尝试在失败时自动回滚更改。但是,如果回滚本身失败,请确认您的账户中没有剩余的 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 “系统管理器” 下的 “文档”。

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

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

    • AutomationAssumeRole (可选):

      允许系统管理员自动化代表您执行操作的 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 实例,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