

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

# `AWSSupport-ShareEncryptedAMIOrEBSSnapshot`
<a name="awssupport-share-encrypted-ami-or-ebs-snapshot"></a>

 **描述** 

本操作手册自动执行与其他亚马逊云科技账户共享加密Amazon Machine Image或亚马逊弹性区块存储快照的过程。本运行手册处理跨账户共享加密资源的复杂要求，包括 AWS Key Management Service 密钥策略修改和资源权限更新。

此自动化会执行 AWS 安全博客文章[如何在账户之间共享加密的以启动加密AMI的 Amazon Elastic Compute Cloud 实例](https://aws.amazon.com/blogs/security/how-to-share-encrypted-amis-across-accounts-to-launch-encrypted-ec2-instances/)中概述的步骤。

**重要注意事项**  
**本运行手册将修改您的资源**：运行手册将向您的 AWS KMS 客户托管密钥 (CMK) 策略添加跨账户权限，并向目标账户授予启动AMI权限或 Amazon EBS 快照创建卷权限。
**可能会产生额外费用**：复制资源（不同区域或 AWS 托管密钥加密）时，新的快照AMI或 Amazon EBS 快照以及任何跨区域数据传输都将产生额外费用。
**请验证目标账户 ID**：请仔细检查目标账户 ID，因为此操作手册无法验证账户是否存在。
**通过手动验证自动回滚**：如果更改失败，此运行手册会尝试自动回滚更改。但是，如果回滚本身失败，请确认您的账户中没有剩余的 AMI /Snapshot 副本，资源 LaunchPermission/CreateVolumePermission 属性不包括非预期账户，并且 AWS KMS 密钥策略处于其原始状态。

 **如何工作？** 

运行手册执行以下高级步骤：
+ 验证输入资源的存在、状态和加密配置
+ 检查目标账户当前的资源共享权限
+ 分析 AWS KMS 关键策略并创建所有必需更改的全面预览
+ 在进行任何更改之前，请先征得指定负责人的批准
+ 执行已批准的更改，包括资源复制（如果需要）、权限更新和 AWS KMS 密钥策略修改
+ 如果需要，提供包含回滚信息的全面执行报告

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ShareEncryptedAMIOrEBSSnapshot) 

**所需的 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 \$1
+ kms: ReEncrypt \$1
+ kms:Decrypt
+ 访问分析器：CheckAccessNotGranted

 **说明** 

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

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ShareEncryptedAMIOrEBSSnapshot/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ShareEncryptedAMIOrEBSSnapshot/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 Execute automation（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **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 将资源复制到目标区域。

1. 选择执行。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **`ValidateResources`**:

     验证输入资源的存在、状态、加密配置，并确定共享所需的更改。
   + **`BranchOnResourcePermission`**:

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

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

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

     根据更改是否需要批准来分支工作流程。
   + **`GetApproval`**:

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

     执行已批准的更改，并在失败时进行回滚。
   + **`Results`**:

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

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

 **目标账户的必填 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
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ShareEncryptedAMIOrEBSSnapshot/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support 自动化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)
+ [共享密 AWS KMS 钥](https://docs.aws.amazon.com//ebs/latest/userguide/share-kms-key.html)