IAM-Richtlinien für Konversationsprotokolle - Amazon Lex V1

Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das Amazon Lex V2-Handbuch.

 

Wenn Sie Amazon Lex V1 verwenden, empfehlen wir, Ihre Bots auf Amazon Lex V2 zu aktualisieren. Wir fügen V1 keine neuen Funktionen mehr hinzu und empfehlen dringend, V2 für alle neuen Bots zu verwenden.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

IAM-Richtlinien für Konversationsprotokolle

Abhängig von der Art der Protokollierung, die Sie auswählen, benötigt Amazon Lex die Erlaubnis, Amazon CloudWatch Logs- und Amazon Simple Storage Service (S3) -Buckets zum Speichern Ihrer Protokolle zu verwenden. Sie müssenAWS Identity and Access Management Rollen und Berechtigungen erstellen, damit Amazon Lex auf diese Ressourcen zugreifen kann.

Erstellen einer IAM-Rolle und von Richtlinien für Konversationsprotokolle

Um Konversationsprotokolle zu aktivieren, müssen Sie Schreibrechte für CloudWatch Logs und Amazon S3 erteilen. Wenn Sie die Objektverschlüsselung für Ihre S3-Objekte aktivieren, müssen Sie den AWS KMS-Schlüsseln, die zum Verschlüsseln der Objekte verwendet werden, Zugriffsberechtigung erteilen.

Sie können den IAMAWS Management Console, die IAM-API oder den verwenden,AWS Command Line Interface um die Rolle und die Richtlinien zu erstellen. Diese Anweisungen verwenden die AWS CLI, um die Rolle und die Richtlinien zu erstellen. Informationen zum Erstellen AWS Identity and Access Management Richtlinien

Anmerkung

Der folgende Code ist für Linux und MacOS formatiert. Ersetzen Sie unter Windows das Linux-Zeilenfortsetzungszeichen (\) durch ein Caret-Zeichen (^).

So erstellen Sie eine IAM-Rolle für Konversationsprotokolle
  1. Erstellen Sie ein Dokument im aktuellen Verzeichnis mit dem Namen LexConversationLogsAssumeRolePolicyDocument.json, fügen Sie den folgenden Code hinzu und speichern Sie es. In diesem Richtliniendokument wird Amazon Lex der Rolle als vertrauenswürdige Entität hinzugefügt. Auf diese Weise kann Lex die Rolle übernehmen, um Protokolle für die Ressourcen bereitzustellen, die für Konversationsprotokolle konfiguriert sind.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lex.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Führen Sie in den den folgenden Befehl ausAWS CLI, um die IAM-Rolle für Konversationsprotokolle für Konversationsprotokolle zu erstellen.

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

Erstellen Sie als Nächstes eine Richtlinie und weisen Sie sie der Rolle an, die Rolle an, die Amazon Lex das Schreiben CloudWatch in Die

So können Sie eine IAM-Richtlinie für die Protokollierung von Konversationstexten in CloudWatch Protokollen
  1. Erstellen Sie ein Dokument im aktuellen Verzeichnis namensLexConversationLogsCloudWatchLogsPolicy.json, fügen Sie die folgende IAM-Richtlinie hinzu und speichern Sie es.

    { "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. Erstellen Sie in derAWS CLI die IAM-Richtlinie, die der Protokollgruppe CloudWatch Logs Schreibrechte gewährt.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Fügen Sie die Richtlinie an die IAM-Rolle an, die Sie für Konversationsprotokolle für Konversationsprotokolle an.

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

Wenn Sie Audio in einem S3-Bucket protokollieren, erstellen Sie eine Richtlinie, die es Amazon Lex ermöglicht, in den Bucket zu schreiben.

So erstellen Sie eine IAM-Richtlinie für die Audioprotokollierung in einem S3-Bucket
  1. Erstellen Sie ein Dokument im aktuellen Verzeichnis mit dem Namen LexConversationLogsS3Policy.json, fügen Sie die folgende Richtlinie hinzu und speichern Sie es.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
  2. Erstellen Sie in derAWS CLI die IAM-Richtlinie, die Ihrem S3-Bucket Schreibrechte gewährt.

    aws iam create-policy \ --policy-name s3-policy-name \ --policy-document file://LexConversationLogsS3Policy.json
  3. Fügen Sie die Richtlinie der Rolle an, die Sie für Konversationsprotokolle erstellt haben.

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

Erteilung der Erlaubnis zum Übergeben einer IAM-Rolle

Wenn Sie die Konsole, das oder einAWS SDK verwendenAWS Command Line Interface, um eine IAM-Rolle für Konversationsprotokolle anzugeben, muss der Benutzer, der die IAM-Rolle für Konversationsprotokolle angibt, über die Berechtigung verfügen, die Rolle an Amazon Lex zu übergeben. Damit der Benutzer die Rolle an Amazon Lex übergeben kann, müssen Sie dem Benutzer, der Rolle oder der Gruppe diePassRole Berechtigung verleihen.

Die folgende Richtlinie definiert die Berechtigung, die dem Benutzer, der Rolle oder der Gruppe erteilt werden soll. Sie können die iam:AssociatedResourceArn und iam:PassedToService-Bedingungsschlüssel verwenden, um den Umfang der Berechtigung einzuschränken. Weitere Informationen finden Sie im Benutzerhandbuch unter Gewähren von Benutzerberechtigungen zum Übergeben einer Rolle an einenAWS Dienst sowie unter IAM- undAWS STS Bedingungskontextschlüsseln.AWS Identity and Access Management

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