IAM-Richtlinien für Konversationsprotokolle - Amazon Lex

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 V2 die Erlaubnis, Amazon CloudWatch Logs- und Amazon Simple Storage Service (S3) -Buckets zum Speichern Ihrer Protokolle zu verwenden. Sie müssen AWS Identity and Access Management Rollen und Berechtigungen erstellen, damit Amazon Lex V2 auf diese Ressourcen zugreifen kann.

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

Um Konversationsprotokolle zu aktivieren, müssen Sie Schreibberechtigungen für CloudWatch Logs und Amazon S3 erteilen. Wenn Sie die Objektverschlüsselung für Ihre S3-Objekte aktivieren, müssen Sie Zugriffsberechtigungen für die AWS KMS Schlüssel erteilen, die zur Verschlüsselung der Objekte verwendet werden.

Sie können die IAM-Konsole, die IAM-API oder die verwenden, um die Rolle und die Richtlinien AWS Command Line Interface zu erstellen. In diesen Anweisungen werden AWS CLI die Rolle und die Richtlinien erstellt.

Anmerkung

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

Um eine IAM-Rolle für Konversationsprotokolle zu erstellen
  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 V2 als vertrauenswürdige Entität zur Rolle hinzugefügt. Dadurch kann Amazon Lex die Rolle der Übermittlung von Protokollen an die für Konversationsprotokolle konfigurierten Ressourcen übernehmen.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Führen Sie in der den folgenden Befehl aus AWS CLI, um die IAM-Rolle 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 fügen Sie sie der Rolle hinzu, die es Amazon Lex V2 ermöglicht, in CloudWatch Protokolle zu schreiben.

Um eine IAM-Richtlinie für die Protokollierung von Konversationstext in Logs zu CloudWatch erstellen
  1. Erstellen Sie ein Dokument im aktuellen Verzeichnis namensLexConversationLogsCloudWatchLogsPolicy.json, fügen Sie ihm 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 der AWS CLI die IAM-Richtlinie, die der Protokollgruppe CloudWatch Logs Schreibberechtigungen gewährt.

    aws iam create-policy \ --policy-name cloudwatch-policy-name \ --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
  3. Ordnen Sie die Richtlinie der IAM-Rolle zu, die Sie für Konversationsprotokolle erstellt haben.

    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 V2 ermöglicht, in den Bucket zu schreiben.

Um eine IAM-Richtlinie für die Audioprotokollierung in einem S3-Bucket zu erstellen
  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 der die IAM-Richtlinie AWS CLI, die Schreibberechtigungen für Ihren S3-Bucket 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

Erteilen Sie die Erlaubnis, eine IAM-Rolle zu übergeben

Wenn Sie die Konsole, das oder ein AWS SDK verwenden AWS Command Line Interface, um eine IAM-Rolle für Konversationsprotokolle anzugeben, muss der Benutzer, der die IAM-Rolle für Konversationsprotokolle angibt, berechtigt sein, die Rolle an Amazon Lex V2 weiterzugeben. Damit der Benutzer die Rolle an Amazon Lex V2 weitergeben kann, müssen Sie dem IAM-Benutzer, der Rolle oder der Gruppe des Benutzers die PassRole entsprechende Berechtigung erteilen.

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 unter Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS Service und IAM- und AWS STS Bedingungskontextschlüssel im AWS Identity and Access Management Benutzerhandbuch.

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