本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-ShareEncryptedAMIOrEBSSnapshot
Description
此 Runbook 會自動將加密Amazon Machine Image的 或 Amazon Elastic Block Store 快照與其他 Amazon Web Services 帳戶共用的程序。此 Runbook 處理跨帳戶共用加密資源的複雜需求,包括 AWS Key Management Service 金鑰政策修改和資源許可更新。
此自動化會執行 AWS 安全部落格文章中概述的步驟。如何跨帳戶共用加密AMI的 ,以啟動加密的 Amazon Elastic Compute Cloud 執行個體
重要考量
此 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 金鑰政策修改
視需要提供包含轉返資訊的全方位執行報告
必要的 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*
kms:ReEncrypt*
kms:解密
accessanalyzer:CheckAccessNotGranted
指示
請依照下列步驟設定自動化:
-
在文件下的 Systems Manager
AWSSupport-ShareEncryptedAMIOrEBSSnapshot中導覽至 。 -
選擇 Execute automation (執行自動化)。
-
針對輸入參數,輸入下列內容:
-
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 複製到目的地區域。
-
-
選取執行。
-
自動化會啟動。
-
文件會執行下列步驟:
-
ValidateResources:驗證輸入資源的存在、狀態、加密組態,並確定共用所需的變更。
-
BranchOnResourcePermission:根據是否需要檢查資源共用許可來配置工作流程。
-
CheckResourcePermission:檢查目標帳戶是否具有資源所需的共用許可。
-
AnalyzeChanges:分析 AWS KMS 金鑰政策,並建立所有必要變更的完整預覽。
-
BranchOnChanges:根據變更是否需要核准來配置工作流程。
-
GetApproval:等待指定 IAM AWS 委託人的核准,以繼續必要的變更。
-
ExecuteChanges:執行核准的變更,並在失敗時轉返。
-
Results:產生完整的執行報告,摘要說明在加密AMI或快照共用程序期間採取的所有動作。
-
-
完成後,請檢閱輸出區段以取得執行的詳細結果。
目的地帳戶的必要 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