本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
變更的加密金鑰 AWS Secrets Manager 秘密
Secrets Manager 使用信封加密 AWS KMS 用於保護每個密鑰值的密鑰和數據鍵。對於每個密碼,您可以選擇要使用的KMS金鑰。您可以使用 AWS 受管金鑰 aws/秘密管理器,或者您可以使用客戶管理的密鑰。在大多數情況下,我們建議使用 aws/secretsmanager,使用這個無需付費。如果您需要從另一個訪問秘密 AWS 帳戶,或者,如果您想使用自己的KMS密鑰,以便您可以輪換它或對其應用密鑰策略,請使用 客戶受管金鑰。 你必須有KMS金鑰的權限。如需有關使用客戶受管金鑰的成本的資訊,請參閱 定價。
您可以變更秘密的加密金鑰。例如,如果您想要從其他帳戶存取密碼,且密碼目前已使用 AWS 託管密鑰aws/secretsmanager
,您可以切換到 客戶受管金鑰.
提示
如果你想旋轉你的 客戶受管金鑰,我們建議使用 AWS KMS 自動鍵旋轉。如需詳細資訊,請參閱旋轉 AWS KMS 鑰匙。
當您變更加密金鑰時,Secrets Manager 會使用新金鑰重新加密AWSCURRENT
和AWSPREVIOUS
版本。AWSPENDING
為了避免將您鎖定在密碼之外,Secrets Manager 會使用先前的金鑰加密所有現有版本。這表示您可以使用先前的金鑰或新金鑰來解密AWSCURRENT
AWSPENDING
、和AWSPREVIOUS
版本。如果您沒有先前金鑰的kms:Decrypt
權限,當您變更加密金鑰時,Secrets Manager 無法解密密碼版本以重新加密它們。在這種情況下,現有版本不會重新加密。
為了使其只AWSCURRENT
能通過新的加密密鑰進行解密,請使用新密鑰創建一個新版本的密鑰。然後,為了能夠解密密鑰版本,您必須具有新密鑰的權限。AWSCURRENT
如果停用先前的加密金鑰,則除了 AWSCURRENT
、AWSPENDING
和 AWSPREVIOUS
之外,您將無法解密任何秘密版本。如果您有其他要保留存取的標記秘密版本,則需要使用 AWS CLI,以新的加密金鑰重新建立這些版本。
若要變更秘密的加密金鑰 (主控台)
開啟 Secrets Manager 主控台,位於https://console.aws.amazon.com/secretsmanager/
。 -
從秘密清單中選擇秘密。
-
在秘密詳細資訊頁面上,在秘密詳細資訊區段中,選擇動作,然後選擇編輯加密金鑰。
AWS CLI
如果您變更秘密的加密金鑰,然後停用先前的加密金鑰,則除了 AWSCURRENT
、AWSPENDING
和 AWSPREVIOUS
之外,您將無法解密任何秘密版本。如果您有其他要保留存取的標記秘密版本,則需要使用 AWS CLI,以新的加密金鑰重新建立這些版本。
若要變更密碼的加密金鑰 (AWS CLI)
-
下列
update-secret
範例會更新用來加密密碼值的KMS金鑰。KMS金鑰必須與密碼位於相同的區域。aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
-
(選擇性) 如果您有具有自訂標籤的秘密版本,若要使用新金鑰重新加密,則您必須重新建立這些版本。
在命令 shell 中輸入命令時,存在命令歷史記錄被存取或公用程式存取命令參數的風險。請參閱 降低使用 AWS CLI 儲存 AWS Secrets Manager 秘密的風險。
-
取得秘密版本的值。
aws secretsmanager get-secret-value \ --secret-id MyTestSecret \ --version-stage MyCustomLabel
記下秘密值。
-
使用該值建立新版本。
aws secretsmanager put-secret-value \ --secret-id testDescriptionUpdate \ --secret-string "SecretValue" \ --version-stages "MyCustomLabel"
-