Políticas de IAM para registros de conversaciones - Amazon Lex V1

Esta documentación es para Amazon Lex V1. Si utiliza Amazon Lex V2, consulte laGuía de Amazon Lex V2en lugar de. Recomendamos utilizar Amazon Lex V2 para aprovechar las funciones más recientes.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Políticas de IAM para registros de conversaciones

Según el tipo de registro que seleccione, Amazon Lex requiere permiso para usar los cubos Amazon CloudWatch Logs y Amazon Simple Storage Service (S3) para almacenar los registros. Debe crearAWS Identity and Access Management roles y permisos para permitir que Amazon Lex acceda a estos recursos.

Creación de un rol de IAM y políticas para registros de conversación

Para habilitar los registros de conversaciones, debe conceder permisos de escritura para CloudWatch Logs y Amazon S3. Si habilita el cifrado de objetos para los objetos de S3, tiene que conceder permiso de acceso a las claves de AWS KMS utilizadas para cifrar los objetos.

Puede utilizar el IAMAWS Management Console, la API de IAM o elAWS Command Line Interface para crear el rol y las políticas. Estas instrucciones utilizan la AWS CLI para crear el rol y las políticas. Para obtener información sobre la creación de políticas con la consola, consulte Creación de políticas en la pestaña JSON de la Guía del usuario de AWS Identity and Access Management.

nota

El siguiente código tiene formato para Linux y MacOS. Para Windows, reemplace el carácter de continuación de línea de Linux (\) por un signo de intercalación (^).

Para crear un rol de IAM para los registros de conversación
  1. Cree un documento en el directorio actual llamado LexConversationLogsAssumeRolePolicyDocument.json, agregue el código siguiente y guárdelo. Este documento de política añade Amazon Lex como entidad de confianza al rol. Esto permite a Lex asumir el rol para entregar registros a los recursos configurados para registros de conversación.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lex.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. EnAWS CLI, ejecute el siguiente comando para crear el rol de IAM para los registros de conversación.

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

A continuación, cree una política y adjúntela al rol que permita a Amazon Lex escribir en CloudWatch Logs.

Para crear una política de IAM para registrar el texto de la conversación en CloudWatch Logs
  1. Cree un documento en el directorio actual llamadoLexConversationLogsCloudWatchLogsPolicy.json, añada la siguiente política de IAM y guárdelo.

    { "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. EnAWS CLI, cree la política de IAM que conceda permisos de escritura al grupo de CloudWatch registros de registros.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Adjunte la política de rol de IAM creado para los registros de conversación.

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

Si está registrando audio en un bucket de S3, cree una política que permita a Amazon Lex escribir en el bucket.

Para crear una política de IAM para el registro de audio en un bucket de S3
  1. Cree un documento en el directorio actual llamado LexConversationLogsS3Policy.json, agregue la siguiente política y guárdelo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. EnAWS CLI, cree la política de IAM que conceda permisos de escritura a su bucket de S3.

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. Asocie la política al rol que creó para los registros de conversación.

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

Concesión de permiso para aprobar una función de IAM

Cuando utilice la consolaAWS Command Line Interface, el o unAWS SDK para especificar una función de IAM que se utilizará en los registros de conversaciones, el usuario que especifique la función de IAM de los registros de conversaciones debe tener permiso para transferir la función a Amazon Lex. Para permitir al usuario transferir el rol a Amazon Lex, debe conceder elPassRole permiso al usuario, rol o grupo.

La política siguiente define el permiso para conceder al usuario, rol o grupo. Puede utilizar las claves de condición iam:AssociatedResourceArn y iam:PassedToService para limitar el alcance del permiso. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a unAWS servicio y Claves de contexto de IAM yAWS STS Condition en la Guía delAWS Identity and Access Management usuario.

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