View a markdown version of this page

AWSSupport-ShareEncryptedAMIOrEBSSnapshot - AWS Systems Manager Automation Runbook 參考

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

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

指示

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

  1. 在文件下的 Systems Manager AWSSupport-ShareEncryptedAMIOrEBSSnapshot中導覽至 。

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

  3. 針對輸入參數,輸入下列內容:

    • 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 複製到目的地區域。

  4. 選取執行。

  5. 自動化會啟動。

  6. 文件會執行下列步驟:

    • ValidateResources:

      驗證輸入資源的存在、狀態、加密組態,並確定共用所需的變更。

    • BranchOnResourcePermission:

      根據是否需要檢查資源共用許可來配置工作流程。

    • CheckResourcePermission:

      檢查目標帳戶是否具有資源所需的共用許可。

    • AnalyzeChanges:

      分析 AWS KMS 金鑰政策,並建立所有必要變更的完整預覽。

    • BranchOnChanges:

      根據變更是否需要核准來配置工作流程。

    • GetApproval:

      等待指定 IAM AWS 委託人的核准,以繼續必要的變更。

    • 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