选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

用于对话日志的 IAM 策略

聚焦模式
用于对话日志的 IAM 策略 - Amazon Lex

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

根据您选择的日志类型,Amazon Lex V2 需要权限才能使用亚马逊 CloudWatch 日志和亚马逊简单存储服务 (S3) 存储桶来存储您的日志。您必须创建 AWS Identity and Access Management 角色和权限才能让 Amazon Lex V2 访问这些资源。

为对话日志创建 IAM 角色和策略

要启用对话日志,您必须授予 CloudWatch 日志和 Amazon S3 的写入权限。如果您为 S3 对象启用对象加密,则需要向用于加密对象的 AWS KMS 密钥授予访问权限。

您可以使用 IAM 控制台、IAM API 或 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 日志。

创建用于将对话文本记录到 Log CloudWatch s 的 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 软件开发工具包指定用于对话日志的 IAM 角色时,指定对话日志 IAM 角色的用户必须有权将该角色传递给 Amazon Lex V2。要允许用户将角色传递给 Amazon Lex V2,您必须向该用户的 IAM 用户、角色或组授予 PassRole 权限。

以下策略定义要授予用户、角色或组的权限。您可以使用 iam:AssociatedResourceArniam: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" } } } ] }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。