View a markdown version of this page

使用客戶受管金鑰來加密叢集秘密 - AWS PCS

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

使用客戶受管金鑰來加密叢集秘密

根據預設, AWS PCS 會將叢集秘密存放在使用 . AWS PCS AWS Secrets Manager 加密的 中 AWS 受管金鑰,不需要額外的授權即可使用 AWS 受管金鑰。或者,您可以使用客戶受管金鑰加密叢集秘密。客戶受管金鑰必須是與 AWS 區域 叢集相同 AWS 帳戶 和 中的對稱加密金鑰 (SYMMETRIC_DEFAULTENCRYPT_DECRYPT)。

連接至 AWS PCS 服務連結角色 AWSPCSServiceRolePolicy (AWSServiceRoleForPCS) 的 AWS 受管政策不會授予任何kms:許可。如果您在未編輯金鑰政策的情況下將客戶受管金鑰連接到秘密,則服務連結角色無法存取秘密。因此,秘密輪換和運算節點操作會失敗。如需 AWS PCS 服務連結角色的詳細資訊,請參閱 AWS PCS 的服務連結角色

必要的金鑰政策

將下列陳述式新增至客戶受管金鑰的金鑰政策。將 account-id 取代為您的 AWS 帳戶 ID。此陳述式提供 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:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "*" }

如需詳細資訊,請參閱:

變更加密金鑰的許可

上一節中的許可適用於 AWS PCS 服務連結角色。變更連接至秘密之加密金鑰的 IAM 主體需要自己的許可,這些許可與服務連結角色分開。委託人需要下列許可:

  • secretsmanager:UpdateSecret 叢集秘密上的 。

  • kms:Decrypt 傳出金鑰 (目前加密秘密的金鑰)。

  • kms:GenerateDataKey傳入金鑰 (新金鑰) kms:Decrypt 上的 kms:Encrypt、 和 。

當您變更金鑰時, 會 AWS Secrets Manager 重新加密每個存放版本的秘密,包括 AWSCURRENTAWSPREVIOUS版本。

如需連接金鑰的程序,請參閱 連接金鑰並輪換秘密

連接金鑰並輪換秘密

您可以使用 UpdateSecret操作將客戶受管金鑰連接到叢集秘密 AWS Secrets Manager 。 AWS PCS 不提供秘密加密金鑰的 API 參數。

下列範例會將客戶受管金鑰連接至叢集秘密。將預留位置取代為您的值。

aws secretsmanager update-secret \ --region region \ --secret-id secret-arn \ --kms-key-id key-arn
注意

客戶受管金鑰必須是與 AWS 帳戶 AWS 區域 秘密相同的對稱加密金鑰。您需要 中列出的許可變更加密金鑰的許可

連接客戶受管金鑰後,請繼續輪換,讓 AWS PCS 產生以新連接的客戶受管金鑰加密的新叢集秘密。如需輪換程序,請參閱 在 AWS PCS 中輪換叢集秘密