

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

 **Description** 

此 Runbook 會自動將加密Amazon Machine Image的 或 Amazon Elastic Block Store 快照與其他 Amazon Web Services 帳戶共用的程序。此 Runbook 處理跨帳戶共用加密資源的複雜需求，包括 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/)。

**重要考量**  
**此 Runbook 將修改您的資源**：Runbook 會將跨帳戶許可新增至您的 AWS KMS 客戶受管金鑰 (CMK) 政策，並將AMI啟動許可或 Amazon EBS 快照建立磁碟區許可授予目的地帳戶。
**可能需支付額外費用**：複製資源 （不同區域或 AWS 受管金鑰加密） 時，新的 AMI或 Amazon EBS 快照和任何跨區域資料傳輸都會產生額外費用。
**請驗證目的地帳戶 ID**：仔細檢查目的地帳戶 ID，因為此 Runbook 無法驗證帳戶是否存在。
具有**手動驗證的自動轉返**：此 Runbook 會嘗試在失敗時自動轉返變更。不過，如果轉返本身失敗，請確認您的帳戶中沒有留下額外的 AMI/快照副本，資源 LaunchPermission/CreateVolumePermission 屬性不包含非預期的帳戶，且 AWS KMS 金鑰政策處於原始狀態。

 **如何運作？** 

Runbook 會執行下列高階步驟：
+ 驗證輸入資源是否存在、狀態和加密組態
+ 使用目的地帳戶檢查目前的資源共用許可
+ 分析 AWS KMS 金鑰政策並建立所有必要變更的全面預覽
+ 在進行任何變更之前，請求指定委託人的核准
+ 執行核准的變更，包括資源複製 （如有需要）、許可更新和 AWS KMS 金鑰政策修改
+ 視需要提供包含轉返資訊的全方位執行報告

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

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。

AutomationAssumeRole 參數需要下列動作：
+ ec2:DescribeImages
+ ec2:DescribeSnapshots
+ ec2:DescribeImageAttribute
+ ec2:DescribeSnapshotAttribute
+ ec2:ModifyImageAttribute
+ ec2:ModifySnapshotAttribute
+ ec2:CopyImage
+ ec2:CopySnapshot
+ ec2:DeregisterImage
+ ec2:DeleteSnapshot
+ kms:描述金鑰
+ kms:GetKeyPolicy
+ kms:PutKeyPolicy
+ kms:創建權限
+ kms:GenerateDataKey\$1
+ kms:ReEncrypt\$1
+ kms:解密
+ accessanalyzer：CheckAccessNotGranted

 **指示** 

請依照下列步驟設定自動化：

1. 在文件下的 Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ShareEncryptedAMIOrEBSSnapshot/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ShareEncryptedAMIOrEBSSnapshot/description)中導覽至 。

1. 選擇 Execute automation (執行自動化)。

1. 針對輸入參數，輸入下列內容：
   + **AutomationAssumeRole （選用）：**

     允許 Systems Manager Automation 代表您執行動作 AWS AWS Identity and Access Management 的角色的 Amazon Resource Name。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
   + **核准者 （必要）：**

     能夠核准或拒絕動作的已 AWS 驗證主體清單。核准者的數量上限為 10。您可以使用下列任何格式來指定委託人：使用者名稱、使用者 ARN、IAM 角色 ARN 或 IAM 擔任角色 ARN。
   + **ResourceId （必要）：**

     AMI 或要共用的 Amazon 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`**:

     等待指定 IAM AWS 委託人的核准，以繼續必要的變更。
   + **`ExecuteChanges`**:

     執行核准的變更，並在失敗時轉返。
   + **`Results`**:

     產生完整的執行報告，摘要說明在加密AMI或快照共用程序期間採取的所有動作。

1. 完成後，請檢閱輸出區段以取得執行的詳細結果。

 **目的地帳戶的必要 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
+ [執行此自動化 （主控台）](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)
+ [支援自動化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)
+ [共用 AWS KMS 金鑰](https://docs.aws.amazon.com//ebs/latest/userguide/share-kms-key.html)