Beispiele für identitätsbasierte Richtlinien für Amazon Comprehend - Amazon Comprehend

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 Comprehend

Benutzer und Rollen besitzen standardmäßig keine Berechtigungen zum Erstellen oder Ändern von Amazon Comprehend-Ressourcen. Sie können auch keine Aufgaben über die AWS Management Console, die AWS Command Line Interface (AWS CLI) oder die AWS-API ausführen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen. Der Administrator kann dann die IAM-Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen annehmen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Einzelheiten zu Aktionen und Ressourcentypen, die von Amazon Comprehend definiert werden, einschließlich des Formats der ARNs für die einzelnen Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Comprehend in der Service-Autorisierungs-Referenz.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand Amazon Comprehend-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Erste Schritte mit AWS-verwaltete Richtlinien und Umstellung auf Berechtigungen mit den geringsten Berechtigungen:Um Ihren Benutzern und Workloads Berechtigungen zu gewähren, verwenden Sie die AWS-verwaltete Richtlinien die Berechtigungen für viele allgemeine Anwendungsfälle gewähren. Sie sind in Ihrem AWS-Konto verfügbar. Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom Kunden verwaltete AWS-Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS-verwaltete Richtlinien oder AWS-verwaltete Richtlinien für Auftragsfunktionen im IAM-Benutzerhandbuch.

  • Anwendung von Berechtigungen mit den geringsten Rechten:Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchfü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 von IAM zum Anwenden von Berechtigungen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.

  • Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs:Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Service-Aktionen zu gewähren, wenn diese durch ein bestimmtes AWS-Service, wie beispielsweise AWS CloudFormation, verwendet werden. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

  • Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten:IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter Richtlinienvalidierung zum IAM Access Analyzer im IAM-Benutzerhandbuch.

  • Bedarf einer Multi-Faktor-Authentifizierung (MFA):Wenn Sie ein Szenario haben, das IAM-Benutzer oder Root-Benutzer in Ihrem AWS-Konto erfordert, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter Konfigurieren eines MFA-geschützten API-Zugriffs im IAM-Benutzerhandbuch.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.

Verwenden der Amazon Comprehend-Konsole

Um auf die Amazon Comprehend-Konsole zugreifen zu können, müssen Sie über einen Mindestsatz von Berechtigungen verfügen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den Amazon Comprehend-Ressourcen in Ihrem aufzulisten und anzuzeigenAWS-Konto. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Entitäten (Benutzer oder Rollen) mit dieser Richtlinie.

Für Benutzer, die nur Aufrufe an die AWS CLI oder AWS-API durchführen, müssen Sie keine Mindestberechtigungen in der Konsole erteilen. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die der API-Operation entsprechen, die die Benutzer ausführen möchten.

Für Mindestberechtigungen für die Amazon Comprehend-Konsole können Sie die ComprehendReadOnly AWS verwaltete Richtlinie an die Entitäten anfügen. Weitere Informationen finden Sie unter Hinzufügen von Berechtigungen zu einem Benutzer im IAM-Benutzerhandbuch.

Um die Amazon Comprehend-Konsole verwenden zu können, benötigen Sie auch Berechtigungen für die in der folgenden Richtlinie aufgeführten Aktionen:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "*" } ] }

Die Amazon Comprehend-Konsole benötigt diese zusätzlichen Berechtigungen aus folgenden Gründen:

  • iam -Berechtigungen zum Auflisten der verfügbaren IAM-Rollen für Ihr Konto.

  • s3 -Berechtigungen für den Zugriff auf die Amazon S3-Buckets und -Objekte, die die Daten für die Themenmodellierung enthalten.

Wenn Sie einen asynchronen Batch-Auftrag oder einen Themenmodellierungsauftrag mit der Konsole erstellen, haben Sie die Möglichkeit, die Konsole eine IAM-Rolle für Ihren Auftrag erstellen zu lassen. Um eine IAM-Rolle zu erstellen, müssen Benutzer die folgenden zusätzlichen Berechtigungen erhalten, um IAM-Rollen und -Richtlinien zu erstellen und Richtlinien an Rollen anzufügen:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Die Amazon Comprehend-Konsole benötigt diese zusätzlichen Berechtigungen aus folgenden Gründen:

  • iam -Berechtigungen zum Erstellen von Rollen und Richtlinien und zum Anfügen von Rollen und Richtlinien. Die iam:PassRole Aktion ermöglicht es der Konsole, die Rolle an Amazon Comprehend zu übergeben.

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

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie enthält Berechtigungen für die Ausführung dieser Aktion auf der Konsole oder für die programmgesteuerte Ausführung über die AWS CLI oder die 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": "*" } ] }

Erforderliche Berechtigungen zum Ausführen von Dokumentanalyseaktionen

Die folgende Beispielrichtlinie gewährt Berechtigungen zur Verwendung der Amazon Comprehend-Dokumentanalyseaktionen:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDetectActions", "Effect": "Allow", "Action": [ "comprehend:DetectEntities", "comprehend:DetectKeyPhrases", "comprehend:DetectDominantLanguage", "comprehend:DetectSentiment", "comprehend:DetectTargetedSentiment", "comprehend:DetectSyntax", "textract:DetectDocumentText", "textract:AnalyzeDocument" ], "Resource": "*" } ] }

Die Richtlinie enthält eine Anweisung, die die Berechtigung zur Verwendung der DetectSyntax Aktionen DetectEntities, DetectKeyPhrases, DetectTargetedSentiment, DetectDominantLanguageDetectSentiment, und gewährt. Die Richtlinienanweisung gewährt auch Berechtigungen zur Verwendung von zwei Amazon Textract-API-Methoden. Amazon Comprehend ruft diese Methoden auf, um Text aus Bilddateien und gescannten PDF-Dokumenten zu extrahieren. Sie können diese Berechtigungen für Benutzer entfernen, die niemals benutzerdefinierte Inferenzen für diese Arten von Eingabedateien ausführen.

Ein Benutzer mit dieser Richtlinie wäre nicht in der Lage, Batch-Aktionen oder asynchrone Aktionen in Ihrem Konto durchzuführen.

Die Richtlinie gibt nicht das Principal-Element an, da in einer identitätsbasierten Richtlinie nicht der Prinzipal angegeben wird, der die Berechtigung erhält. Wenn Sie einem Benutzer eine Richtlinie anfügen, ist der Benutzer automatisch der Prinzipal. Wird die Berechtigungsrichtlinie einer IAM-Rolle angefügt, erhält der in der Vertrauensrichtlinie der Rolle angegebene Prinzipal die Berechtigungen.

Eine Tabelle mit allen Amazon Comprehend-API-Aktionen und den Ressourcen, für die sie gelten, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Comprehend in der Service-Autorisierungs-Referenz.

Erforderliche Berechtigungen für die Verwendung der KMS-Verschlüsselung

Um Amazon Key Management Service (KMS) für Daten und Auftragsverschlüsselung in einem asynchronen Auftrag vollständig zu verwenden, müssen Sie Berechtigungen für die in der folgenden Richtlinie aufgeführten Aktionen erteilen:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "kms:CreateGrant" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "kms:Decrypt", "kms:GenerateDatakey" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } } ] }

Wenn Sie einen asychronen Auftrag mit Amazon Comprehend erstellen, verwenden Sie Eingabedaten, die auf Amazon S3 gespeichert sind. Mit S3 haben Sie die Möglichkeit, Ihre gespeicherten Daten zu verschlüsseln, die mit S3 und nicht mit Amazon Comprehend verschlüsselt sind. Wir können diese verschlüsselten Eingabedaten entschlüsseln und lesen, wenn Sie die kms:Decrypt Berechtigung für den Schlüssel erteilen, mit dem die ursprünglichen Eingabedaten mit der Datenzugriffsrolle verschlüsselt wurden, die vom Amazon Comprehend-Auftrag verwendet wird.

Sie haben auch die Möglichkeit, vom Kunden verwaltete KMS-Schlüssel (CMK) zum Verschlüsseln der Ausgabeergebnisse auf S3 sowie des Speichervolumens zu verwenden, das während der Auftragsverarbeitung verwendet wird. Wenn Sie dies tun, können Sie denselben KMS-Schlüssel für beide Verschlüsselungstypen verwenden, dies ist jedoch nicht erforderlich. Beim Erstellen des Auftrags sind separate Felder verfügbar, um die Schlüssel für die Ausgabeverschlüsselung und Volume-Verschlüsselung anzugeben, und Sie können sogar einen KMS-Schlüssel aus einem anderen Konto verwenden.

Bei Verwendung der KMS-Verschlüsselung ist die -kms:CreateGrantBerechtigung für die Volume-Verschlüsselung und die -kms:GenerateDataKeyBerechtigung für die Ausgabedatenverschlüsselung erforderlich. Zum Lesen verschlüsselter Eingaben (wie wenn die Eingabedaten bereits mit Amazon S3 verschlüsselt sind) ist eine -kms:DecryptBerechtigung erforderlich. Die IAM-Rolle muss diese Berechtigungen nach Bedarf erteilen. Wenn der Schlüssel jedoch von einem anderen Konto stammt, als derzeit verwendet wird, muss die KMS-Schlüsselrichtlinie für diesen kms-Schlüssel diese Berechtigungen auch der Datenzugriffsrolle für den Auftrag erteilen.

AWS Von verwaltete (vordefinierte) Richtlinien für Amazon Comprehend

Durch die Bereitstellung von eigenständigen IAM-Richtlinien, die von AWS erstellt und verwaltet werden, deckt AWS viele häufige Anwendungsfälle ab. Diese von AWS verwalteten Richtlinien erteilen die erforderlichen Berechtigungen für viele häufige Anwendungsfälle, sodass Sie nicht mühsam ermitteln müssen, welche Berechtigungen erforderlich sind. Weitere Informationen finden Sie unter Von AWS verwaltete Richtlinien im IAM-Benutzerhandbuch.

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto anfügen können, gelten speziell für Amazon Comprehend :

  • ComprehendFullAccess – Gewährt vollen Zugriff auf Amazon Comprehend-Ressourcen, einschließlich der Ausführung von Themenmodellierungsaufträgen. Enthält die Berechtigung zum Auflisten und Abrufen von IAM-Rollen.

  • ComprehendReadOnly – Gewährt die Berechtigung zum Ausführen aller Amazon Comprehend-Aktionen außer StartDominantLanguageDetectionJob, StartEntitiesDetectionJob, StartKeyPhrasesDetectionJob, StartSentimentDetectionJobStartTargetedSentimentDetectionJob, und StartTopicsDetectionJob.

Sie müssen die folgende zusätzliche Richtlinie auf alle Benutzer anwenden, die Amazon Comprehend verwenden:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Sie können die verwalteten Berechtigungsrichtlinien überprüfen, indem Sie sich bei der IAM-Konsole anmelden und dort nach bestimmten Richtlinien suchen.

Diese Richtlinien funktionieren, wenn Sie AWS -SDKs oder die -AWSCLI verwenden.

Sie können auch Ihre eigenen benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für Amazon Comprehend-Aktionen und -Ressourcen zu gewähren. Sie können diese benutzerdefinierten Richtlinien den Benutzern, Gruppen oder Rollen anfügen, die diese Berechtigungen benötigen.

Rollenbasierte Berechtigungen, die für asynchrone Operationen erforderlich sind

Um die asynchronen Operationen von Amazon Comprehend verwenden zu können, müssen Sie Amazon Comprehend Zugriff auf den Amazon S3-Bucket gewähren, der Ihre Dokumentsammlung enthält. Dazu erstellen Sie eine Datenzugriffsrolle in Ihrem Konto mit einer Vertrauensrichtlinie, um dem Amazon Comprehend-Service-Prinzipal zu vertrauen. Weitere Informationen zum Erstellen einer Rolle finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen -AWSService im AWS Benutzerhandbuch für Identity and Access Management.

Im Folgenden sehen Sie ein Beispiel für eine Vertrauensrichtlinie für die Rolle, die Sie erstellen. Um bei der Prävention von verwirrtem Stellvertreter zu helfen, schränken Sie den Umfang der Berechtigung ein, indem Sie einen oder mehrere globale Bedingungskontextschlüssel verwenden. Legen Sie den Wert aws:SourceAccount auf Ihre Konto-ID fest. Wenn Sie die ArnEquals Bedingung verwenden, legen Sie den aws:SourceArn Wert auf den ARN des Auftrags fest. Verwenden Sie einen Platzhalter für die Auftragsnummer im ARN, da Amazon Comprehend diese Nummer im Rahmen der Auftragserstellung generiert.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job/*" } } } ] }

Nachdem Sie die Rolle erstellt haben, erstellen Sie eine Zugriffsrichtlinie für diese Rolle. Dadurch sollten die Amazon S3- GetObject und -ListBucketBerechtigungen für den Amazon S3-Bucket, der Ihre Eingabedaten enthält, und die Amazon S3-PutObjectBerechtigung für Ihren Amazon S3-Ausgabedaten-Bucket erteilt werden.

Berechtigungen zum Zulassen aller Amazon Comprehend-Aktionen

Nachdem Sie sich bei registriert habenAWS, erstellen Sie einen Administratorbenutzer zur Verwaltung Ihres -Kontos, einschließlich der Erstellung von Benutzern und der Verwaltung ihrer Berechtigungen.

Sie können einen Benutzer erstellen, der über Berechtigungen für alle Amazon Comprehend-Aktionen verfügt (d. h. für diesen Benutzer als servicespezifischer Administrator), um mit Amazon Comprehend zu arbeiten. Diesem Benutzer können Sie die folgende Berechtigungsrichtlinie zuweisen:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllComprehendActions", "Effect": "Allow", "Action": [ "comprehend:*", "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDatakey" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Diese Berechtigungen können in Bezug auf die Verschlüsselung wie folgt geändert werden:

  • Damit Amazon Comprehend Dokumente analysieren kann, die in einem verschlüsselten S3-Bucket gespeichert sind, muss die IAM-Rolle über die -kms:DecryptBerechtigung verfügen.

  • Damit Amazon Comprehend Dokumente verschlüsseln kann, die auf einem Speicher-Volume gespeichert sind, das der Rechen-Instance angefügt ist, die den Analyseauftrag verarbeitet, muss die IAM-Rolle über die -kms:CreateGrantBerechtigung verfügen.

  • Damit Amazon Comprehend die Ausgabeergebnisse in seinem S3-Bucket verschlüsseln kann, muss die IAM-Rolle über die -kms:GenerateDataKeyBerechtigung verfügen.

Berechtigungen zum Zulassen von Aktionen zur Themenmodellierung

Die folgende Berechtigungsrichtlinie gewährt Benutzern Berechtigungen zum Ausführen der Amazon Comprehend-Themenmodellierungsvorgänge.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowTopicModelingActions", "Effect": "Allow", "Action": [ "comprehend:DescribeTopicsDetectionJob", "comprehend:ListTopicsDetectionJobs", "comprehend:StartTopicsDetectionJob", ], "Resource": "*" ] } ] }

Erforderliche Berechtigungen für einen benutzerdefinierten asynchronen Analyseauftrag

Wichtig

Wenn Sie über eine IAM-Richtlinie verfügen, die den Modellzugriff einschränkt, können Sie keinen Inferenzauftrag mit einem benutzerdefinierten Modell abschließen. Ihre IAM-Richtlinie sollte aktualisiert werden, um eine Platzhalterressource für einen benutzerdefinierten asynchronen Analyseauftrag zu haben.

Wenn Sie die StartEntitiesDetectionJob APIs StartDocumentClassificationJob und verwenden, müssen Sie Ihre IAM-Richtlinie aktualisieren, es sei denn, Sie verwenden derzeit Platzhalter als Ressourcen. Wenn Sie ein StartEntitiesDetectionJob vortrainiertes Modell verwenden, hat dies keine Auswirkungen auf Sie und Sie müssen keine Änderungen vornehmen.

Die folgende Beispielrichtlinie enthält eine veraltete Referenz.

{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer" ], "Effect": "Allow" }

Dies ist die aktualisierte Richtlinie, die Sie verwenden müssen, um StartDocumentClassificationJob und erfolgreich auszuführen StartEntitiesDetectionJob.

{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:document-classification-job/*", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer", "arn:aws:comprehend:us-east-1:123456789012:entities-detection-job/*" ], "Effect": "Allow" }