

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

# 的加密最佳實務 AWS Secrets Manager
<a name="secrets-manager"></a>

[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 可協助您將程式碼中的硬式編碼憑證 (包括密碼) 取代為 Secrets Manager 的 API 呼叫，以便透過程式設計方法來擷取機密。Secrets Manager 與 整合 AWS KMS ，使用 保護的唯一資料金鑰來加密每個秘密值的每個版本 AWS KMS key。此整合使用永遠不會 AWS KMS 保持未加密的加密金鑰來保護存放的秘密。您也可以定義 KMS 金鑰的自訂許可，以稽核產生、加密及解密用來保護儲存機密的資料金鑰的操作。如需詳細資訊，請參閱 [AWS Secrets Manager中的機密加密和解密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)。

請考慮此服務的下列加密最佳實務：
+ 在大多數情況下，我們建議使用 `aws/secretsmanager` AWS 受管金鑰來加密秘密。使用它無需付費。
+ 若要能夠從另一個帳戶存取秘密，或將金鑰政策套用至加密金鑰，請使用客戶受管金鑰來加密秘密。
  + 在金鑰政策中，將值指派給 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) `secretsmanager.<region>.amazonaws.com` 條件金鑰。這會將金鑰的使用限制為僅來自 Secrets Manager 的請求。
  + 若要進一步限制金鑰的使用僅限於具有正確內容的 Secrets Manager 請求，請使用 [Secrets Manager 加密內容](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-encryption-context)中的金鑰或值，作為使用 KMS 金鑰的條件，方法是建立：
    + IAM 政策或金鑰政策中的[字串條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String) 
    + 授權中的[授予限制條件](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html)