Erforderliche Berechtigungen für die Verwendung von AWS Lambda mit Ground Truth - 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.

Erforderliche Berechtigungen für die Verwendung von AWS Lambda mit Ground Truth

Möglicherweise müssen Sie einige oder alle der folgenden Optionen konfigurieren, um AWS Lambda mit Ground Truth zu erstellen und zu verwenden.

  • Sie müssen einer IAM Rolle oder einem Benutzer (zusammen eine IAM Entität) die Erlaubnis erteilen, die Lambda-Funktionen vor und nach der Anmerkung zu erstellen und sie bei der Erstellung des Labeling-Jobs auszuwählen. AWS Lambda

  • Die IAM Ausführungsrolle, die bei der Konfiguration des Labeling-Jobs angegeben wurde, benötigt die Erlaubnis, die Lambda-Funktionen vor und nach der Anmerkung aufzurufen.

  • Die Lambda-Funktionen zur Nachbearbeitung benötigen möglicherweise eine Zugriffsberechtigung für Amazon S3.

In den folgenden Abschnitten erfahren Sie, wie Sie die oben beschriebenen IAM Entitäten erstellen und Berechtigungen gewähren.

Erteilen Sie die Berechtigung zum Erstellen und Auswählen einer AWS Lambda Funktion

Wenn Sie keine detaillierten Berechtigungen für die Entwicklung von Lambda-Funktionen vor und nach der Annotation benötigen, können Sie die AWS verwaltete Richtlinie AWSLambda_FullAccess an einen Benutzer oder eine Rolle anhängen. Diese Richtlinie gewährt umfassende Berechtigungen zur Nutzung aller Lambda-Funktionen sowie zur Durchführung von Aktionen in anderen AWS Diensten, mit denen Lambda interagiert.

Informationen zur Erstellung einer detaillierteren Richtlinie für sicherheitsrelevante Anwendungsfälle finden Sie in der Dokumentation Identity-based IAM Policies for Lambda im to AWS Lambda Developer Guide, um zu erfahren, wie Sie eine IAM Richtlinie erstellen, die zu Ihrem Anwendungsfall passt.

Richtlinien für die Verwendung der Lambda-Konsole

Wenn Sie einer IAM Entität die Erlaubnis zur Verwendung der Lambda-Konsole erteilen möchten, finden Sie weitere Informationen unter Verwenden der Lambda-Konsole im AWS Lambda Entwicklerhandbuch.

Wenn Sie möchten, dass der Benutzer über die in der Lambda-Konsole auf die Ground Truth-Starter-Funktionen vor und nach der AWS Serverless Application Repository Anmerkung zugreifen und diese bereitstellen kann, müssen Sie außerdem Folgendes angeben <aws-region> wo Sie die Funktionen bereitstellen möchten (dies sollte dieselbe AWS Region sein, die für die Erstellung des Labeling-Jobs verwendet wurde), und fügen Sie der IAM Rolle die folgende Richtlinie hinzu.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "serverlessrepo:ListApplicationVersions", "serverlessrepo:GetApplication", "serverlessrepo:CreateCloudFormationTemplate" ], "Resource": "arn:aws:serverlessrepo:<aws-region>:838997950401:applications/aws-sagemaker-ground-truth-recipe" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "serverlessrepo:SearchApplications", "Resource": "*" } ] }

Richtlinien zur Anzeige von Lambda-Funktionen in der Ground-Truth-Konsole

Um einer IAM Entität die Erlaubnis zu erteilen, Lambda-Funktionen in der Ground Truth Truth-Konsole anzuzeigen, wenn der Benutzer einen benutzerdefinierten Labeling-Job erstellt, muss die Entität über die unter beschriebenen Berechtigungen verfügenErteilen Sie die IAM Erlaubnis zur Nutzung der Amazon SageMaker Ground Truth Console, einschließlich der im Abschnitt Workflow-Berechtigungen für benutzerdefinierte Kennzeichnungsaufträge beschriebenen Berechtigungen.

Gewähren Sie IAM der Ausführungsrolle die Berechtigung zum Aufrufen von Funktionen AWS Lambda

Wenn Sie die IAM verwaltete Richtlinie AmazonSageMakerGroundTruthExecutionder IAM Ausführungsrolle hinzufügen, mit der der Labeling-Job erstellt wurde, hat diese Rolle die Berechtigung, Lambda-Funktionen mit einer der folgenden Zeichenfolgen im Funktionsnamen aufzulisten und aufzurufen:GtRecipe,, SageMaker Sagemakersagemaker, oder. LabelingFunction

Wenn die Namen der Lambda-Funktionen zur Vorverarbeitung oder zur Nachbearbeitung keinen der Begriffe aus dem vorherigen Absatz enthalten oder wenn Sie präzisere Berechtigungen benötigen als die in der von AmazonSageMakerGroundTruthExecution verwalteten Richtlinie, können Sie eine Richtlinie hinzufügen, die der folgenden ähnelt, um der Ausführungsrolle die Berechtigung zu erteilen, Funktionen zur Vorverarbeitung und zur Nachbearbeitung aufzurufen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>", "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>" ] } ] }

Erteilen von Lambda-Berechtigungen zur Nachbearbeitung für den Zugriff auf Anmerkungen

Wie unter Lambda zur Nachbearbeitung beschrieben, enthält die Lambda-Anforderung zur Nachbearbeitung den Speicherort der Annotationsdaten in Amazon S3. Dieser Ort wird durch die s3Uri-Zeichenfolge im Objektpayload identifiziert. Um die Anmerkungen bei Eingang zu verarbeiten, selbst für eine einfache Pass-Through-Funktion, müssen Sie die notwendigen Berechtigungen für die Lambda-Ausführungsrolle zur Nachbearbeitung zuweisen, um Dateien aus Ihrem S3-Bucket zu lesen.

Es gibt viele Möglichkeiten, Ihr Lambda für den Zugriff auf Annotationsdaten in Amazon S3 zu konfigurieren. Zwei gängige Methoden sind:

  • Erlauben Sie der Lambda-Ausführungsrolle, die roleArn in der Lambda-Anfrage nach der Anmerkung angegebene SageMaker Ausführungsrolle anzunehmen. Diese SageMaker Ausführungsrolle wird zur Erstellung des Labeling-Jobs verwendet und hat Zugriff auf den Amazon S3 S3-Ausgabe-Bucket, in dem die Annotationsdaten gespeichert sind.

  • Erteilen Sie der Lambda-Ausführungsrolle die Berechtigung für den direkten Zugriff auf den Amazon-S3-Ausgabe-Bucket.

In den folgenden Abschnitten erfahren Sie, wie Sie diese Optionen konfigurieren.

Lambda die Erlaubnis erteilen, die SageMaker Ausführungsrolle zu übernehmen

Damit eine Lambda-Funktion eine SageMaker Ausführungsrolle übernehmen kann, müssen Sie der Ausführungsrolle der Lambda-Funktion eine Richtlinie zuordnen und die Vertrauensstellung der SageMaker Ausführungsrolle so ändern, dass Lambda sie übernehmen kann.

  1. Fügen Sie der Ausführungsrolle Ihrer Lambda-Funktion die folgende IAM Richtlinie hinzu, um die in SageMaker Resource angegebene Ausführungsrolle anzunehmen. Ersetzen Sie 222222222222 durch eine AWS -Konto-ID. Ersetzen Sie sm-execution-role durch den Namen der übernommenen Rolle.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::222222222222:role/sm-execution-role" } }
  2. Ändern Sie die Vertrauensrichtlinie der SageMaker Ausführungsrolle so, dass sie Folgendes Statement einschließt. Ersetzen Sie 222222222222 durch eine AWS -Konto-ID. Ersetzen Sie my-lambda-execution-role durch den Namen der übernommenen Rolle.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:role/my-lambda-execution-role" }, "Action": "sts:AssumeRole" } ] }

Gewähren der Lambda-Ausführungsrolle die Berechtigung für den Zugriff auf S3

Sie können der Lambda-Funktionsausführungsrolle zur Nachbearbeitung eine Richtlinie hinzufügen, die der folgenden ähnelt, um ihr S3-Leseberechtigungen zu erteilen. Ersetzen amzn-s3-demo-bucket mit dem Namen des Ausgabe-Buckets, den Sie bei der Erstellung eines Labeling-Jobs angeben.

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

Gehen Sie wie folgt vor, um einer Lambda-Ausführungsrolle in der Lambda-Konsole S3-Leseberechtigungen hinzuzufügen.

Fügen Sie Lambda zur Nachbearbeitung S3-Leseberechtigungen hinzu:
  1. Öffnen Sie die Seite Funktionen in der Lambda-Konsole.

  2. Klicken Sie auf den Namen der Funktion zur Nachbearbeitung.

  3. Wählen Sie Konfiguration und anschließend Berechtigungen aus.

  4. Wählen Sie den Rollennamen aus, und die Übersichtsseite für diese Rolle wird in der IAM Konsole auf einer neuen Registerkarte geöffnet.

  5. Wählen Sie Richtlinien anfügen aus.

  6. Führen Sie eine der folgenden Aktionen aus:

    • Suchen Sie und wählen Sie AmazonS3ReadOnlyAccess aus, um der Funktion die Berechtigung zum Lesen aller Buckets und Objekte im Konto zu erteilen.

    • Wenn Sie präzisere Berechtigungen benötigen, wählen Sie Richtlinie erstellen aus und verwenden Sie das Richtlinienbeispiel aus dem vorherigen Abschnitt, um eine Richtlinie zu erstellen. Beachten Sie, dass Sie nach dem Erstellen der Richtlinie zur Seite mit der Zusammenfassung der Ausführungsrolle zurückkehren müssen.

  7. Wenn Sie die AmazonS3ReadOnlyAccess-verwaltete Richtlinie verwendet haben, wählen Sie Richtlinie anfügen aus.

    Wenn Sie eine neue Richtlinie erstellt haben, kehren Sie zur Seite mit der Zusammenfassung der Lambda-Ausführungsrolle zurück und fügen Sie die soeben erstellte Richtlinie an.