跳至內容

如何跨帳戶共用加密的 AMI 或快照,以啟動加密的 Amazon EC2 執行個體?

3 分的閱讀內容
0

我想跨 AWS 帳戶共用加密的 Amazon Machine Image (AMI) 或加密的 Amazon Elastic Block Store (Amazon EBS) 快照。我想使用 AMI 或快照啟動加密的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。

簡要說明

若要跨帳戶及 AWS 區域自動共用加密的 AMI 或 Amazon EBS 快照,請使用 AWSSupport-ShareEncryptedAMIOrEBSSnapshot 執行手冊。

您也可以手動調整組態,以共用加密的 AMI 和快照。

重要: AWSSupport-ShareEncryptedAMIOrEBSSnapshot 執行手冊會修改您的資源,以設定跨帳戶存取權。跨區域複製資源可能會產生費用。如果您使用 AWS 受管金鑰,執行手冊會自動建立客戶自管金鑰。執行手冊會使用該金鑰複製及共用 AMI 或快照。您無法使用 AWS 受管金鑰手動共用加密的 AMI 或快照。

解決方法

注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確認您使用的是最新版本的 AWS CLI。

使用 AWSSupport-ShareEncryptedAMIOrEBSSnapshot 自動共用加密的 AMI 或 Amazon EBS 快照

先決條件: 請確定您符合以下組態需求:

  • 您具有正確的目的地帳戶 ID。
  • 您的 AWS Identity and Access Management (IAM) 使用者或角色具有必要權限。如需更多資訊,請參閱 AWSSupport-ShareEncryptedAMIOrEBSSnapshot 上必要的 IAM 權限。
  • 目的地帳戶允許其使用者或角色使用來源帳戶的 AWS Key Management Service (KMS) 金鑰啟動加密的執行個體。如需 IAM 政策範例,請參閱 AWSSupport-ShareEncryptedAMIOrEBSSnapshot 上的目的地帳戶所需的 AWS AWS Identity and Access Management 政策。
    注意: 執行手冊會自動修改來源帳戶中的 AWS KMS key 政策,以授予目的地帳戶跨帳戶存取權。您只需設定目的地帳戶中的 IAM 使用者或角色權限。
  • AMI 處於可用狀態,或 Amazon EBS 快照處於已完成狀態。
  • 若要跨區域複製,目的地區域中必須存在客戶自管 AWS KMS key,且其狀態必須設定為已啟用。若要檢查金鑰狀態,請執行以下 describe-key AWS CLI 命令:
    aws kms describe-key --key-id key-example-id --region destination-region
    注意: 將 key-example-id 替換為您的 AWS KMS key ID,並將 destination-region 替換為目的地帳戶所在的區域。
  • 客戶自管 AWS KMS key 不得為 AWS 受管金鑰。

若要執行執行手冊,請參閱 AWSSupport-ShareEncryptedAMIOrEBSSnapshot 上的操作說明。請務必在擁有該 AMI 或快照的來源帳戶中執行執行手冊。

注意: 如果執行手冊失敗,系統會自動回復變更。但是,如果回復失敗,請手動檢查您的帳戶,確認其中沒有額外的 AMI 或快照複本。此外,請確定 LaunchPermission 和 CreateVolumePermission 只列出必要帳戶,且 AWS KMS key 政策已恢復為原始狀態。

手動共用加密的 AMI

先決條件: 請確定您符合共用 AMI 的要求。

若要跨帳戶手動共用加密的 AMI,請完成以下步驟:

  1. 檢閱 AMI 加密詳細資訊。
    注意: 您無法跨帳戶共用 AWS 受管金鑰。因此,您無法共用以預設 AWS 受管金鑰加密的 AMI。如果您使用 AWS 受管金鑰加密 AMI,請複製 AMI,並使用客戶自管金鑰加密新的 AMI。
  2. 與目的地帳戶共用 AMI。
    注意: 目的地帳戶是使用共用的自訂 AMI 啟動加密 EC2 執行個體的帳戶。
  3. 編輯金鑰政策,以允許目的地帳戶中的使用者存取 AWS KMS key。
  4. 在目的地帳戶中建立 IAM 使用者或角色。然後,將政策附加至該角色,授予其 AWS KMS key 的 DescribeKey、ReEncrypt*、Decrypt、GenerateDataKeyWithoutPlainText 和 CreateGrant 權限。
    政策範例:
    {  "Version": "2012-10-17",  "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:DescribeKey",
            "kms:ReEncrypt*",
            "kms:Decrypt",
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:CreateGrant"
          ],
          "Resource": [
            "arn:aws:kms:us-east-1:111111111111:key/cmkSource"
          ]
        }
      ]
    }
    注意: 將 111111111111 替換為包含加密 AMI 的來源帳戶 ID,將 us-east-1 替換為您的區域,並將 cmkSource 替換為客戶自管金鑰的 ID。
  5. 若要從共用 AMI 啟動執行個體,請在目的地帳戶中開啟 Amazon EC2 主控台。
  6. 在導覽窗格中,選擇 EC2 dashboard (EC2 儀表板),然後選擇 Launch instance (啟動執行個體)。
  7. 在 Names and tags (名稱與標籤) 下,於 Name (名稱) 輸入 EC2 執行個體的名稱。
  8. 在 Application and OS Images (Amazon Machine Image) (應用程式與作業系統映像檔 (Amazon Machine Image)) 下,選擇 Browse more AMIs (瀏覽更多 AMI),以尋找共用的加密 AMI。
  9. 選擇 My AMIs (我的 AMI),然後選擇 Shared with me (與我共用)。
  10. 在 Instance type (執行個體類型) 下,選取執行個體類型。
  11. 在 Key pair (login) (金鑰對 (登入)) 下,於 Key pair name (金鑰對名稱) 選取金鑰對。或者,建立新的金鑰對。
  12. (選用) 在 Network settings (網路設定) 下,選擇 Edit (編輯),然後選取您的虛擬私有雲端 (VPC) 或子網路。
  13. 在 Configure storage (設定儲存空間) 下,選擇 Advanced (進階)。
  14. 在 EBS Volumes (EBS 磁碟區) 下,展開 Volume (磁碟區)。
  15. 在 Encrypted (加密) 下,選擇 Encrypted (加密)。
  16. 在 KMS key (KMS 金鑰) 下,選擇 Specify a custom value (指定自訂值),然後輸入金鑰的完整 Amazon Resource Name (ARN),例如 arn:aws:kms:us-east-1:111111111111:key/key-id。
    注意: 如果您未選擇 AWS KMS key,Amazon EC2 會使用目的地帳戶的預設金鑰進行 Amazon EBS 加密。
  17. 在 Summary (摘要) 下,選擇 Launch instance (啟動執行個體)。

手動共用加密的快照

先決條件: 請確定您符合共用快照的要求。

若要跨帳戶手動共用加密的快照,請完成以下步驟:

  1. 檢閱快照加密詳細資訊。
    注意: 您無法跨帳戶共用 AWS 受管金鑰。因此,您無法共用以預設 AWS 受管金鑰加密的快照。如果您使用 AWS 受管金鑰加密快照,請複製快照,並使用客戶自管金鑰加密新的快照。
  2. 與目的地帳戶共用快照。
    注意: 目的地帳戶是從共用的加密快照建立磁碟區的帳戶。
  3. 編輯金鑰政策,以允許目的地帳戶中的使用者存取 AWS KMS key。
  4. 在目的地帳戶中建立 IAM 使用者或角色。然後,將政策附加至該角色,授予其 AWS KMS key 的 DescribeKey、ReEncrypt*、Decrypt、GenerateDataKeyWithoutPlainText 和 CreateGrant 權限。
    政策範例:
    {  "Version": "2012-10-17",  "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:DescribeKey",
            "kms:ReEncrypt*",
            "kms:Decrypt",
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:CreateGrant"
          ],
          "Resource": [
            "arn:aws:kms:us-east-1:111111111111:key/cmkSource"
          ]
        }
      ]
    }
    注意: 將 111111111111 替換為包含加密 AMI 的來源帳戶 ID,將 us-east-1 替換為您的區域,並將 cmkSource 替換為客戶自管金鑰的 ID。
  5. 在目的地帳戶中從共用快照建立磁碟區。

相關資訊

如何與另一個 AWS 帳戶私下共用 Amazon Machine Image (AMI)?

執行個體啟動情境

啟動 Amazon EC2 執行個體

如何從自訂 AMI 啟動 EC2 執行個體?

如何跨帳戶共用加密的 AMI,以啟動加密的 EC2 執行個體