Erstellen einer SageMaker-AI-Ausführungsrolle für einen Ground-Truth-Kennzeichnungsauftrag - Amazon SageMaker AI

Erstellen einer SageMaker-AI-Ausführungsrolle für einen Ground-Truth-Kennzeichnungsauftrag

Wenn Sie Ihren Kennzeichnungsauftrag konfigurieren, müssen Sie eine Ausführungsrolle angeben, d. h. eine Rolle, die SageMaker AI annehmen darf, um Ihren Kennzeichnungsauftrag zu starten und auszuführen.

Diese Rolle muss Ground Truth die folgende Zugriffsberechtigung geben:

  • Amazon S3 kann Ihre Eingabedaten abrufen und Ausgabedaten in einen Amazon-S3-Bucket schreiben. Sie können entweder einer IAM-Rolle die Berechtigung für den Zugriff auf einen gesamten Bucket erteilen, indem Sie den Bucket-ARN angeben, oder Sie können der Rolle den Zugriff auf bestimmte Ressourcen in einem Bucket gewähren. Der ARN für einen Bucket kann z. B. so aussehen wie arn:aws:s3:::amzn-s3-demo-bucket1, und der ARN einer Ressource in einem Amazon-S3-Bucket kann so aussehen wie arn:aws:s3:::amzn-s3-demo-bucket1/prefix/file-name.png. Um eine Aktion auf alle Ressourcen in einem Amazon-S3-Bucket anzuwenden, können Sie den Platzhalter * verwenden. Beispiel, arn:aws:s3:::amzn-s3-demo-bucket1/prefix/*. Weitere Informationen finden Sie unter Amazon S3-Ressourcen im Benutzerhandbuch zum Amazon Simple Storage Service.

  • CloudWatch zur Protokollierung von Mitarbeiterkennzahlen und des Status von Kennzeichnungsaufträgen.

  • AWS KMS für die Datenverschlüsselung. (Optional)

  • AWS Lambda für die Verarbeitung von Eingabe- und Ausgabedaten, wenn Sie einen benutzerdefinierten Workflow erstellen.

Wenn Sie einen Streaming-Kennzeichnungsauftrag erstellen, muss diese Rolle außerdem über folgende Zugriffsberechtigungen verfügen:

  • Amazon SQS zur Erstellung einer Interaktion mit einer SQS-Warteschlange für die Verwaltung von Kennzeichnungsanfragen.

  • Amazon SNS, um Nachrichten aus Ihrem Amazon SNS-Eingabethema zu abonnieren und abzurufen und Nachrichten an Ihr Amazon SNS-Ausgabethema zu senden.

Alle diese Berechtigungen können mit der AmazonSageMakerGroundTruthExecution verwalteten Richtlinie erteilt werden, außer:

  • Verschlüsselung von Daten und Speicher-Volumes Ihrer Amazon-S3-Buckets. Informationen zum Einrichten dieser Berechtigungen finden Sie unter Verschlüsselung von Ausgabedaten und Speicher-Volumes mit AWS KMS.

  • Berechtigung zum Auswählen und Aufrufen von Lambda-Funktionen ohne GtRecipe, SageMaker, Sagemaker, sagemaker oder LabelingFunction im Funktionsnamen.

  • Amazon-S3-Buckets, die weder GroundTruth, Groundtruth, groundtruth, SageMaker, Sagemaker noch sagemaker im Präfix oder im Bucket-Namen oder eine Objekt-Markierung enthalten, die SageMaker im Namen enthält (Groß- und Kleinschreibung wird nicht beachtet).

Wenn Sie präzisere Berechtigungen brauchen als die unter AmazonSageMakerGroundTruthExecution angegebenen, verwenden Sie die folgenden Richtlinienbeispiele, um eine Ausführungsrolle zu erstellen, die zu Ihrem speziellen Anwendungsfall passt.

Anforderungen an die Ausführungsrolle für integrierte Aufgabentypen (ohne Streaming)

Die folgende Richtlinie gewährt die Berechtigung, einen Kennzeichnungsauftrag für einen integrierten Aufgabentyp zu erstellen. Diese Ausführungsrichtlinie enthält keine Berechtigungen für die AWS KMS-Datenverschlüsselung oder -entschlüsselung. Ersetzen Sie jeden roten, kursiv geschriebenen ARN durch Ihre eigenen Amazon S3-ARNs.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ViewBuckets", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>", "arn:aws:s3:::<output-bucket-name>" ] }, { "Sid": "S3GetPutObjects", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>/*", "arn:aws:s3:::<output-bucket-name>/*" ] }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "*" } ] }

Anforderungen an die Ausführungsrolle für integrierte Aufgabentypen (mit Streaming)

Wenn Sie einen Kennzeichnungsauftrag mit Streaming erstellen, müssen Sie zu der Ausführungsrolle, mit der Sie den Kennzeichnungsauftrag erstellen, eine Richtlinie hinzufügen, ähnlich der folgenden. Um den Umfang der Richtlinie einzugrenzen, ersetzen Sie das * in Resource durch bestimmte AWS Ressourcen, für die Sie der IAM-Rolle den Zugriff und die Nutzung gewähren möchten.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket2/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/SageMaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket2" ] }, { "Sid": "CloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "*" }, { "Sid": "StreamingQueue", "Effect": "Allow", "Action": [ "sqs:CreateQueue", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:SetQueueAttributes" ], "Resource": "arn:aws:sqs:*:*:*GroundTruth*" }, { "Sid": "StreamingTopicSubscribe", "Effect": "Allow", "Action": "sns:Subscribe", "Resource": [ "arn:aws:sns:us-east-1:111122223333:input-topic-name", "arn:aws:sns:us-east-1:111122223333:output-topic-name" ], "Condition": { "StringEquals": { "sns:Protocol": "sqs" }, "StringLike": { "sns:Endpoint": "arn:aws:sns:us-east-1:111122223333:*GroundTruth*" } } }, { "Sid": "StreamingTopic", "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-1:111122223333:input-topic-name", "arn:aws:sns:us-east-1:111122223333:output-topic-name" ] }, { "Sid": "StreamingTopicUnsubscribe", "Effect": "Allow", "Action": [ "sns:Unsubscribe" ], "Resource": [ "arn:aws:sns:us-east-1:111122223333:input-topic-name", "arn:aws:sns:us-east-1:111122223333:output-topic-name" ] } ] }

Anforderungen an die Ausführungsrolle für benutzerdefinierte Aufgabentypen

Wenn Sie einen benutzerdefinierten Kennzeichnungs-Workflow erstellen möchten, fügen Sie die folgende Anweisung zur Richtlinie einer Ausführungsrolle hinzu, wie sie in Anforderungen an die Ausführungsrolle für integrierte Aufgabentypen (ohne Streaming) oder Anforderungen an die Ausführungsrolle für integrierte Aufgabentypen (mit Streaming) zu finden ist.

Diese Richtlinie erteilt der Ausführungsrolle die Berechtigung zur Invoke Ihrer Lambda-Funktionen vor und nach der Anmerkung.

{ "Sid": "LambdaFunctions", "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>" ] }

Berechtigungsanforderungen für die automatisierte Datenbeschriftung

Wenn Sie einen Kennzeichnungsauftrag mit aktivierter automatisierter Datenbeschriftung erstellen möchten, müssen Sie 1) zu der IAM-Richtlinie, die der Ausführungsrolle zugeordnet ist, eine Richtlinie hinzufügen und 2) die Vertrauensrichtlinie der Ausführungsrolle aktualisieren.

Mit der folgenden Anweisung kann die IAM-Ausführungsrolle an SageMaker AI übergeben werden, so dass sie zum Ausführen der Trainings- und Inference-Aufträge verwendet werden kann, die für aktives Lernen bzw. automatisiertes Daten-Labeling verwendet werden. Fügen Sie diese Anweisung zur Richtlinie für eine Ausführungsrolle hinzu, wie sie in Anforderungen an die Ausführungsrolle für integrierte Aufgabentypen (ohne Streaming) oder Anforderungen an die Ausführungsrolle für integrierte Aufgabentypen (mit Streaming) zu finden sind. Ersetzen Sie arn:aws:iam::<account-number>:role/<role-name> durch den Ausführungsrollen-ARN. Den ARN Ihrer IAM-Rolle finden Sie in der IAM-Konsole unter Rollen.

{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::<account-number>:role/<execution-role-name>", "Condition": { "StringEquals": { "iam:PassedToService": [ "sagemaker.amazonaws.com" ] } } }

Mit Hilfe der folgenden Anweisung kann SageMaker AI die Ausführungsrolle zur Erstellung und Verwaltung der SageMaker AI-Trainings- und Inference-Aufträge übernehmen. Diese Richtlinie muss zur Vertrauensstellung der Ausführungsrolle hinzugefügt werden. Informationen zum Hinzufügen oder Ändern der Vertrauensrichtlinie für eine IAM-Rolle finden Sie unter Ändern einer Rolle im IAM-Benutzerhandbuch.

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