Políticas do IAM para logs de conversa - Guia do desenvolvedor

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

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 AWS Identity and Access Management funções e permissões para permitir que o Amazon Lex V2 acesse esses recursos.

Criação de uma IAM função e políticas para registros de conversas

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 ao AWS KMS chaves usadas para criptografar os objetos.

Você pode usar o IAM console IAMAPI, o ou o AWS Command Line Interface para criar a função e as políticas. Essas instruções usam o AWS CLI 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 uma IAM função para registros de conversas
  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 assuma a função para entregar logs aos recursos configurados para logs de conversa.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. No painel, AWS CLI, execute o comando a seguir para criar a IAM função 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 IAM política para registrar o texto da conversa nos CloudWatch Registros
  1. Crie um documento no diretório atual chamadoLexConversationLogsCloudWatchLogsPolicy.json, adicione a seguinte IAM política a ele e salve-o.

    { "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. No painel, AWS CLI, crie a IAM política 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
  3. Anexe a política à IAM função que você criou para os registros de conversas.

    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.

Para criar uma IAM política para registro 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.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. No painel, AWS CLI, crie a IAM política 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
  3. 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

Concedendo permissão para aprovar uma função IAM

Quando você usa o console, o AWS Command Line Interface, ou um AWS SDKpara especificar uma IAM função a ser usada para registros de conversas, o usuário que especifica a IAM função de registros de conversas deve ter permissão para passar a função para o Amazon Lex V2. Para permitir que o usuário passe a função para o Amazon Lex V2, você deve conceder PassRole permissão ao IAM usuário, função ou 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 Concedendo permissões a um usuário para passar uma função para um AWS Serviço e IAM e AWS STS Chaves de contexto de condição no AWS Identity and Access Management Guia do usuário.

{ "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" } } } ] }