Création d'un rôle SageMaker d'exécution pour un job d'étiquetage Ground Truth - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un rôle SageMaker d'exécution pour un job d'étiquetage Ground Truth

Lorsque vous configurez votre tâche d'étiquetage, vous devez fournir un rôle d'exécution, c'est-à-dire SageMaker un rôle autorisé à assumer pour démarrer et exécuter votre tâche d'étiquetage.

Ce rôle doit donner à Ground Truth l'autorisation d'accéder aux éléments suivants :

  • Amazon S3, pour récupérer vos données source et écrire les données de sortie dans un compartiment Amazon S3. Vous pouvez soit autoriser un IAM rôle à accéder à un bucket complet en fournissant le bucketARN, soit accorder l'accès au rôle pour accéder à des ressources spécifiques d'un bucket. Par exemple, le ARN nom d'un compartiment peut ressembler à arn:aws:s3:::awsexamplebucket1 et celui ARN d'une ressource d'un compartiment Amazon S3 peut ressembler àarn:aws:s3:::awsexamplebucket1/prefix/file-name.png. Pour appliquer une action à toutes les ressources d'un compartiment Amazon S3, vous pouvez utiliser le caractère de remplacement : *. Par exemple, arn:aws:s3:::awsexamplebucket1/prefix/*. Pour plus d'informations, veuillez consulter la section Ressources Amazon S3 dans le Guide de l'utilisateur Amazon Simple Storage Service.

  • CloudWatch pour enregistrer les statistiques des employés et étiqueter les statuts des tâches.

  • AWS KMS pour le chiffrement des données. (Facultatif)

  • AWS Lambda pour traiter les données d'entrée et de sortie lorsque vous créez un flux de travail personnalisé.

En outre, si vous créez une Tâche d'étiquetage en streaming, ce rôle doit avoir l'autorisation d'accéder à :

  • Amazon SQS va créer une interaction avec une SQS file d'attente utilisée pour gérer les demandes d'étiquetage.

  • Amazon SNS pour s'abonner à votre sujet SNS d'entrée Amazon et en récupérer les messages et pour envoyer des messages à votre sujet SNS de sortie Amazon.

Toutes ces autorisations peuvent être accordées avec la stratégie gérée AmazonSageMakerGroundTruthExecution, sauf :

  • Chiffrement des données et des volumes de stockage de vos compartiments Amazon S3. Pour savoir comment configurer ces autorisations, veuillez consulter Chiffrer les données de sortie et de volume de stockage avec AWS KMS.

  • Autorisation de sélectionner et d'appeler des fonctions Lambda qui n'incluent pas GtRecipe, SageMaker, Sagemaker, sagemaker ou LabelingFunction dans le nom de la fonction.

  • Les compartiments Amazon S3 qui n'incluent pas GroundTruth, Groundtruth, groundtruth, SageMaker, Sagemaker et sagemaker dans le préfixe ou le nom du compartiment ou une balise d'objet qui inclut SageMaker dans le nom (insensible à la casse).

Si vous avez besoin d'autorisations plus détaillées que celles fournies dans AmazonSageMakerGroundTruthExecution, utilisez les exemples de stratégie suivants pour créer un rôle d'exécution qui correspond à votre cas d'utilisation spécifique.

Exigences du rôle d'exécution des types de tâches intégrés (tâches qui ne s'exécutent pas en streaming, ou dites ponctuelles)

La stratégie suivante accorde l'autorisation de créer une tâche d'étiquetage pour un type de tâche intégré. Cette politique d'exécution n'inclut pas les autorisations pour le chiffrement ou le déchiffrement AWS KMS des données. Remplacez chaque rouge en italique ARN par votre propre Amazon S3. ARNs

{ "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": "*" } ] }

Exigences du rôle d'exécution des types de tâches intégrés (tâches à exécution perpétuelle)

Si vous créez une tâche d'étiquetage en streaming, vous devez ajouter une stratégie similaire à la suivante au rôle d'exécution que vous utilisez pour créer la tâche d'étiquetage. Pour réduire la portée de la politique, remplacez le * in Resource par des AWS ressources spécifiques auxquelles vous souhaitez autoriser le IAM rôle à accéder et à utiliser.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<input-bucket-name>/*", "arn:aws:s3:::<output-bucket-name>/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/SageMaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "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": "*" }, { "Sid": "StreamingQueue", "Effect": "Allow", "Action": [ "sqs:CreateQueue", "sqs:DeleteMessage", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sqs:ReceiveMessage", "sqs:SendMessage", "sqs:SendMessageBatch", "sqs:SetQueueAttributes" ], "Resource": "arn:aws:sqs:*:*:*GroundTruth*" }, { "Sid": "StreamingTopicSubscribe", "Effect": "Allow", "Action": "sns:Subscribe", "Resource": [ "arn:aws:sns:<aws-region>:<aws-account-number>:<input-topic-name>", "arn:aws:sns:<aws-region>:<aws-account-number>:<output-topic-name>" ], "Condition": { "StringEquals": { "sns:Protocol": "sqs" }, "StringLike": { "sns:Endpoint": "arn:aws:sns:<aws-region>:<aws-account-number>:*GroundTruth*" } } }, { "Sid": "StreamingTopic", "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:<aws-region>:<aws-account-number>:<input-topic-name>", "arn:aws:sns:<aws-region>:<aws-account-number>:<output-topic-name>" ] }, { "Sid": "StreamingTopicUnsubscribe", "Effect": "Allow", "Action": [ "sns:Unsubscribe" ], "Resource": [ "arn:aws:sns:<aws-region>:<aws-account-number>:<input-topic-name>", "arn:aws:sns:<aws-region>:<aws-account-number>:<output-topic-name>" ] } ] }

Exigences de rôle d'exécution pour les types de tâche personnalisés

Si vous souhaitez créer un Flux d'étiquetage personnalisé, ajoutez l'instruction suivante à une stratégie de rôle d'exécution comme celles se trouvant dans Exigences du rôle d'exécution des types de tâches intégrés (tâches qui ne s'exécutent pas en streaming, ou dites ponctuelles) ou Exigences du rôle d'exécution des types de tâches intégrés (tâches à exécution perpétuelle).

Cette stratégie donne au rôle d'exécution l'autorisation Invoke pour vos fonctions Lambda de pré-annotation et de post-annotation.

{ "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>" ] }

Autorisations requises pour l'étiquetage de données automatique

Si vous souhaitez créer une tâche d'étiquetage avec l'étiquetage automatique des données activé, vous devez 1) ajouter une politique à la IAM politique attachée au rôle d'exécution et 2) mettre à jour la politique de confiance du rôle d'exécution.

L'instruction suivante permet de transmettre le rôle IAM d'exécution SageMaker afin qu'il puisse être utilisé pour exécuter les tâches d'entraînement et d'inférence utilisées respectivement pour l'apprentissage actif et l'étiquetage automatique des données. Ajoutez cette instruction à une stratégie de rôle d'exécution comme celles qui se trouvent dans Exigences du rôle d'exécution des types de tâches intégrés (tâches qui ne s'exécutent pas en streaming, ou dites ponctuelles) ou Exigences du rôle d'exécution des types de tâches intégrés (tâches à exécution perpétuelle). Remplacez arn:aws:iam::<account-number>:role/<role-name> par le rôle d'exécutionARN. Vous trouverez votre IAM rôle ARN dans la IAM console sous Rôles.

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

L'instruction suivante permet d' SageMaker assumer le rôle d'exécution pour créer et gérer les tâches de SageMaker formation et d'inférence. Cette stratégie doit être ajoutée à la relation d'approbation du rôle d'exécution. Pour savoir comment ajouter ou modifier une politique d'approbation des IAM rôles, consultez la section Modification d'un rôle dans le Guide de IAM l'utilisateur.

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