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

Standardmäßig sind Benutzer und Rollen nicht berechtigt, Amazon Comprehend Comprehend-Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben mithilfe von AWS Management Console, AWS Command Line Interface (AWS CLI) oder ausführen. AWS API Um Benutzern die Berechtigung 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 mithilfe dieser Beispieldokumente zu JSON Richtlinien finden Sie im IAMBenutzerhandbuch unter IAM Richtlinien erstellen (Konsole).

Einzelheiten zu den von Amazon Comprehend 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 Comprehend in der Service Authorization Reference.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand Amazon Comprehend Comprehend-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder diese 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:

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

  • 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 mit gesendet werden müssenSSL. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese über einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMJSONRichtlinienelemente: Bedingung.

  • 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 im IAMBenutzerhandbuch unter Überprüfen von Richtlinien mit IAM Access Analyzer.

  • Multi-Faktor-Authentifizierung erforderlich (MFA) — Wenn Sie ein Szenario haben, in dem IAM Benutzer oder ein Root-Benutzer erforderlich sind AWS-Konto, aktivieren Sie die Option MFA für zusätzliche Sicherheit. 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 Sicherer API Zugriff mit MFA im IAMBenutzerhandbuch.

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

Verwenden der Amazon Comprehend Comprehend-Konsole

Um auf die Amazon Comprehend Comprehend-Konsole zugreifen zu können, benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den Amazon Comprehend Comprehend-Ressourcen in Ihrem aufzulisten und anzuzeigen. AWS-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.

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

Für Mindestberechtigungen für die Amazon Comprehend Comprehend-Konsole können Sie die ComprehendReadOnly AWS verwaltete Richtlinie an die Entitäten anhängen. Weitere Informationen finden Sie unter Hinzufügen von Berechtigungen für einen Benutzer im IAMBenutzerhandbuch.

Um die Amazon Comprehend Comprehend-Konsole verwenden zu können, benötigen Sie außerdem 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 Comprehend-Konsole benötigt diese zusätzlichen Berechtigungen aus den folgenden Gründen:

  • iamBerechtigungen zum Auflisten der verfügbaren IAM Rollen für Ihr Konto.

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

Wenn Sie mithilfe der Konsole einen asynchronen Batch-Job oder einen Themenmodellierungsjob erstellen, haben Sie die Möglichkeit, die Konsole eine IAM Rolle für Ihren Job erstellen zu lassen. Um eine IAM Rolle zu erstellen, müssen Benutzern die folgenden zusätzlichen Berechtigungen zum Erstellen von IAM Rollen und Richtlinien sowie zum Anhängen von Richtlinien an Rollen gewährt werden:

{ "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 Comprehend-Konsole benötigt diese zusätzlichen Berechtigungen aus den folgenden Gründen:

  • iamBerechtigungen zum Erstellen von Rollen und Richtlinien und zum Anhängen 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

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 oder. AWS CLI 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": "*" } ] }

Für die Durchführung von Dokumentenanalyseaktionen erforderliche Berechtigungen

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

{ "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 Erklärung, die die Erlaubnis zur Verwendung der AktionenDetectEntities,DetectKeyPhrases,DetectDominantLanguage, DetectTargetedSentimentDetectSentiment, und DetectSyntax erteilt. Die Grundsatzerklärung gewährt auch die Erlaubnis, zwei Amazon Textract API Textract-Methoden zu verwenden. 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 Art 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. Wenn Sie einer IAM Rolle eine Berechtigungsrichtlinie zuordnen, erhält der in der Vertrauensrichtlinie der Rolle angegebene Principal die Berechtigungen.

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

Für die Verwendung der Verschlüsselung sind Berechtigungen erforderlich KMS

Um Amazon Key Management Service (KMS) für die Daten- und Auftragsverschlüsselung in einem asynchronen Job vollständig nutzen zu können, 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 mit Amazon Comprehend einen asynchronen Job erstellen, verwenden Sie auf Amazon S3 gespeicherte Eingabedaten. Mit S3 haben Sie die Möglichkeit, Ihre gespeicherten Daten zu verschlüsseln, die von S3 und nicht von Amazon Comprehend verschlüsselt werden. Wir können diese verschlüsselten Eingabedaten entschlüsseln und lesen, wenn Sie der vom Amazon Comprehend Comprehend-Job verwendeten Datenzugriffsrolle die kms:Decrypt Erlaubnis für den Schlüssel erteilen, mit dem die ursprünglichen Eingabedaten verschlüsselt wurden.

Sie haben auch die Möglichkeit, KMS vom Kunden verwaltete Schlüssel (CMK) zu verwenden, um die Ausgabeergebnisse auf S3 sowie das bei der Auftragsverarbeitung verwendete Speichervolumen zu verschlüsseln. In diesem Fall können Sie denselben KMS Schlüssel für beide Verschlüsselungsarten verwenden, dies ist jedoch nicht erforderlich. Bei der Erstellung des Jobs stehen separate Felder zur Angabe der Schlüssel für die Ausgabeverschlüsselung und die Volumenverschlüsselung zur Verfügung. Sie können sogar einen KMS Schlüssel von einem anderen Konto verwenden.

Wenn Sie KMS Verschlüsselung verwenden, ist eine kms:CreateGrant Genehmigung für die Volumenverschlüsselung und eine kms:GenerateDataKey Genehmigung für die Verschlüsselung der Ausgabedaten erforderlich. Für das Lesen verschlüsselter Eingaben (wenn die Eingabedaten bereits von Amazon S3 verschlüsselt sind) ist eine kms:Decrypt Genehmigung erforderlich. Die IAM Rolle muss diese Berechtigungen nach Bedarf erteilen. Wenn der Schlüssel jedoch von einem anderen Konto stammt als dem, das derzeit verwendet wird, muss die KMS Schlüsselrichtlinie für diesen KMS-Schlüssel diese Berechtigungen auch der Datenzugriffsrolle für den Job zuweisen.

AWS verwaltete (vordefinierte) Richtlinien für Amazon Comprehend

AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM Richtlinien, die von erstellt und verwaltet werden. AWS Diese AWS verwalteten Richtlinien gewähren die erforderlichen Berechtigungen für allgemeine Anwendungsfälle, sodass Sie nicht erst untersuchen müssen, welche Berechtigungen benötigt werden. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter AWS Verwaltete Richtlinien.

Die folgenden AWS verwalteten Richtlinien, die Sie Benutzern in Ihrem Konto zuordnen können, sind spezifisch für Amazon Comprehend:

  • ComprehendFullAccess— Gewährt vollen Zugriff auf Amazon Comprehend Comprehend-Ressourcen, einschließlich der Ausführung von Themenmodellierungsjobs. Beinhaltet die Erlaubnis, Rollen aufzulisten und abzurufenIAM.

  • ComprehendReadOnly— Erteilt die Erlaubnis, alle Amazon Comprehend Comprehend-Aktionen außerStartDominantLanguageDetectionJob,StartEntitiesDetectionJob,, StartKeyPhrasesDetectionJob StartSentimentDetectionJobStartTargetedSentimentDetectionJob, und auszuführen. StartTopicsDetectionJob

Sie müssen die folgende zusätzliche Richtlinie auf jeden Benutzer anwenden, der Amazon Comprehend verwendet:

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

Sie können die Richtlinien für verwaltete Berechtigungen ü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 verwenden AWS CLI.

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

Rollenbasierte Berechtigungen sind für asynchrone Operationen erforderlich

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

Im Folgenden finden Sie ein Beispiel für eine Vertrauensrichtlinie für die Rolle, die Sie erstellen. Um das Vermeiden verwirrter Stellvertreter zu verhindern, 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, setzen Sie den aws:SourceArn Wert auf den Wert ARN des Jobs. Verwenden Sie einen Platzhalter für die Auftragsnummer inARN, 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 Amazon S3 GetObject und ListBucket Berechtigungen für den Amazon S3-Bucket, der Ihre Eingabedaten enthält, und Amazon S3-Berechtigungen für Ihren Amazon S3 S3-Ausgabedaten-Bucket PutObject erteilt werden.

Berechtigungen zum Zulassen aller Amazon Comprehend Comprehend-Aktionen

Nachdem Sie sich angemeldet haben AWS, 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 (stellen Sie sich diesen Benutzer als dienstspezifischen Administrator vor), 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 im Hinblick auf die Verschlüsselung auf folgende Weise 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:Decrypt entsprechende Berechtigung verfügen.

  • Damit Amazon Comprehend Dokumente verschlüsseln kann, die auf einem Speichervolume gespeichert sind, das an die Compute-Instance angehängt ist, die den Analyseauftrag verarbeitet, muss die IAM Rolle über die entsprechende Berechtigung verfügen. kms:CreateGrant

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

Berechtigungen, um Aktionen zur Themenmodellierung zuzulassen

Die folgende Berechtigungsrichtlinie gewährt Benutzern Berechtigungen zur Durchführung der Themenmodellierungsoperationen von Amazon Comprehend.

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

Berechtigungen, die für einen benutzerdefinierten asynchronen Analyseauftrag erforderlich sind

Wichtig

Wenn Sie über eine IAM Richtlinie verfügen, die den Modellzugriff einschränkt, können Sie einen Inferenzjob mit einem benutzerdefinierten Modell nicht abschließen. Ihre IAM Richtlinie sollte dahingehend aktualisiert werden, dass sie über eine Platzhalterressource für einen benutzerdefinierten asynchronen Analysejob verfügt.

Wenn Sie das StartDocumentClassificationJob und verwenden StartEntitiesDetectionJobAPIs, müssen Sie Ihre IAM Richtlinie aktualisieren, es sei denn, Sie verwenden derzeit Platzhalter als Ressourcen. Wenn Sie ein vortrainiertes Modell StartEntitiesDetectionJobverwenden, 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 und erfolgreich auszuführen StartDocumentClassificationJob . 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" }