

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Políticas do IAM para logs de conversa
<a name="conversation-logs-policies"></a>

Dependendo do tipo de registro selecionado, o Amazon Lex V2 exige permissão para usar os buckets Amazon CloudWatch Logs e Amazon Simple Storage Service (S3) para armazenar seus registros. Você deve criar funções e permissões do AWS Identity and Access Management para permitir que o Amazon Lex V2 acesse esses recursos. 

## Criar um perfil e políticas do IAM para logs de conversa
<a name="conversation-logs-role-and-policy"></a>

Para habilitar registros de conversas, você deve conceder permissão de gravação para CloudWatch Logs e Amazon S3. Se você habilitar a criptografia de objetos para seus objetos do S3, precisará conceder permissão de acesso às AWS KMS chaves usadas para criptografar os objetos. 

Você pode usar o console do IAM, a API do IAM ou o AWS Command Line Interface para criar a função e as políticas. Essas instruções usam a CLI da AWS para criar a função e as políticas.

**nota**  
O código a seguir é formatado para Linux e MacOS. Para Windows, substitua o caractere de continuação de linha do Linux (\\) pelo circunflexo (^).



**Para criar um perfil do IAM para logs de conversa**

1. Crie um documento no diretório atual chamado **LexConversationLogsAssumeRolePolicyDocument.json**, adicione o código a seguir a ele e salve-o. Esse documento de política adiciona o Amazon Lex V2 como uma entidade confiável ao perfil. Isso permite que o Amazon Lex V2 assuma a função de entregar registros aos recursos configurados para registros de conversas.

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

****  

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

------

1. Na AWS CLI, execute o comando a seguir para criar a função do IAM para registros de conversas.

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

Em seguida, crie e anexe uma política à função que permite que o Amazon Lex V2 grave em CloudWatch Logs. 

**Para criar uma política do IAM para registrar o texto da conversa no CloudWatch Logs**

1. Crie um documento no diretório atual chamado **LexConversationLogsCloudWatchLogsPolicy.json**, adicione a ele a política do IAM a seguir e salve-o.

1. Na AWS CLI, crie a política do IAM que concede permissão de gravação ao grupo de CloudWatch registros de registros.

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

1. Associe a política ao perfil do IAM criado para logs de conversa.

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

Se você estiver criando logs de áudio em um bucket do S3, crie uma política que permita ao Amazon Lex V2 gravar no bucket.

**Como criar uma política do IAM para criar logs de áudio em um bucket do S3**

1. Crie um documento no diretório atual chamado **LexConversationLogsS3Policy.json**, adicione a ele a política a seguir e salve-o.

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

****  

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

------

1. Na AWS CLI, crie a política do IAM que concede permissão de gravação ao seu bucket do S3.

   ```
   aws iam create-policy \
       --policy-name {{s3-policy-name}} \
       --policy-document file://LexConversationLogsS3Policy.json
   ```

1. Associe a política ao perfil criado para logs de conversa.

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

## Conceder permissão para passar um perfil do IAM
<a name="conversation-logs-pass-role"></a>

Quando você usa o console AWS Command Line Interface, o ou um SDK da AWS para especificar uma função do IAM a ser usada para registros de conversas, o usuário que especifica a função IAM dos registros de conversação deve ter permissão para passar a função para o Amazon Lex V2. Para permitir que o usuário passe o perfil ao Amazon Lex V2, é necessário conceder a permissão de `PassRole` ao usuário do IAM, ao perfil ou ao grupo do usuário. 

A política a seguir define a permissão que será concedida ao usuário, ao perfil ou ao grupo. É possível usar as chaves de condição `iam:AssociatedResourceArn` e `iam:PassedToService` para limitar o escopo da permissão. Para obter mais informações, consulte [Conceder permissões a um usuário para passar uma função para um serviço da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) e [chaves de contexto do IAM e da AWS STS condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) no *Guia do usuário do 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}}"
                }
            }
        }
    ]
}
```

------