與 AWS PCS 中的加密 EBS 磁碟區搭配使用的必要 KMS 金鑰政策 - AWS PCS

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

與 AWS PCS 中的加密 EBS 磁碟區搭配使用的必要 KMS 金鑰政策

AWS PCS 使用服務連結角色將許可委派給其他 AWS 服務。 AWS PCS 服務連結角色已預先定義,並包含 AWS PCS AWS 服務 代表您呼叫其他 所需的許可。預先定義的許可也包括存取您的 AWS 受管金鑰 ,但無法存取您的客戶受管金鑰。

本主題說明如何在為 Amazon EBS 加密指定客戶受管金鑰時,設定啟動執行個體所需的金鑰政策。

注意

AWS PCS 不需要額外的授權,即可使用預設值 AWS 受管金鑰 來保護您帳戶中的加密磁碟區。

概要

當 AWS PCS 啟動執行個體時,您可以使用下列項目 AWS KMS keys 進行 Amazon EBS 加密:

  • AWS 受管金鑰 – Amazon EBS 在您的帳戶中建立、擁有和管理的加密金鑰。這是新帳戶的預設加密金鑰。除非您指定客戶受管金鑰,否則 Amazon EBS 會使用 AWS 受管金鑰 進行加密。

  • 客戶受管金鑰 – 您建立、擁有和管理的自訂加密金鑰。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的建立 KMS 金鑰

    注意

    金鑰必須是對稱的。Amazon EBS 不支援非對稱客戶受管金鑰。

當您建立加密快照或指定加密磁碟區的啟動範本,或選擇預設啟用加密時,您可以設定客戶受管金鑰。

設定金鑰政策

您的 KMS 金鑰必須具有金鑰政策,允許 AWS PCS 使用客戶受管金鑰加密的 Amazon EBS 磁碟區啟動執行個體。

使用此頁面的範例來設定金鑰政策,讓 AWS PCS 存取您的客戶受管金鑰。您可以在建立金鑰時或稍後修改客戶受管金鑰的金鑰政策。

金鑰政策必須具有下列陳述式:

  • 允許 Principal元素中指定的 IAM 身分直接使用客戶受管金鑰的陳述式。它包含對金鑰執行 AWS KMS EncryptDecryptGenerateDataKey*ReEncrypt*DescribeKey操作的許可。

  • 陳述式,允許 Principal元素中指定的 IAM 身分使用 CreateGrant操作來產生授予,將其自身許可的子集委派給與 AWS KMS 或其他主體整合 AWS 服務 的 。這允許其使用金鑰來代表您建立加密資源。

當您將新的政策陳述式新增至金鑰政策時,請勿變更政策中的任何現有陳述式。

如需詳細資訊,請參閱:

範例 1:允許存取客戶受管金鑰的金鑰政策區段

將下列政策陳述式新增至客戶受管金鑰的金鑰政策。將範例 ARN 取代為您AWSServiceRoleForPCS服務連結角色的 ARN。此範例政策提供 AWS PCS 服務連結角色 (AWSServiceRoleForPCS) 使用客戶受管金鑰的許可。

{ "Sid": "Allow service-linked role use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleForPCS" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleForPCS" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }

範例 2:允許跨帳戶存取客戶受管金鑰的金鑰政策區段

如果您在與 AWS PCS 叢集不同的帳戶中建立客戶受管金鑰,您必須使用授權搭配金鑰政策,以允許跨帳戶存取金鑰。

授予 金鑰的存取權
  1. 將下列政策陳述式新增至客戶受管金鑰的金鑰政策。將範例 ARN 取代為另一個帳戶的 ARN。將 111122223333 取代 AWS 帳戶 為您要在其中建立 AWS PCS 叢集的 的實際帳戶 ID。這允許您為特定帳戶中的 IAM 使用者或角色授予許可,以使用下文的 CLI 命令為金鑰建立授權。根據預設,使用者無法存取 金鑰。

    {. "Sid": "Allow external account 111122223333 use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
    { "Sid": "Allow attachment of persistent resources in external account 111122223333", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*" }
  2. 從您要在其中建立 AWS PCS 叢集的帳戶建立授予,將相關許可委派給 AWS PCS 服務連結角色。的值grantee-principal是服務連結角色的 ARN。的值key-id是金鑰的 ARN。

    下列 create-grant CLI 命令範例提供帳戶 111122223333 AWSServiceRoleForPCS中名為 的服務連結角色許可,以使用帳戶 444455556666 中的客戶受管金鑰。

    aws kms create-grant \ --region us-west-2 \ --key-id arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d \ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleForPCS \ --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
    注意

    提出請求的使用者必須具有使用 kms:CreateGrant動作的許可。

    下列 IAM 政策範例允許帳戶 111122223333 中的 IAM 身分 (使用者或角色),為帳戶 444455556666 中的客戶受管金鑰建立許可。

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreationOfGrantForTheKMSKeyinExternalAccount444455556666", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" } ] }

    如需在其他 AWS 帳戶中為 KMS 金鑰建立授權的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的「AWS KMS中的授權」。

    重要

    指定為承授者主體的服務連結角色名稱必須是現有角色的名稱。建立授予之後,為了確保授予允許 AWS PCS 使用指定的 KMS 金鑰,請勿刪除並重新建立服務連結角色。

在 AWS KMS 主控台編輯金鑰政策

前幾節的範例僅顯示如何對金鑰政策新增陳述式,而這只是其中一個用來變更金鑰政策的方法。變更金鑰政策的最簡單方法是針對金鑰政策使用 AWS KMS 主控台的預設檢視,並將 IAM 身分 (使用者或角色) 設為適當金鑰政策的其中一個金鑰使用者。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的使用 AWS Management Console 預設檢視

警告

主控台的預設檢視政策陳述式包含對客戶受管金鑰執行 AWS KMS Revoke操作的許可。如果您撤銷授予您帳戶中客戶受管金鑰 AWS 帳戶 存取權的授予,則 中的使用者會 AWS 帳戶 失去加密資料和金鑰的存取權。