Criteri IAM per i registri delle conversazioni - Amazon Lex versione 1

Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.

 

Se utilizzi Amazon Lex V1, ti consigliamo di aggiornare i bot ad Amazon Lex V2. Non stiamo più aggiungendo nuove funzionalità alla V1 e consigliamo vivamente di utilizzare la V2 per tutti i nuovi bot.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Criteri IAM per i registri delle conversazioni

A seconda del tipo di registrazione selezionato, Amazon Lex richiede l'autorizzazione per utilizzare i bucket Amazon CloudWatch Logs e Amazon Simple Storage Service (S3) per archiviare i log. È necessario creareAWS Identity and Access Management ruoli e autorizzazioni per consentire ad Amazon Lex di accedere a queste risorse.

Creazione di un ruolo IAM e delle policy per i log delle conversazioni

Per abilitare i log delle conversazioni, devi concedere l'autorizzazione di scrittura per CloudWatch Logs e Amazon S3. Se si abilita la crittografia degli oggetti per gli oggetti S3, è necessario concedere l'autorizzazione di accesso alle chiavi AWS KMS utilizzate per crittografare gli oggetti.

Puoi utilizzare IAMAWS Management Console, l'API IAM o ilAWS Command Line Interface per creare il ruolo e le politiche. Queste istruzioni utilizzano l'AWS CLI per creare il ruolo e le policy. Per informazioni sulla creazione di policy con la console, consulta la sezione relativa alla creazione di policy nella scheda JSON nella Guida per l'utente di AWS Identity and Access Management.

Nota

Il codice seguente è formattato per Linux e MacOS. Per Windows, sostituire il carattere di continuazione della riga di Linux (\) con un accento circonflesso (^).

Per creare un ruolo IAM per i log delle conversazioni
  1. Creare un documento nella directory corrente chiamato LexConversationLogsAssumeRolePolicyDocument.json, aggiungervi il seguente codice e salvarlo. Questo documento di policy aggiunge Amazon Lex come entità affidabile al ruolo. Ciò consente a Lex di assumere il ruolo di distribuire i log alle risorse configurate per i log delle conversazioni.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lex.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. InAWS CLI, eseguire il comando seguente per creare il ruolo IAM per i log delle conversazioni.

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

Quindi, crea e collega una policy al ruolo che permetta a Amazon Lex di scrivere CloudWatch nei log.

Per creare una policy IAM per registrare il testo della conversazione CloudWatch nei log
  1. Crea un documento nella directory corrente chiamataLexConversationLogsCloudWatchLogsPolicy.json, aggiungi la seguente politica IAM e salvalo.

    { "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. NelAWS CLI, crea la policy IAM che concede l'autorizzazione di scrittura al gruppo di log CloudWatch Logs.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Collegare la policy al ruolo IAM creato per i log delle conversazioni.

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

Se stai registrando l'audio in un bucket S3, crea una policy che consenta ad Amazon Lex di scrivere nel bucket.

Per creare una policy IAM per la registrazione audio in un bucket S3
  1. Creare un documento nella directory corrente chiamato LexConversationLogsS3Policy.json, aggiungervi la seguente policy e salvarlo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. NelAWS CLI, crea la policy IAM che concede l'autorizzazione di scrittura al tuo bucket S3.

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. Collegare la policy al ruolo creato per i log delle conversazioni.

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

Concessione dell'autorizzazione a passare un ruolo IAM

Quando usi la consoleAWS Command Line Interface, il o unAWS SDK per specificare un ruolo IAM da utilizzare per i registri delle conversazioni, l'utente che specifica il ruolo IAM dei registri delle conversazioni deve avere l'autorizzazione per passare il ruolo ad Amazon Lex. Per consentire all'utente di passare il ruolo ad Amazon Lex, è necessario concedere l'PassRoleautorizzazione all'utente, ruolo o gruppo.

La policy seguente definisce l'autorizzazione da concedere all'utente, al ruolo o al gruppo. È possibile utilizzare le chiavi di condizione iam:AssociatedResourceArn e iam:PassedToService per limitare l'ambito dell'autorizzazione. Per ulteriori informazioni, consulta Concessione a un utente delle autorizzazioni per passare un ruolo a unAWS servizio e chiavi di contesto IAM eAWS STS Condition nella Guida per l'AWS Identity and Access Managementutente.

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