本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用客戶受管金鑰來加密叢集秘密
根據預設, AWS PCS 會將叢集秘密存放在使用 . AWS PCS AWS Secrets Manager 加密的 中 AWS 受管金鑰,不需要額外的授權即可使用 AWS 受管金鑰。或者,您可以使用客戶受管金鑰加密叢集秘密。客戶受管金鑰必須是與 AWS 區域 叢集相同 AWS 帳戶 和 中的對稱加密金鑰 (SYMMETRIC_DEFAULT、ENCRYPT_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 CLI 命令參考》中的 put-key-policy
-
AWS CLI 命令參考中的 create-key
-
《 AWS Key Management Service 開發人員指南》中的尋找金鑰 ID 和金鑰 ARN
-
AWS Key Management Service 《 AWS Key Management Service 開發人員指南》中的
-
AWS PCS 叢集秘密會儲存為 中的受管秘密 AWS Secrets Manager。
變更加密金鑰的許可
上一節中的許可適用於 AWS PCS 服務連結角色。變更連接至秘密之加密金鑰的 IAM 主體需要自己的許可,這些許可與服務連結角色分開。委託人需要下列許可:
-
secretsmanager:UpdateSecret叢集秘密上的 。 -
kms:Decrypt傳出金鑰 (目前加密秘密的金鑰)。 -
kms:GenerateDataKey傳入金鑰 (新金鑰)kms:Decrypt上的kms:Encrypt、 和 。
當您變更金鑰時, 會 AWS Secrets Manager 重新加密每個存放版本的秘密,包括 AWSCURRENT和 AWSPREVIOUS版本。
如需連接金鑰的程序,請參閱 連接金鑰並輪換秘密。
連接金鑰並輪換秘密
您可以使用 UpdateSecret操作將客戶受管金鑰連接到叢集秘密 AWS Secrets Manager 。 AWS PCS 不提供秘密加密金鑰的 API 參數。
下列範例會將客戶受管金鑰連接至叢集秘密。將預留位置取代為您的值。
aws secretsmanager update-secret \ --regionregion\ --secret-idsecret-arn\ --kms-key-idkey-arn
注意
客戶受管金鑰必須是與 AWS 帳戶 AWS 區域 秘密相同的對稱加密金鑰。您需要 中列出的許可變更加密金鑰的許可。
連接客戶受管金鑰後,請繼續輪換,讓 AWS PCS 產生以新連接的客戶受管金鑰加密的新叢集秘密。如需輪換程序,請參閱 在 AWS PCS 中輪換叢集秘密。