Beispiele für identitätsbasierte Richtlinien für Amazon Lex V2 - 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.

Beispiele für identitätsbasierte Richtlinien für Amazon Lex V2

Standardmäßig sind Benutzer und Rollen nicht berechtigt, Amazon Lex V2-Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben mit dem ausführen AWS Management Console, AWS Command Line Interface (AWS CLI), oder AWS API. Um Benutzern die Erlaubnis zu erteilen, Aktionen mit den Ressourcen durchzuführen, die sie benötigen, kann ein IAM Administrator IAM Richtlinien erstellen. Der Administrator kann dann die IAM Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen übernehmen.

Informationen zum Erstellen einer IAM identitätsbasierten Richtlinie anhand dieser JSON Beispieldokumente finden Sie unter IAMRichtlinien erstellen im IAMBenutzerhandbuch.

Einzelheiten zu den von Amazon Lex V2 definierten Aktionen und Ressourcentypen, einschließlich des Formats ARNs für die einzelnen Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Lex V2 in der Service Authorization Reference.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand Amazon Lex V2-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder diese löschen kann. Diese Aktionen können Kosten für Sie verursachen AWS-Konto. Beachten Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Richtlinien und Empfehlungen:

  • Beginnen Sie mit AWS verwaltete Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten — Um zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren, verwenden Sie AWS verwaltete Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren. Sie sind in Ihrem verfügbar AWS-Konto. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie Folgendes definieren AWS vom Kunden verwaltete Richtlinien, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS verwaltete Richtlinien oder AWS verwaltete Richtlinien für Jobfunktionen im IAMBenutzerhandbuch.

  • Berechtigungen mit den geringsten Rechten anwenden — Wenn Sie Berechtigungen mit IAM Richtlinien festlegen, gewähren Sie nur die Berechtigungen, die für die Ausführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung IAM zum Anwenden von Berechtigungen finden Sie IAMim Benutzerhandbuch unter Richtlinien und Berechtigungen. IAM

  • Verwenden Sie Bedingungen in IAM Richtlinien, um den Zugriff weiter einzuschränken — Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen einzuschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um anzugeben, dass alle Anfragen über gesendet werden müssenSSL. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese über eine bestimmte AWS-Service, wie beispielsweise AWS CloudFormation. Weitere Informationen finden Sie unter IAMJSONRichtlinienelemente: Zustand im IAMBenutzerhandbuch.

  • Verwenden Sie IAM Access Analyzer, um Ihre IAM Richtlinien zu validieren, um sichere und funktionale Berechtigungen zu gewährleisten. IAM Access Analyzer validiert neue und bestehende Richtlinien, sodass die Richtlinien der IAM Richtliniensprache (JSON) und den IAM bewährten Methoden entsprechen. IAMAccess Analyzer bietet mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen, um Sie bei der Erstellung sicherer und funktionaler Richtlinien zu unterstützen. Weitere Informationen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung im IAMBenutzerhandbuch.

  • Multi-Faktor-Authentifizierung erforderlich (MFA) — Wenn Sie ein Szenario haben, das IAM Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, schalten Sie MFA für zusätzliche Sicherheit ein. Wenn Sie festlegen möchten, MFA wann API Operationen aufgerufen werden, fügen Sie MFA Bedingungen zu Ihren Richtlinien hinzu. Weitere Informationen finden Sie unter Konfiguration des MFA -geschützten API Zugriffs im IAMBenutzerhandbuch.

Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch. IAM

Verwenden der Amazon Lex V2-Konsole

Um auf die Amazon Lex V2-Konsole zugreifen zu können, benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den Amazon Lex V2-Ressourcen in Ihrem AWS-Konto. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die restriktiver ist als die erforderlichen Mindestberechtigungen, funktioniert die Konsole für Entitäten (Benutzer oder Rollen) mit dieser Richtlinie nicht wie vorgesehen.

Sie müssen Benutzern, die nur Anrufe tätigen, keine Mindestberechtigungen für die Konsole gewähren AWS CLI oder das AWS API. Erlauben Sie stattdessen nur den Zugriff auf die Aktionen, die dem API Vorgang entsprechen, den sie ausführen möchten.

Um sicherzustellen, dass Benutzer und Rollen die Amazon Lex V2-Konsole weiterhin verwenden können, benötigen Benutzer Konsolenzugriff. Weitere Informationen zum Erstellen eines Benutzers mit Konsolenzugriff finden Sie unter Einen IAM Benutzer in Ihrem AWS Konto im IAMBenutzerhandbuch.

Erlauben Sie Benutzern, einem Bot Funktionen hinzuzufügen

Dieses Beispiel zeigt eine Richtlinie, die es IAM Benutzern ermöglicht, einem Amazon Lex V2-Bot Amazon Comprehend-, Stimmungsanalyse- und Amazon Kendra Kendra-Abfrageberechtigungen hinzuzufügen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Id1", "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexV2Bots*" }, { "Sid": "Id2", "Effect": "Allow", "Action": "iam:GetRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexV2Bots*" } ] }

Erlaubt Benutzern, Kanäle zu einem Bot hinzuzufügen

Dieses Beispiel ist eine Richtlinie, die es IAM Benutzern ermöglicht, einem Bot einen Messaging-Kanal hinzuzufügen. Ein Benutzer muss über diese Richtlinie verfügen, bevor er einen Bot auf einer Messaging-Plattform einsetzen kann.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Id1", "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/channels.lexv2.amazonaws.com/AWSServiceRoleForLexV2Channels*" }, { "Sid": "Id2", "Effect": "Allow", "Action": "iam:GetRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/channels.lexv2.amazonaws.com/AWSServiceRoleForLexV2Channels*" } ] }

Erlauben Sie Benutzern, Bots zu erstellen und zu aktualisieren

Dieses Beispiel zeigt eine Beispielrichtlinie, die es IAM Benutzern ermöglicht, beliebige Bots zu erstellen und zu aktualisieren. Die Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder mithilfe von AWS CLI or AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateBot", "lex:UpdateBot". "iam:PassRole" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123412341234:bot/*] } ] }

Erlauben Sie Benutzern, den Automated Chatbot Designer zu verwenden

Dieses Beispiel zeigt eine Beispielrichtlinie, die es IAM Benutzern ermöglicht, den Automated Chatbot Designer auszuführen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<customer-bucket>/<bucketName>", # Resource should point to the bucket or an explicit folder. # Provide this to read the entire bucket "arn:aws:s3:::<customer-bucket>/<bucketName>/*", # Provide this to read a specifc folder "arn:aws:s3:::<customer-bucket>/<bucketName>/<pathFormat>/*" ] }, { # Use this if your S3 bucket is encrypted with a KMS key. "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<Region>:<customerAccountId>:key/<kmsKeyId>" ] ] }

Erlauben Sie Benutzern die Verwendung eines AWS KMS Schlüssel zum Verschlüsseln und Entschlüsseln von Dateien

Dieses Beispiel zeigt eine Beispielrichtlinie, die es IAM Benutzern ermöglicht, eine zu verwenden AWS KMS vom Kunden verwalteter Schlüssel zum Verschlüsseln und Entschlüsseln von Daten.

{ "Version": "2012-10-17", "Id": "sample-policy", "Statement": [ { "Sid": "Allow Lex access", "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": [ # If the key is for encryption "kms:Encrypt", "kms:GenerateDataKey" # If the key is for decryption "kms:Decrypt" ], "Resource": "*" } ] }

Erlauben Sie Benutzern, Bots zu löschen

Dieses Beispiel zeigt eine Beispielrichtlinie, die es IAM Benutzern ermöglicht, jeden Bot zu löschen. Die Richtlinie umfasst Berechtigungen zum Abschließen dieser Aktion auf der Konsole oder mithilfe von AWS CLI or AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:DeleteBot", "lex:DeleteBotLocale", "lex:DeleteBotAlias", "lex:DeleteIntent", "lex:DeleteSlot", "lex:DeleteSlottype" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123412341234:bot/*", "arn:aws:lex:Region:123412341234:bot-alias/*"] } ] }

Erlauben Sie Benutzern, eine Konversation mit einem Bot zu führen

Dieses Beispiel zeigt eine Beispielrichtlinie, die es IAM Benutzern ermöglicht, eine Konversation mit einem beliebigen Bot zu führen. Die Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder mithilfe von AWS CLI or AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:StartConversation", "lex:RecognizeText", "lex:RecognizeUtterance", "lex:GetSession", "lex:PutSession", "lex:DeleteSession" ], "Effect": "Allow", "Resource": "arn:aws:lex:Region:123412341234:bot-alias/*" } ] }

Erlauben Sie einem bestimmten Benutzer, ressourcenbasierte Richtlinien zu verwalten

Das folgende Beispiel erteilt einem bestimmten Benutzer die Erlaubnis, die ressourcenbasierten Richtlinien zu verwalten. Es ermöglicht die Konsole und den API Zugriff auf die Richtlinien, die mit Bots und Bot-Aliasnamen verknüpft sind.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ResourcePolicyEditor", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ResourcePolicyEditor" }, "Action": [ "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:DeleteResourcePolicy", "lex:DescribeResourcePolicy" ] } ] }

Erlaubt einem Benutzer, Bots und Bot-Gebietsschemas zu exportieren

Die folgende IAM Berechtigungsrichtlinie ermöglicht es einem Benutzer, einen Bot oder ein Bot-Gebietsschema zu erstellen, zu aktualisieren und zu exportieren.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateExport", "lex:UpdateExport", "lex:DescribeExport", "lex:DescribeBot", "lex:DescribeBotLocale", "lex:ListBotLocales", "lex:DescribeIntent", "lex:ListIntents", "lex:DescribeSlotType", "lex:ListSlotTypes", "lex:DescribeSlot", "lex:ListSlots", "lex:DescribeCustomVocabulary" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

Erlaubt einem Benutzer, ein benutzerdefiniertes Vokabular zu exportieren

Die folgende IAM Berechtigungsrichtlinie ermöglicht es einem Benutzer, ein benutzerdefiniertes Vokabular aus einem Bot-Gebietsschema zu exportieren.

{"Version": "2012-10-17", "Statement": [ {"Action": [ "lex:CreateExport", "lex:UpdateExport", "lex:DescribeExport", "lex:DescribeCustomVocabulary" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

Erlaubt einem Benutzer, Bots und Bot-Gebietsschemas zu importieren

Die folgende IAM Berechtigungsrichtlinie ermöglicht es einem Benutzer, einen Bot oder ein Bot-Gebietsschema zu importieren und den Status eines Imports zu überprüfen.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateUploadUrl", "lex:StartImport", "lex:DescribeImport", "lex:CreateBot", "lex:UpdateBot", "lex:DeleteBot", "lex:CreateBotLocale", "lex:UpdateBotLocale", "lex:DeleteBotLocale", "lex:CreateIntent", "lex:UpdateIntent", "lex:DeleteIntent", "lex:CreateSlotType", "lex:UpdateSlotType", "lex:DeleteSlotType", "lex:CreateSlot", "lex:UpdateSlot", "lex:DeleteSlot", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary", "iam:PassRole", ], "Effect": "Allow", "Resource": [ "arn:aws:lex:Region:123456789012:bot/*", "arn:aws:lex:Region:123456789012:bot-alias/*" ] } ] }

Erlaubt einem Benutzer, ein benutzerdefiniertes Vokabular zu importieren

Die folgende IAM Berechtigungsrichtlinie ermöglicht es einem Benutzer, ein benutzerdefiniertes Vokabular in ein Bot-Gebietsschema zu importieren.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateUploadUrl", "lex:StartImport", "lex:DescribeImport", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary" ], "Effect": "Allow", "Resource": [ "arn:aws:lex:Region:123456789012:bot/*" ] } ] }

Erlauben Sie einem Benutzer, einen Bot von Amazon Lex zu Amazon Lex V2 zu migrieren

Die folgende IAM Berechtigungsrichtlinie ermöglicht es einem Benutzer, mit der Migration eines Bots von Amazon Lex zu Amazon Lex V2 zu beginnen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "startMigration", "Effect": "Allow", "Action": "lex:StartMigration", "Resource": "arn:aws:lex:>Region<:>123456789012<:bot:*" }, { "Sid": "passRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::>123456789012<:role/>v2 bot role<" }, { "Sid": "allowOperations", "Effect": "Allow", "Action": [ "lex:CreateBot", "lex:CreateIntent", "lex:UpdateSlot", "lex:DescribeBotLocale", "lex:UpdateBotAlias", "lex:CreateSlotType", "lex:DeleteBotLocale", "lex:DescribeBot", "lex:UpdateBotLocale", "lex:CreateSlot", "lex:DeleteSlot", "lex:UpdateBot", "lex:DeleteSlotType", "lex:DescribeBotAlias", "lex:CreateBotLocale", "lex:DeleteIntent", "lex:StartImport", "lex:UpdateSlotType", "lex:UpdateIntent", "lex:DescribeImport", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomvocabulary", "lex:DescribeCustomVocabulary", "lex:DescribeCustomVocabularyMetadata" ], "Resource": [ "arn:aws:lex:>Region<:>123456789012<:bot/*", "arn:aws:lex:>Region<:>123456789012<:bot-alias/*/*" ] }, { "Sid": "showBots", "Effect": "Allow", "Action": [ "lex:CreateUploadUrl", "lex:ListBots" ], "Resource": "*" } ] }

Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer

Dieses Beispiel zeigt, wie Sie eine Richtlinie erstellen könnten, die es IAM Benutzern ermöglicht, die internen und verwalteten Richtlinien einzusehen, die mit ihrer Benutzeridentität verknüpft sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe von AWS CLI or AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Erlauben Sie einem Benutzer, einen Konversationsfluss mit Visual Conversation Builder in Amazon Lex V2 zu zeichnen

Die folgende IAM Berechtigungsrichtlinie ermöglicht es einem Benutzer, den Konversationsfluss mit Visual Conversation Builder in Amazon Lex V2 zu zeichnen.

{ "Version": "2012-10-17", "Statement": [ {"Action": [ "lex:UpdateIntent ", "lex:DescribeIntent " ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

Erlaubt Benutzern, Bot-Replikate zu erstellen und anzusehen, sie jedoch nicht zu löschen

Sie können einer IAM Rolle die folgenden Berechtigungen zuweisen, damit sie nur Bot-Replikate erstellen und anzeigen kann. Wenn Sie diese Option weglassen, verhindern Sielex:DeleteBotReplica, dass die Rolle Bot-Replikate löscht. Weitere Informationen finden Sie unter Berechtigungen zur Replikation von Bots und zur Verwaltung von Bot-Repliken in Lex V2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lex:CreateBotReplica", "lex:DescribeBotReplica", "lex:ListBotReplica", "lex:ListBotVersionReplicas", "lex:ListBotAliasReplicas", ], "Resource": [ "arn:aws:lex:*:*:bot/*", "arn:aws:lex:*:*:bot-alias/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/replication.lexv2.amazonaws.com/AWSServiceRoleForLexV2Replication*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/replication.lexv2.amazonaws.com/AWSServiceRoleForLexV2Replication*" ], "Condition": { "StringEquals": { "iam:AWSServiceName": "lexv2.amazonaws.com" } } } ] }