用于对话日志的 IAM 策略
根据您选择的日志记录类型,Amazon Lex V2 需要具有使用 Amazon CloudWatch Logs 和 Amazon Simple Storage Service(S3)存储桶的权限才能存储日志。您必须创建允许 Amazon Lex V2 访问这些资源的 AWS Identity and Access Management 角色和权限。
为对话日志创建 IAM 角色和策略
要启用对话日志,您必须授予对 CloudWatch Logs 和 Amazon S3 的写入权限。如果您为 S3 对象启用对象加密,则需要授予对用于加密对象的 AWS KMS 密钥的访问权限。
您可以使用 IAM 控制台、IAM API 或 AWS Command Line Interface 来创建角色和策略。这些说明使用 AWS CLI 创建角色和策略。
注意
以下代码针对 Linux 和 macOS 编排了格式。对于 Windows,将 Linux 行继续符(\)替换为脱字号(^)。
为对话日志创建 IAM 角色
-
在名为
LexConversationLogsAssumeRolePolicyDocument.json的当前目录中创建一个文档,向其中添加以下代码并保存。此策略文档将 Amazon Lex V2 作为受信任实体添加到角色中。这允许 Amazon Lex V2 代入将日志传送到为对话日志配置的资源的角色。 -
在 AWS CLI 中,运行以下命令为对话日志创建 IAM 角色。
aws iam create-role \ --role-namerole-name\ --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json
接下来,创建策略并将其附加到允许 Amazon Lex V2 写入到 CloudWatch Logs 的角色。
要创建用于将对话文本的日志记录到 CloudWatch Logs 的 IAM 策略,请执行以下操作:
-
在名为
LexConversationLogsCloudWatchLogsPolicy.json的当前目录中创建一个文档,向其中添加 IAM 策略并保存。 -
在 AWS CLI 中,创建向 CloudWatch Logs 日志组授予写入权限的 IAM 策略。
aws iam create-policy \ --policy-namecloudwatch-policy-name\ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json -
将该策略附加到您为对话日志创建的 IAM 角色中。
aws iam attach-role-policy \ --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name\ --role-namerole-name
如果要将音频日志记录到 S3 存储桶,请创建允许 Amazon Lex V2 写入存储桶的策略。
要创建用于将音频日志记录到 S3 存储桶中的 IAM 策略,请执行以下操作:
-
在名为
LexConversationLogsS3Policy.json的当前目录中创建一个文档,向其中添加以下策略并保存。 -
在 AWS CLI 中,创建向 S3 存储桶授予写入权限的 IAM 策略。
aws iam create-policy \ --policy-names3-policy-name\ --policy-document file://LexConversationLogsS3Policy.json -
将该策略附加到您为对话日志创建的角色。
aws iam attach-role-policy \ --policy-arn arn:aws:iam::account-id:policy/s3-policy-name\ --role-namerole-name
授予传递 IAM 角色的权限
使用控制台、AWS Command Line Interface 或 AWS 开发工具包指定用于对话日志的 IAM 角色时,指定对话日志 IAM 角色的用户必须具有将角色传递给 Amazon Lex V2 的权限。要允许用户将角色传递给 Amazon Lex V2,您必须向该用户的 IAM 用户、角色或组授予 PassRole 权限。
以下策略定义要授予用户、角色或组的权限。您可以使用 iam:AssociatedResourceArn 和 iam:PassedToService 条件键来限制权限的范围。有关更多信息,请参阅《AWS Identity and Access Management 用户指南》中的向用户授予将角色传递给 AWS 服务的权限以及 IAM 和 AWS STS 条件上下文键。