

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

# シークレットとリソースポリシーの管理
<a name="managing-secrets-resource-policies"></a>

[サードパーティーの音声プロバイダーを設定する](configure-third-party-speech-providers.md)ときは、音声プロバイダーの API キーを含むシークレットを Secrets Manager で作成する必要があります。シークレットの作成は 2 ステップのプロセスです。
+ API キーを含むシークレットを作成します。手順については、[「 AWS Secrets Manager シークレットの作成](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)」を参照してください。
+ 必要なアクセス許可を設定します。
  + リソースベースのポリシーをシークレットにアタッチします。
  + シークレットに関連付けられた KMS キー (API キーではない) にリソースベースのポリシーをアタッチします。KMS キーはシークレット内の API キーを保護します。

  これらのポリシーにより、Amazon Connect はシークレット内の API キーにアクセスできます。デフォルトの KMS `aws/secretsmanager` キーは使用できないことに注意してください。新しいキーを作成するか、既存のカスタマーマネージドキーを使用する必要があります。KMS キーがシークレットを保護する方法の詳細については、Secrets [Manager の「シークレットの暗号化と復号](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)」を参照してください。

シークレットのリソースベースのポリシーに `aws:SourceAccount`および`aws:SourceArn`混乱した代理条件 ([「混乱した代理問題」を参照](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)) が含まれ、KMS キーのリソースベースのポリシーに `kms:EncryptionContext:SecretARN`条件が含まれていることを確認します。これにより、Amazon Connect は単一の特定のインスタンスのコンテキストでのみ API キーシークレットにアクセスでき、そのインスタンスと特定のシークレットの両方のコンテキストでのみ KMS キーにアクセスできます。

## Secrets Manager シークレットのリソースベースのポリシーの例
<a name="example-resource-policy-secrets-manager"></a>

以下は、シークレットにアタッチできるリソースベースのポリシーの例です。

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///"
        }
      }
    }
  ]
}
```

## のリソースベースのポリシーの例 AWS KMS key
<a name="example-resource-policy-kms-keys"></a>

以下は、KMS キーにアタッチできるリソースベースのポリシーの例です。

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///",
          "kms:EncryptionContext:SecretARN": "///the ARN of your secrets manager secret///"
        }
      }
    }
  ]
}
```

## Secrets Manager シークレットにリソースベースのポリシーをアタッチする
<a name="attaching-resource-policy-secrets-manager"></a>

リソースベースのポリシーをシークレットにアタッチするには、 内の Secrets Manager コンソールに移動し AWS マネジメントコンソール、シークレットに移動して、アクセス**許可またはリソースアクセス許可の編集**を選択し、リソースポリシーをページに直接追加または変更して[、例](#example-resource-policy-secrets-manager)のようになります。 ****リソースポリシーは、 AWS CLIコマンドを使用してアタッチすることも`put-resource-policy`、[PutResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html) API オペレーションを使用してプログラムでアタッチすることもできます。

## リソースベースのポリシーを KMS キーにアタッチする
<a name="attaching-resource-policy-kms-key"></a>

リソースベースのポリシーを KMS キーにアタッチするには、 内の AWS Key Management Service コンソールに移動し AWS マネジメントコンソール、KMS キーに移動して、キーポリシーを編集して[例](#example-resource-policy-kms-keys)のようになります。キーは、 AWS CLIコマンドを使用して更新することも`put-key-policy`、[PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) API オペレーションを使用してプログラムで更新することもできます。

## API キーの更新
<a name="rotating-api-keys"></a>

API キーを少なくとも 90 日ごとにローテーションして、侵害のリスクを最小限に抑え、緊急事態に備えて十分に実践されたキーローテーションプロセスを維持することをお勧めします。

API キーをローテーションするには、そのキーが含まれているシークレットをローテーションする必要があります。[シークレットのローテーション方法の詳細については、「Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) *ユーザーガイド」の「Secrets Manager* シークレットのローテーション」を参照してください。API キーをローテーションするときは、以前のキーの使用量がゼロになるまで待ってから、古い API キーを取り消して、進行中のリクエストが影響を受けないようにすることをお勧めします。