Berechtigungen und Sicherheit in Amazon Augmented AI - Amazon SageMaker

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.

Berechtigungen und Sicherheit in Amazon Augmented AI

Wenn Sie Amazon Augmented AI (Amazon A2I) verwenden, um einen Workflow zur Überprüfung durch Mitarbeiter für Ihre ML/KI-Anwendung zu erstellen, erstellen und konfigurieren Sie Ressourcen in Amazon, SageMaker z. B. eine menschliche Belegschaft und Vorlagen für Arbeiteraufgaben. Um einen Human Loop zu konfigurieren und zu starten, integrieren Sie Amazon A2I entweder in andere AWS Dienste wie Amazon Textract oder Amazon Rekognition oder verwenden die Amazon Augmented AI Runtime API. Um einen menschlichen Überprüfungs-Workflow zu erstellen und einen menschlichen Kreislauf in Gang zu setzen, müssen Sie Ihrer AWS Identity and Access Management (IAM-) Rolle oder Ihrem Benutzer bestimmte Richtlinien zuordnen. Das heißt:

  • Wenn Sie am oder nach dem 12. Januar 2020 ein Human Loop mit Bildeingabedaten starten, müssen Sie dem Amazon-S3-Bucket, der Ihre Eingabedaten enthält, eine CORS-Header-Richtlinie hinzufügen. Weitere Informationen hierzu finden Sie unter CORS benötigte Berechtigungen.

  • Wenn Sie eine Flow-Definition erstellen, müssen Sie eine Rolle bereitstellen, die die Berechtigung für den Zugriff auf sowohl zum Lesen von Objekten, die in einer Benutzeroberfläche für menschliche Aufgaben gerendert werden, als auch zum Schreiben der Ergebnisse der Prüfung durch Menschen gewährt.

    Dieser Rolle muss außerdem eine Vertrauensrichtlinie angehängt sein, um die SageMaker Erlaubnis zu erteilen, diese Rolle zu übernehmen. Auf diese Weise kann Amazon A2I Aktionen entsprechend den Berechtigungen ausführen, die Sie der Rolle anfügen.

    Unter Hinzufügen von Berechtigungen zur IAM-Rolle, die zum Erstellen einer Flow-Definition verwendet wird finden Sie Beispielrichtlinien, die Sie ändern und der Rolle anfügen können, die Sie zum Erstellen einer Flow-Definition verwenden. Dies sind die Richtlinien, die der IAM-Rolle zugeordnet sind, die im Bereich Human Review Workflows im Amazon A2I-Bereich der SageMaker Konsole erstellt wurde.

  • Zum Erstellen und Starten von Human Loops können Sie entweder eine API-Operation aus einem integrierten Task-Typ (z. B. DetectModerationLabel oder AnalyzeDocument) oder die Amazon A2I Runtime-API-Operation StartHumanLoop in einer benutzerdefinierten ML-Anwendung verwenden. Sie müssen die AmazonAugmentedAIFullAccess verwaltete Richtlinie AmazonAugmentedAIFullAccess an den Benutzer anfügen, der diese API-Operationen aufruft, um die Serviceberechtigung zur Verwendung von Amazon A2I Vorgängen zu erteilen. Um zu erfahren wie dies geht, vgl. Erstellen eines Benutzers, der Amazon A2I API-Operationen aufrufen kann.

    Diese Richtlinie gewährt keine Genehmigung zum Aufrufen der API-Operationen des AWS Dienstes, die mit integrierten Aufgabentypen verknüpft sind. AmazonAugmentedAIFullAccess erteilt beispielsweise AmazonAugmentedAIFullAccesskeine Berechtigung zum Aufrufen der DetectModerationLabel API-Operation oder Amazon Textract AnalyzeDocument API Operation. Sie können die allgemeinere Richtlinie AmazonAugmentedAIIntegratedAPIAccess verwenden, um diese Berechtigungen zu erteilen. Weitere Informationen finden Sie unter Einen Benutzer mit Berechtigungen zum Aufrufen von Amazon-A2I-, Amazon-Textract- und Amazon-Rekognition-API-Operationen erstellen. Dies ist eine gute Option, wenn Sie einem Benutzer umfassende Berechtigungen zur Nutzung von Amazon A2I und AWS der API-Operationen integrierter Dienste gewähren möchten.

    Wenn Sie detailliertere Berechtigungen konfigurieren möchten, finden Sie unter Beispiele für identitätsbasierte Richtlinien von Amazon Rekognition und Beispiele für identitätsbasierte Richtlinien von Amazon Textract identitätsbasierte Richtlinien, die Sie verwenden können, um die Berechtigung zur Nutzung dieser einzelnen Services zu erteilen.

  • Um eine Vorschau der benutzerdefinierten Vorlage für die Benutzeroberfläche für Auftragnehmeraufgaben anzuzeigen, benötigen Sie eine IAM-Rolle mit Berechtigungen zum Lesen von Amazon S3 Objekten, die auf der Benutzeroberfläche gerendert werden. Ein Richtlinienbeispiel finden Sie unter Aktivieren der Vorschau von Vorlagen für Auftragnehmeraufgaben .

CORS benötigte Berechtigungen

Anfang 2020 änderten weit verbreitete Browser wie Chrome und Firefox ihr Standardverhalten für das Rotieren von Bildern auf der Grundlage von Bildmetadaten, den sogenannten EXIF-Daten. Bisher wurden Bilder in Browsern immer genau so angezeigt, wie sie auf der Festplatte gespeichert sind, die normalerweise nicht gedreht ist. Nach der Änderung rotieren Bilder nun entsprechend einem Teil der Bildmetadaten, dem sogenannten Orientierungswert. Dies hat wichtige Auswirkungen auf die gesamte Community für das Machine Learning. Wenn beispielsweise die EXIF-Ausrichtung nicht berücksichtigt wird, können Anwendungen, die zum Kommentieren von Bildern verwendet werden, Bilder in unerwarteter Ausrichtung anzeigen und zu falschen Beschriftungen führen.

Ab Chrome 89 AWS kann die Rotation von Bildern nicht mehr automatisch verhindert werden, da die Webstandardgruppe W3C entschieden hat, dass die Möglichkeit, die Rotation von Bildern zu kontrollieren, gegen die Same-Origin-Richtlinie des Webs verstößt. Daher müssen Sie den S3-Buckets, die Ihre Eingabebilder enthalten, eine CORS-Header-Richtlinie hinzufügen, um sicherzustellen, dass menschliche Mitarbeiter Ihre Eingabebilder in einer vorhersehbaren Ausrichtung kommentieren, wenn Sie Anfragen zur Erstellung eines Human Loops einreichen.

Wichtig

Wenn Sie den S3-Buckets, die Ihre Eingabedaten enthalten, keine CORS-Konfiguration hinzufügen, schlagen die manuellen Überprüfungsaufgaben für diese Eingabedatenobjekte fehl.

Sie können eine CORS-Richtlinie zu einem S3-Bucket hinzufügen, der Eingabedaten in der Amazon S3-Konsole enthält. Um die erforderlichen CORS-Header für den S3-Bucket festzulegen, der Ihre Eingabebilder in der S3-Konsole enthält, folgen Sie den Anweisungen unter Wie füge ich die domainübergreifende gemeinsame Nutzung von Ressourcen mit CORS hinzu?. Verwenden Sie den folgenden CORS-Konfigurationscode für die Buckets, die Ihre Bilder hosten. Wenn Sie die Amazon S3-Konsole verwenden, um die Richtlinie zu Ihrem Bucket hinzuzufügen, müssen Sie das JSON-Format verwenden.

JSON

[{ "AllowedHeaders": [], "AllowedMethods": ["GET"], "AllowedOrigins": ["*"], "ExposeHeaders": [] }]

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

Das folgende GIF zeigt die Anweisungen in der Amazon S3-Dokumentation zum Hinzufügen einer CORS-Header-Richtlinie mithilfe der Amazon S3-Konsole.

Hinzufügen von Berechtigungen zur IAM-Rolle, die zum Erstellen einer Flow-Definition verwendet wird

Um eine Flow-Definition zu erstellen, fügen Sie die Richtlinien in diesem Abschnitt der Rolle hinzu, die Sie bei der Erstellung eines Workflows zur Überprüfung durch Menschen in der SageMaker Konsole oder bei der Verwendung des API-Vorgangs verwenden. CreateFlowDefinition

  • Wenn Sie die Konsole verwenden, um einen Workflow für die Prüfung durch Menschen zu erstellen, geben Sie den Amazon-Ressourcennamen (ARN) der Rolle in das Feld IAM role (IAM-Rolle) ein, wenn Sie einen Workflow für die Prüfung durch Menschen in der Konsole erstellen.

  • Wenn Sie eine Flow-Definition über die API erstellen, fügen Sie diese Richtlinien der Rolle an, die an den RoleArn-Parameter der CreateFlowDefinition-Operation übergeben wird.

Wenn Sie einen Workflow für die Prüfung durch Menschenerstellen, ruft Amazon A2I Amazon S3 auf, um die Aufgabe abzuschließen. Um Amazon A2I die Berechtigung zum Abrufen und Speichern Ihrer Dateien in Ihrem Amazon S3 Bucket zu erteilen, erstellen Sie die folgende Richtlinie und fügen Sie sie Ihrer Rolle an. Wenn beispielsweise die Bilder, Dokumente und anderen Dateien, die Sie zur Prüfung durch Menschen senden, in einem S3-Bucket namens my_input_bucket gespeichert sind, und Sie möchten, dass die menschlichen Prüfungen in einem Bucket namens my_output_bucket gespeichert werden, würden Sie die folgende Richtlinie erstellen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my_output_bucket/*" ] } ] }

Darüber hinaus muss die IAM-Rolle über die folgende Vertrauensrichtlinie verfügen, um die SageMaker Erlaubnis zur Übernahme der Rolle zu erteilen. Weitere Informationen IAM-Vertrauensrichtlinien finden Sie im Abschnitt Ressourcenbasierte Richtlinien unter Richtlinien und Berechtigungen in der Dokumentation zu AWS Identity and Access Management.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSageMakerToAssumeRole", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Weitere Informationen zum Erstellen und Verwalten von IAM-Rollen und -Richtlinien finden Sie in den folgenden Themen im AWS Identity and Access Management Benutzerhandbuch:

Erstellen eines Benutzers, der Amazon A2I API-Operationen aufrufen kann

Um Amazon A2I zum Erstellen und Starten von Hooman Loops für Amazon Rekognition, Amazon Textract oder die Amazon-A2I-Runtime-API zu verwenden, müssen Sie einen Benutzer verwenden, der die Berechtigung hat, Amazon-A2I-Vorgänge aufzurufen. Verwenden Sie zu diesem Zweck die IAM Konsole, um die AmazonAugmentedAIFullAccess verwaltete Richtlinie einem neuen oder vorhandenen Benutzer anzufügen.

Diese Richtlinie gewährt einem Benutzer die Erlaubnis, API-Operationen von der SageMaker API für die Erstellung und Verwaltung von Flow-Definitionen und der Amazon Augmented AI Runtime API für die Erstellung und Verwaltung von Human Loop aufzurufen. Weitere Informationen zu diesen API-Operationen finden Sie unter Verwenden von APIs in Amazon Augmented AI.

AmazonAugmentedAIFullAccess gewährt keine Berechtigungen für die Verwendung von Amazon Rekognition or Amazon Textract API-Operationen.

Anmerkung

Sie können AmazonAugmentedAIFullAccess auch einer IAM-Rolle anfügen, die zum Erstellen und Starten einer Human Loop verwendet wird.

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:

Informationen finden Sie im Abschnitt Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im AWS Identity and Access Management IAM-Benutzerhandbuch.

Einen Benutzer mit Berechtigungen zum Aufrufen von Amazon-A2I-, Amazon-Textract- und Amazon-Rekognition-API-Operationen erstellen

Um einen Benutzer zu erstellen, der die Berechtigung hat, die API-Vorgänge aufzurufen, die von den eingebauten Aufgabentypen verwendet werden (d. h. DetectModerationLables für Amazon Rekognition und AnalyzeDocument für Amazon Textract), und die Berechtigung hat, alle Amazon-A2I-API-Vorgänge zu verwenden, fügen Sie die verwaltete IAM-Richtlinie, AmazonAugmentedAIIntegratedAPIAccess. Sie können diese Richtlinie verwenden, wenn Sie einem Benutzer, der Amazon A2I mit mehreren Task-Typen verwendet, allgemeine Berechtigungen erteilen möchten. Weitere Informationen zu diesen API-Operationen finden Sie unter Verwenden von APIs in Amazon Augmented AI.

Anmerkung

Sie können AmazonAugmentedAIIntegratedAPIAccess auch einer IAM-Rolle anfügen, die zum Erstellen und Starten einer Human Loop verwendet wird.

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:

Informationen finden Sie im Abschnitt Adding and Removing IAM Identity Permissions im AWS Identity and Access Management -Benutzerhandbuch.

Aktivieren der Vorschau von Vorlagen für Auftragnehmeraufgaben

Sie können eine Vorlage für Auftragnehmeraufgaben erstellen, um die Benutzeroberfläche und Anweisungen anzupassen, die Ihren Auftragnehmern beim Arbeiten an Ihren Aufgaben angezeigt werden. Sie können die Vorlage mithilfe der CreateHumanTaskUiOperation oder der SageMaker Konsole erstellen.

Um eine Vorschau der Vorlage anzuzeigen, benötigen Sie eine IAM-Rolle mit den folgenden Berechtigungen zum Lesen von Amazon S3-Objekten, die auf der Benutzeroberfläche gerendert werden.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] } ] }

Für die Aufgabentypen Amazon Rekognition und Amazon Textract können Sie im Bereich Amazon Augmented AI der Konsole eine Vorschau Ihrer Vorlage anzeigen. SageMaker Bei benutzerdefinierten Aufgabentypen können Sie eine Vorschau der Vorlage anzeigen, indem Sie die RenderUiTemplate Operation aufrufen. Befolgen Sie die Anweisungen für Ihren Aufgabentyp, um eine Vorschau der Vorlage anzuzeigen:

  • Aufgabentypen Amazon Rekognition und Amazon Textract — Verwenden Sie in der SageMaker Konsole den Amazon-Ressourcennamen (ARN) der Rolle in dem unter dokumentierten Verfahren. Erstellen Sie eine Worker-Aufgabenvorlage

  • Benutzerdefinierte Aufgabentypen – Verwenden Sie im RenderUiTemplate Vorgang die ARN der Rolle im RoleArn Parameter.

Amazon A2I mit AWS KMS verschlüsselten Buckets verwenden

Wenn Sie einen AWS Key Management Service (AWS KMS) vom Kunden verwalteten Schlüssel angeben, um die Ausgabedaten in OutputConfig of zu verschlüsseln CreateFlowDefinition, müssen Sie diesem Schlüssel eine IAM-Richtlinie hinzufügen, die der folgenden ähnelt. Diese Richtlinie erteilt der IAM-Ausführungsrolle, mit der Sie Ihre Human Loops erstellen, die Erlaubnis, diesen Schlüssel für die Ausführung aller aufgeführten Aktionen unter "Action" zu verwenden. Weitere Informationen zu diesen Aktionen finden Sie im AWS KMSAWS Key Management Service Entwicklerhandbuch unter Berechtigungen.

Um diese Richtlinie zu verwenden, ersetzen Sie den ARN der IAM-Servicerolle durch den ARN der Ausführungsrolle in "Principal", mit der Sie den Workflow für die menschliche Überprüfung (Flow-Definition)erstellen. Wenn Sie einen Beschriftungsauftrag mithilfe CreateFlowDefinition erstellen, ist dies der ARN, für den Sie RoleArn angeben. Beachten Sie, dass Sie ein KmsKeyId beim Erstellen einer Flow-Definition in der Konsole nicht angeben können.

{ "Sid": "AllowUseOfKmsKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/example-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Zusätzliche Berechtigungen und Sicherheitsressourcen