

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
<a name="conversation-logs-policies"></a>

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 funciones y permisos de AWS Identity and Access Management para que Amazon Lex V2 pueda acceder a estos recursos. 

## Crear un rol de IAM y políticas para registros de conversación
<a name="conversation-logs-role-and-policy"></a>

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 utilizar la consola de IAM, la API de IAM o la AWS Command Line Interface para crear el rol y las políticas. Estas instrucciones utilizan la CLI de AWS 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 (\$1) por un signo de intercalación (^).



**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. En este documento de política se agrega a Amazon Lex V2 como entidad de confianza para el rol. Esto permite a Amazon Lex V2 asumir la función de entregar registros a los recursos configurados para los registros de conversaciones.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lexv2.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. En la AWS CLI, ejecute el siguiente comando para crear el rol de IAM 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 política de IAM para registrar el texto de una conversación en Logs CloudWatch**

1. Cree un documento en el directorio actual llamado **LexConversationLogsCloudWatchLogsPolicy.json**, agregue la siguiente política de IAM y guárdelo.

1. En la AWS CLI, cree la política de IAM que concede permisos de escritura al grupo de CloudWatch registros Logs.

   ```
   aws iam create-policy \
       --policy-name cloudwatch-policy-name \
       --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
   ```

1. Asocie la política al rol de IAM que creó 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 V2 escribir en el bucket.

**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.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::bucket-name/*"
         }
     ]
   }
   ```

------

1. En la AWS 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
   ```

1. 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
   ```

## Conceder permisos para pasar un rol de IAM
<a name="conversation-logs-pass-role"></a>

Si utiliza la consola AWS Command Line Interface, el o un SDK de AWS para especificar una función de IAM para 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 V2. Para permitir que el usuario pase el rol a Amazon Lex V2, debe conceder permiso `PassRole` al usuario, rol o grupo de IAM 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 permisos a un usuario para transferir un rol a un servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) y a un [IAM y claves de contexto de AWS STS condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) en la *Guía del usuario de AWS Identity and Access Management*.

------
#### [ JSON ]

****  

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

------