

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# の暗号化のベストプラクティス 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 マネージドキーを使用してシークレットを暗号化することをお勧めします。この使用には費用は発生しません。
+ 別のアカウントからシークレットにアクセスしたり、暗号化キーにキーポリシーを適用したりするには、カスタマーマネージドキーを使用してシークレットを暗号化します。
  + キーポリシーで、値を `secretsmanager.<region>.amazonaws.com` [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) 条件キーに割り当てます。これにより、キーの使用が Secrets Manager からのリクエストのみに制限されます。
  + キーの使用をさらに制限して、正しいコンテキストを持つ Secrets Manager からのリクエストのみを使用するには、以下を作成して KMS キーを使用する条件として [Secrets Manager 暗号化コンテキスト](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-encryption-context)のキーまたは値を使用します。
    + 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)