Stratégies IAM pour les journaux de conversation - Amazon Lex

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Stratégies IAM pour les journaux de conversation

Selon le type de journalisation que vous sélectionnez, Amazon Lex V2 nécessite l'autorisation d'utiliser les compartiments Amazon CloudWatch Logs et Amazon Simple Storage Service (S3) pour stocker vos journaux. Vous devez créer des AWS Identity and Access Management rôles et des autorisations pour permettre à Amazon Lex V2 d'accéder à ces ressources.

Création d'un IAM rôle et de politiques pour les journaux de conversation

Pour activer les journaux de conversation, vous devez accorder une autorisation d'écriture pour CloudWatch Logs et Amazon S3. Si vous activez le chiffrement d'objets pour vos objets S3, vous devez accorder l'autorisation d'accès aux AWS KMS clés utilisées pour chiffrer les objets.

Vous pouvez utiliser la IAM console IAMAPI, le ou le AWS Command Line Interface pour créer le rôle et les politiques. Ces instructions utilisent le AWS CLI pour créer le rôle et les politiques.

Note

Le code suivant est formaté pour Linux et macOS. Sous Windows, remplacez le caractère de continuité de ligne Linux (\) par le caret (^).

Pour créer un IAM rôle pour les journaux de conversation
  1. Créez un document dans le répertoire courant appelé LexConversationLogsAssumeRolePolicyDocument.json, ajoutez-y le code suivant et enregistrez-le. Ce document de politique ajoute Amazon Lex V2 en tant qu'entité de confiance au rôle. Cela permet à Amazon Lex d'assumer le rôle de fournir des journaux aux ressources configurées pour les journaux de conversation.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Dans le AWS CLI, exécutez la commande suivante pour créer le IAM rôle pour les journaux de conversation.

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

Ensuite, créez et associez une politique au rôle qui permet à Amazon Lex V2 d'écrire dans CloudWatch Logs.

Pour créer une IAM politique d'enregistrement du texte d'une conversation dans CloudWatch Logs
  1. Créez un document dans le répertoire actuel appeléLexConversationLogsCloudWatchLogsPolicy.json, ajoutez-y la IAM politique suivante et enregistrez-le.

    { "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. Dans le AWS CLI, créez la IAM politique qui accorde l'autorisation d'écriture au groupe de CloudWatch journaux Logs.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Associez la politique au IAM rôle que vous avez créé pour les journaux de conversation.

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

Si vous enregistrez du son dans un compartiment S3, créez une politique permettant à Amazon Lex V2 d'écrire dans le compartiment.

Pour créer une IAM politique de journalisation audio dans un compartiment S3
  1. Créez un document dans le répertoire courant appelé LexConversationLogsS3Policy.json, ajoutez la stratégie suivante et enregistrez-le.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. Dans le AWS CLI, créez la IAM politique qui accorde l'autorisation d'écriture à votre compartiment S3.

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. Attachez la stratégie au rôle que vous avez créé pour les journaux de conversation.

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

Octroi de l'autorisation de transmettre un IAM rôle

Lorsque vous utilisez la console AWS Command Line Interface, le ou un pour spécifier un IAM rôle AWS SDK à utiliser pour les journaux de conversation, l'utilisateur qui spécifie le IAM rôle de journal des conversations doit être autorisé à transmettre le rôle à Amazon Lex V2. Pour permettre à l'utilisateur de transmettre le rôle à Amazon Lex V2, vous devez accorder l'PassRoleautorisation à l'IAMutilisateur, au rôle ou au groupe de l'utilisateur.

La stratégie suivante définit l'autorisation d'accorder à l'utilisateur, au rôle ou au groupe. Vous pouvez utiliser les clés de condition iam:PassedToService et iam:AssociatedResourceArn pour limiter la portée de l'autorisation. Pour plus d'informations, consultez les sections Octroi à un utilisateur des autorisations lui permettant de transmettre un rôle à un AWS service IAM et des clés contextuelles de AWS STS condition dans le guide de AWS Identity and Access Management l'utilisateur.

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