Cree un rol SageMaker de ejecución para un trabajo de etiquetado de Ground Truth - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree un rol SageMaker de ejecución para un trabajo de etiquetado de Ground Truth

Al configurar el trabajo de etiquetado, debe proporcionar un rol de ejecución, que es un rol que SageMaker tiene permiso para asumir para iniciar y ejecutar el trabajo de etiquetado.

Este rol debe dar a Ground Truth permiso para acceder a lo siguiente:

  • A Amazon S3 para recuperar los datos de entrada y escribir los datos de salida en un bucket de Amazon S3. Puede conceder permiso para que un rol de IAM tenga acceso al bucket completo proporcionando el ARN del bucket o conceder acceso al rol para que acceda a recursos específicos de un bucket. Por ejemplo, el ARN de un bucket puede tener un aspecto similar a arn:aws:s3:::awsexamplebucket1 y el ARN de un recurso de un bucket de Amazon S3 puede ser similar a arn:aws:s3:::awsexamplebucket1/prefix/file-name.png. Para aplicar una acción a todos los recursos de un bucket de Amazon S3, puede utilizar el comodín:*. Por ejemplo, arn:aws:s3:::awsexamplebucket1/prefix/*. Para obtener más información, consulte los Recursos de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.

  • CloudWatch para registrar las métricas de los trabajadores y los estados de los trabajos de etiquetado.

  • AWS KMS para el cifrado de datos. (Opcional)

  • AWS Lambda para procesar los datos de entrada y salida al crear un flujo de trabajo personalizado.

Además, si crea un trabajo de etiquetado en streaming, este rol debe tener permiso para acceder a lo siguiente:

  • A Amazon SQS para crear una interacción con una cola de SQS que se utiliza para administrar las solicitudes de etiquetado.

  • A Amazon SNS para suscribirse y recuperar mensajes de su tema de entrada de Amazon SNS y enviar mensajes a su tema de salida de Amazon SNS.

Todos estos permisos se pueden conceder con la política administrada AmazonSageMakerGroundTruthExecution, excepto:

  • Cifrado del volumen de datos y almacenamiento de sus buckets de Amazon S3. Para obtener información sobre cómo configurar estos permisos, consulte Cifre los datos de salida y el volumen de almacenamiento con AWS KMS.

  • Permiso para seleccionar e invocar funciones de Lambda que no incluyan GtRecipe, SageMaker, Sagemaker, sagemaker o LabelingFunction en el nombre de la función.

  • Buckets de Amazon S3 que no incluyen GroundTruth, Groundtruth, groundtruth, SageMaker, Sagemaker ni sagemaker en el prefijo o nombre del bucket o una etiqueta de objeto que incluya SageMaker en el nombre (no distingue entre mayúsculas y minúsculas).

Si necesita permisos más detallados que los que se proporcionan en AmazonSageMakerGroundTruthExecution, utilice los siguientes ejemplos de políticas para crear un rol de ejecución que se adapte a su caso de uso específico.

Requisitos de roles de ejecución de tipos de tareas integrados (no en streaming)

La siguiente política concede permiso para crear un trabajo de etiquetado para un tipo de tarea integrado. Esta política de ejecución no incluye permisos para el cifrado o descifrado de AWS KMS datos. Sustituya cada ARN rojo y en cursiva por sus propios ARN de Amazon S3.

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

Requisitos de roles de ejecución de tipos de tareas integrados (en streaming)

Si crea un trabajo de etiquetado en streaming, debe añadir una política similar a la siguiente al rol de ejecución que utilice para crear el trabajo de etiquetado. Para limitar el alcance de la política, sustituya los * recursos por AWS recursos específicos a los que desee conceder permiso de acceso y uso al rol de IAM. Resource

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

Requisitos de roles de ejecución de tipos de tareas personalizadas

Si desea crear un flujo de trabajo de etiquetado personalizado, añada la siguiente declaración a una política de roles de ejecución como las que se encuentran en Requisitos de roles de ejecución de tipos de tareas integrados (no en streaming) o Requisitos de roles de ejecución de tipos de tareas integrados (en streaming).

Esta política otorga al rol de ejecución permiso para Invoke sus funciones de Lambda previas y posteriores a la anotación.

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

Requisitos de permisos para el etiquetado de datos automático

Si desea crear un trabajo de etiquetado con el etiquetado de datos automático activado, debe 1) añadir una política a la política de IAM asociada al rol de ejecución y 2) actualizar la política de confianza del rol de ejecución.

La siguiente declaración permite transferir la función de ejecución de IAM para que se pueda utilizar para SageMaker ejecutar los trabajos de formación e inferencia que se utilizan para el aprendizaje activo y el etiquetado automatizado de datos, respectivamente. Añada esta declaración a una política de roles de ejecución como las que se encuentran en Requisitos de roles de ejecución de tipos de tareas integrados (no en streaming) o Requisitos de roles de ejecución de tipos de tareas integrados (en streaming). Sustituya arn:aws:iam::<account-number>:role/<role-name> por el ARN del rol de ejecución. Encontrará el ARN del rol de IAM en la consola de IAM, en Roles.

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

La siguiente afirmación permite SageMaker asumir la función de ejecución para crear y gestionar los trabajos de SageMaker formación e inferencia. Esta política debe añadirse a la relación de confianza del rol de ejecución. Para obtener más información sobre cómo añadir o modificar una política de confianza de rol de IAM, consulte Modificación de un rol en la Guía del usuario de IAM.

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