

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

# 会話ログの IAM ポリシー
<a name="conversation-logs-policies"></a>

選択したログ記録のタイプに応じて、Amazon Lex V2 には、ログを保存するために Amazon CloudWatch Logs と Amazon Simple Storage Service (S3) バケットを使用するアクセス許可が必要です。Amazon Lex V2 がこれらのリソースにアクセスできるようにするには、AWS Identity and Access Management ロールとアクセス許可を作成する必要があります。 Amazon Lex 

## 会話ログ用の IAM ロールとポリシーの作成
<a name="conversation-logs-role-and-policy"></a>

会話ログを有効にするには、CloudWatch Logs および Amazon S3 の書き込み権限を付与する必要があります。S3 オブジェクトのオブジェクト暗号化を有効にする場合は、オブジェクトの暗号化に使用される AWS KMS キーへのアクセス許可を付与する必要があります。

IAM コンソール、IAM API、または を使用して AWS Command Line Interface 、ロールとポリシーを作成できます。以下の手順では、AWS CLI を使用してロールとポリシーを作成します。

**注記**  
次のコードは、Linux と MacOS 用にフォーマットされています。Windows の場合、Linux 行連結記号 (\$1) をキャレット (^) に置き換えます。



**会話ログの IAM ロールを作成するには**

1. **LexConversationLogsAssumeRolePolicyDocument.json** という現在のディレクトリにドキュメントを作成し、次のコードを追加して保存します。このポリシードキュメントは、信頼されたエンティティとしてロールに Amazon Lex V2 を追加します。これにより、Amazon Lex V2 は、会話ログ用に設定されたリソースにログを配信するロールを引き受けることができます。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lexv2.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. AWS CLI で次のコマンドを実行して、会話ログの IAM ロールを作成します。

   ```
   aws iam create-role \
       --role-name role-name \
       --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json
   ```

次に、Amazon Lex V2 が CloudWatch Logs に書き込むことができるロールにポリシーを作成し、アタッチします。

**会話テキストを CloudWatch Logs にログ記録するための IAM ポリシーを作成するには**

1. **LexConversationLogsCloudWatchLogsPolicy.json** という現在のディレクトリにドキュメントを作成し、次の IAM ポリシーを追加して保存します。

1. AWS CLI で、CloudWatch Logs ロググループに書き込みアクセス許可を付与する IAM ポリシーを作成します。

   ```
   aws iam create-policy \
       --policy-name cloudwatch-policy-name \
       --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
   ```

1. 会話ログ用に作成した IAM ロールにポリシーをアタッチします。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name \
       --role-name role-name
   ```

オーディオを S3 バケットにログ記録する場合は、Amazon Lex V2 がバケットに書き込むことを可能にするポリシーを作成します。

**S3 バケットへのオーディオログ記録のための IAM ポリシーを作成するには**

1. **LexConversationLogsS3Policy.json** という現在のディレクトリにドキュメントを作成し、次のポリシーを追加して保存します。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::bucket-name/*"
         }
     ]
   }
   ```

------

1. AWS CLI で、S3 バケットへの書き込みアクセス許可を付与する IAM ポリシーを作成します。

   ```
   aws iam create-policy \
       --policy-name s3-policy-name \
       --policy-document file://LexConversationLogsS3Policy.json
   ```

1. 会話ログ用に作成したロールにポリシーをアタッチします。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/s3-policy-name \
       --role-name role-name
   ```

## IAM ロールを渡すアクセス許可の付与
<a name="conversation-logs-pass-role"></a>

コンソール、 AWS Command Line Interface、または AWS SDK を使用して会話ログに使用する IAM ロールを指定する場合、会話ログ IAM ロールを指定するユーザーには、ロールを Amazon Lex V2 に渡すアクセス許可が必要です。ユーザーが Amazon Lex V2 サービスにロールを渡すには、IAM ユーザー、ロール、またはグループに `PassRole` アクセス許可を付与する必要があります。

次のポリシーは、ユーザー、ロール、またはグループに付与するアクセス許可を定義します。`iam:AssociatedResourceArn` 条件キーと `iam:PassedToService` 条件キーを使用して、アクセス許可の範囲を制限できます。詳細については、AWS *AWS Identity and Access Managementユーザーガイド*[の「AWS サービスにロールを渡すアクセス許可をユーザーに付与する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)」および[「IAM および AWS STS 条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "lexv2.amazonaws.com"
                },
                "StringLike": {
                    "iam:AssociatedResourceARN": "arn:aws:lex:region:123456789012:bot:bot-name:bot-alias"
                }
            }
        }
    ]
}
```

------