Políticas de IAM para registros de conversación - Amazon Lex

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 conversación

Según el tipo de registro que seleccione, Amazon Lex V2 necesitará permiso para usar Amazon CloudWatch Logs y los depósitos de Amazon Simple Storage Service (S3) para almacenar sus registros. Debe crear AWS Identity and Access Management roles y permisos para que Amazon Lex V2 pueda acceder a estos recursos.

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

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

Puede usar la IAM consola IAMAPI, la o la AWS Command Line Interface para crear el rol y las políticas. Estas instrucciones utilizan el AWS CLI para crear el rol y las políticas.

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 IAM rol para los registros de conversaciones
  1. Cree un documento en el directorio actual llamado LexConversationLogsAssumeRolePolicyDocument.json, agregue el código siguiente y guárdelo. En este documento de política se agrega a Amazon Lex V2 como entidad de confianza para el rol. Esto permite a Amazon 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": "lexv2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. En el AWS CLI, ejecute el siguiente comando para crear el IAM rol para los registros de conversaciones.

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

A continuación, cree y adjunte una política al rol que permita a Amazon Lex V2 escribir en CloudWatch los registros.

Para crear una IAM política para registrar el texto de una conversación en CloudWatch Logs
  1. Cree un documento en el directorio actual denominadoLexConversationLogsCloudWatchLogsPolicy.json, agréguele la siguiente IAM política 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. En el AWS CLI, cree la IAM política que concede permisos de escritura al grupo de CloudWatch registros.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Adjunta la política al IAM rol que creaste para los registros de conversaciones.

    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 V2 escribir en el bucket.

Para crear una IAM política de 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. En el AWS CLI, cree la IAM política que otorga 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

Otorgar permiso para pasar un IAM rol

Cuando utilice la consola AWS Command Line Interface, o una AWS SDK para especificar un IAM rol para los registros de conversaciones, el usuario que especifique el IAM rol de registro de conversaciones debe tener permiso para transferir el rol a Amazon Lex V2. Para permitir que el usuario pase el rol a Amazon Lex V2, debe conceder PassRole permiso al IAM usuario, rol o grupo del usuario.

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 Otorgar a un usuario permisos para transferir un rol a un AWS servicio IAM y a las claves de contexto de las AWS STS condiciones en la Guía del AWS 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": "lexv2.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": "arn:aws:lex:region:account-id:bot:bot-name:bot-alias" } } } ] }