会話ログの IAM ポリシー - Amazon Lex

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

会話ログの IAM ポリシー

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

会話ログの IAM ロールとポリシーの作成

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

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

注記

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

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 左 AWS CLI、次のコマンドを実行して、会話ログのIAMロールを作成します。

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

次に、Amazon Lex V2 が CloudWatch ログに書き込めるようにするポリシーを作成してロールにアタッチします。 V2

会話テキストを CloudWatch ログに記録する IAMポリシーを作成するには
  1. という名前の現在のディレクトリにドキュメントを作成しLexConversationLogsCloudWatchLogsPolicy.json、次のIAMポリシーを追加して保存します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:*" } ] }
  2. 左 AWS CLI、 CloudWatch ログロググループに書き込みアクセス許可を付与するIAMポリシーを作成します。

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. 会話ログ用に作成した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 という現在のディレクトリにドキュメントを作成し、次のポリシーを追加して保存します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. 左 AWS CLI、S3 バケットに書き込みアクセス許可を付与するIAMポリシーを作成します。

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. 会話ログ用に作成したロールにポリシーをアタッチします。

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

IAM ロールを渡すアクセス許可の付与

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

次のポリシーは、ユーザー、ロール、またはグループに付与するアクセス許可を定義します。iam:AssociatedResourceArn 条件キーと iam:PassedToService 条件キーを使用して、アクセス許可の範囲を制限できます。詳細については、「 にロールを渡すアクセス許可をユーザーに付与する」を参照してください。 AWS サービスと IAM および AWS STS の条件コンテキストキー AWS Identity and Access Management ユーザーガイド

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