Políticas do IAM para logs de conversa
Dependendo do tipo de criação de log selecionado, o Amazon Lex V2 requer permissão para usar o Amazon CloudWatch Logs e buckets do Amazon Simple Storage Service (S3) para armazenar os logs. É necessário criar permissões e perfis do AWS Identity and Access Management para permitir que o Amazon Lex V2 acesse esses atributos.
Criar um perfil e políticas do IAM para logs de conversa
Para habilitar logs de conversa, é necessário conceder permissão de gravação para o CloudWatch Logs e o Amazon S3. Se você habilitar a criptografia de objeto para seus objetos do S3, deverá conceder permissão de acesso às chaves do AWS KMS usadas para criptografar os objetos.
Você pode usar o console do IAM, a API do IAM ou AWS Command Line Interface para criar a função e as políticas. Essas instruções usam a AWS CLI para criar o perfil 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
-
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 assumir a função para entregar logs aos recursos configurados para logs de conversa. -
No AWS CLI, execute o comando a seguir para criar o perfil do IAM para logs de conversa.
aws iam create-role \ --role-namerole-name\ --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json
Depois, crie e associe uma política ao perfil que permita ao Amazon Lex V2 gravar no CloudWatch Logs.
Como criar uma política do IAM para criar logs de texto da conversa no CloudWatch Logs
-
Crie um documento no diretório atual chamado
LexConversationLogsCloudWatchLogsPolicy.json, adicione a ele a política do IAM a seguir e salve-o. -
Na AWS CLI, crie a política do IAM que concede permissão de gravação ao grupo de logs do CloudWatch Logs.
aws iam create-policy \ --policy-namecloudwatch-policy-name\ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json -
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-namerole-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
-
Crie um documento no diretório atual chamado
LexConversationLogsS3Policy.json, adicione a ele a política a seguir e salve-o. -
Na AWS CLI, crie a política do IAM que concede permissão de gravação ao bucket do S3.
aws iam create-policy \ --policy-names3-policy-name\ --policy-document file://LexConversationLogsS3Policy.json -
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-namerole-name
Conceder permissão para passar um perfil do IAM
Quando você usa o console, a AWS Command Line Interface ou um SDK da AWS para especificar um perfil do IAM que será usado para logs de conversa, o usuário que especifica o perfil do IAM dos logs de conversa deve ter permissão para passar o perfil ao 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 um perfil a um serviço da AWS e Chaves de contexto de condição do IAM e do AWS STS no Guia do usuário do AWS Identity and Access Management.