Ejecute un trabajo de etiquetado de Amazon SageMaker Ground Truth en una Amazon Virtual Private Cloud - 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.

Ejecute un trabajo de etiquetado de Amazon SageMaker Ground Truth en una Amazon Virtual Private Cloud

Ground Truth admite las siguientes funcionalidades en Amazon VPC.

  • Puede utilizar las políticas de bucket de Amazon S3 para controlar el acceso a los buckets desde puntos de conexión específicos de VPC o desde VPC específicas. Si lanza un trabajo de etiquetado y los datos de entrada se encuentran en un bucket de Amazon S3 que está restringido a los usuarios de su VPC, puede añadir una política de bucket para conceder también a un punto final de Ground Truth permiso para acceder al bucket. Para obtener más información, consulte Permita a Ground Truth acceder a buckets de Amazon S3 restringidos por VPC.

  • Puede lanzar un trabajo de etiquetado de datos automatizado en su VPC. Utiliza una configuración de VPC para especificar subredes y grupos de seguridad de VPC. SageMaker utiliza esta configuración para lanzar los trabajos de formación e inferencia que se utilizan para el etiquetado automatizado de datos en su VPC. Para obtener más información, consulte Creación de un trabajo de etiquetado de datos automatizado en una VPC.

Es posible que desee utilizar estas opciones de cualquiera de las siguientes formas.

  • Puede utilizar ambos métodos para lanzar un trabajo de etiquetado mediante un bucket de Amazon S3 protegido por VPC con el etiquetado de datos automático activado.

  • Puede iniciar un trabajo de etiquetado mediante cualquier tipo de tarea integrada mediante un bucket protegido por VPC.

  • Puede iniciar un flujo de trabajo de etiquetado personalizado mediante un bucket protegido por VPC. Ground Truth interactúa con las funciones Lambda previas y posteriores a la anotación mediante un punto de conexiónAWS PrivateLink.

Le recomendamos que revise Requisitos previos para ejecutar un trabajo de etiquetado de Ground Truth en una VPC antes de crear un trabajo de etiquetado en una Amazon VPC.

Requisitos previos para ejecutar un trabajo de etiquetado de Ground Truth en una VPC

Revise los siguientes requisitos previos antes de crear un trabajo de etiquetado de Ground Truth en una Amazon VPC.

  • Revise la sección Seguridad y permisos de Ground Truth y asegúrese de cumplir las siguientes condiciones.

    • El usuario que crea el trabajo de etiquetado tiene todos los permisos necesarios

    • Ha creado un rol de ejecución de IAM con los permisos necesarios. Si no necesita permisos ajustados para su caso de uso, le recomendamos que utilice las políticas gestionadas de IAM descritas en Otorgar permisos generales para empezar a usar Ground Truth.

    • Otorgue permiso a su VPC para acceder a los buckets S3 sagemaker-labeling-data-region y sm-bxcb-region-saved-task-states. Se trata de depósitos S3 regionalizados propiedad del sistema a los que se accede desde el portal del trabajador cuando el trabajador está trabajando en una tarea. Usamos estos depósitos para interactuar con los datos gestionados por el sistema.

Permita a Ground Truth acceder a buckets de Amazon S3 restringidos por VPC

En las siguientes secciones se proporcionan detalles sobre los permisos que Ground Truth necesita para iniciar trabajos de etiquetado con buckets de Amazon S3 que tienen acceso restringido a su VPC y sus puntos de conexión de la VPC. Para obtener información sobre cómo restringir el acceso a un bucket de Amazon S3 a una VPC, consulte Control del acceso desde puntos de conexión de la VPC con políticas de bucket en la guía del usuario de Amazon Simple Storage Service. Para obtener información sobre cómo agregar una política a un bucket S3, consulte Agregar una política de bucket mediante la consola de Amazon S3.

nota

Modificar las políticas en los depósitos existentes podría hacer que los trabajos de Ground Truth IN_PROGRESS fallen. Le recomendamos que empiece nuevos trabajos con un depósito nuevo. Si desea seguir utilizando el mismo bucket, puede elegir una de las siguientes opciones.

  • Espera a que termine un trabajo IN_PROGRESS.

  • Finalice el trabajo mediante la consola o el AWS CLI.

Puede restringir el acceso al bucket de Amazon S3 a los usuarios de su VPC mediante un punto de conexión AWS PrivateLink. Por ejemplo, la siguiente política de bucket S3 permite el acceso a un bucket específico, <bucket-name>, desde <vpc> y el punto de conexión <vpc-endpoint> solo. Al modificar esta política, deberá reemplazar todo el texto en cursiva en rojo por sus recursos y especificaciones.

nota

La siguiente política impide a todas las entidades de una VPC, que no sean usuarios, realizar las acciones enumeradas en Action. Si no incluye acciones en esta lista, cualquier entidad que tenga acceso a este depósito y permiso para realizar esas acciones podrá acceder a ellas. Por ejemplo, si un usuario tiene permiso para realizar acciones GetBucketLocation en su bucket de Amazon S3, la política siguiente no impide que el usuario realice esta acción fuera de su VPC.

{ "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::<bucket-name>", "arn:aws:s3:::<bucket-name>/*" ], "Condition": { "StringNotEquals": { "aws:sourceVpce": [ "<vpc-endpoint>", "<vpc>" ] } } } ] }

Ground Truth debe poder realizar las siguientes acciones de Amazon S3 en los buckets S3 que utilice para configurar el trabajo de etiquetado.

"s3:AbortMultipartUpload", "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation"

Para ello, añada un punto de conexión de Ground Truth a la política de bucket, tal como se ha mencionado anteriormente. La siguiente tabla incluye los puntos finales del servicio Ground Truth para cada AWS región. Añada un punto de conexión en la misma región de AWS que utilice para ejecutar su tarea de etiquetado a su política de bucket.

AWS Región Punto de conexión de Ground Truth
us-east-2 vpce-02569ba1c40aad0bc
us-east-1 vpce-08408e335ebf95b40
us-west-2 vpce-0ea07aa498eb78469
ca-central-1 vpce-0d46ea4c9ff55e1b7
eu-central-1 vpce-0865e7194a099183d
eu-west-2 vpce-0bccd56798f4c5df0
eu-west-1 vpce-0788e7ed8628e595d
ap-south-1 vpce-0d7fcda14e1783f11
ap-southeast-2 vpce-0b7609e6f305a77d4
ap-southeast-1 vpce-0e7e67b32e9efed27
ap-northeast-2 vpce-007893f89e05f2bbf
ap-northeast-1 vpce-0247996a1a1807dbd

Por ejemplo, la siguiente política restringe las acciones GetObject y PutObject en:

  • Un bucket de Amazon S3 para los usuarios de una VPC (<vpc>)

  • Punto de conexión de VPC (<vpc-endpoint>)

  • Un punto final del conexión de Ground Truth (<ground-truth-endpoint>)

{ "Version": "2012-10-17", "Id": "1", "Statement": [ { "Sid": "DenyAccessFromNonGTandCustomerVPC", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket-name>", "arn:aws:s3:::<bucket-name>/*" ], "Condition": { "ForAllValues:StringNotEquals": { "aws:sourceVpce": [ "<vpc-endpoint>", "<ground-truth-endpoint>" ], "aws:SourceVpc": "<vpc>" } } } ] }

Si desea que un usuario tenga permiso para iniciar un trabajo de etiquetado mediante la consola Ground Truth, también debe añadir el ARN del usuario a la política de bucket mediante la condición aws:PrincipalArn. Este usuario también debe tener permiso para realizar las siguientes acciones de Amazon S3 en el bucket que utilice para lanzar el trabajo de etiquetado.

"s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:GetBucketCors", "s3:PutBucketCors", "s3:ListAllMyBuckets",

El siguiente código es un ejemplo de una política de bucket que restringe el permiso para realizar las acciones enumeradas en Action en el bucket <bucket-name> de S3 al siguiente.

  • <role-name>

  • Los puntos de conexión de VPC que figuran en aws:sourceVpce

  • Usuarios de la VPC denominados<vpc>

{ "Version": "2012-10-17", "Id": "1", "Statement": [ { "Sid": "DenyAccessFromNonGTandCustomerVPC", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket-name>/*", "arn:aws:s3:::<bucket-name>" ], "Condition": { "ForAllValues:StringNotEquals": { "aws:sourceVpce": [ "<vpc-endpoint>", "<ground-truth-endpoint>" ], "aws:PrincipalArn": "arn:aws:iam::<aws-account-id>:role/<role-name>", "aws:SourceVpc": "<vpc>" } } } ] }
nota

Los puntos de enlace de la interfaz de Amazon VPC y los depósitos protegidos de Amazon S3 que utilice para los datos de entrada y salida deben estar ubicados en la misma AWS región que utilizó para crear el trabajo de etiquetado.

Tras conceder el permiso a Ground Truth para acceder a sus buckets de Amazon S3, puede utilizar alguno de los temas de Crear un trabajo de etiquetado para iniciar un trabajo de etiquetado. Especifique los buckets de Amazon S3 restringidos por VPC para sus buckets de datos de entrada y salida.

Creación de un trabajo de etiquetado de datos automatizado en una VPC

Para crear un trabajo de etiquetado de datos automatizado con una Amazon VPC, debe proporcionar una configuración de VPC mediante la consola Ground Truth o la operación de la API CreateLabelingJob. SageMaker utiliza las subredes y los grupos de seguridad que usted proporciona para lanzar los trabajos de formación e inferencias que se utilizan para el etiquetado automatizado.

importante

Antes de lanzar un trabajo de etiquetado de datos automatizado con una configuración de VPC, asegúrese de haber creado un punto de conexión de S3 de Amazon VPC con la VPC que desee utilizar para el trabajo de etiquetado. Para obtener información sobre cómo hacerlo, consulte Crear un punto de conexión de la VPC de Amazon S3.

Además, si crea un trabajo de etiquetado de datos automatizado con un bucket de Amazon S3 restringido por VPC, debe seguir las instrucciones en Permita a Ground Truth acceder a buckets de Amazon S3 restringidos por VPC para conceder permiso a Ground Truth para acceder al bucket.

Utilice los siguientes procedimientos para aprender a añadir una configuración de VPC a su solicitud de trabajo de etiquetado.

Añada una configuración de VPC a un trabajo de etiquetado de datos automatizado (consola):
  1. Siga las instrucciones de Crear un trabajo de etiquetado (consola) y complete cada paso del procedimiento, hasta el paso 15.

  2. En la sección Trabajadores, seleccione la casilla de verificación situada junto a Activar el etiquetado automático de datos.

  3. Maximice la sección de configuración de VPC de la consola seleccionando la flecha.

  4. Especifique la Virtual Private Cloud (VPC) que desea usar para el trabajo de etiquetado de datos automatizado.

  5. Elija la lista desplegable en Subredes y seleccione una o más subredes.

  6. Elija la lista desplegable en Grupos de seguridad y seleccione uno o más grupos.

  7. Complete todos los pasos restantes del procedimiento en Crear un trabajo de etiquetado (consola).

Agregue una configuración de VPC a un trabajo de etiquetado de datos (API) automatizado:

Para configurar un trabajo de etiquetado mediante la operación de la API de Ground Truth, CreateLabelingJob, siga las instrucciones de Crear un trabajo de etiquetado de datos automatizado (API) para configurar su solicitud. Además de los parámetros descritos en esta documentación, debe incluir un parámetro VpcConfig en LabelingJobResourceConfig para especificar una o más subredes y grupos de seguridad mediante el siguiente esquema.

"LabelingJobAlgorithmsConfig": { "InitialActiveLearningModelArn": "string", "LabelingJobAlgorithmSpecificationArn": "string", "LabelingJobResourceConfig": { "VolumeKmsKeyId": "string", "VpcConfig": { "SecurityGroupIds": [ "string" ], "Subnets": [ "string" ] } } }

A continuación se ofrece un ejemplo de una solicitud de AWS Python SDK (Boto3) para crear un trabajo de etiquetado de datos automatizado en la región del este de EE. UU. (Norte de Virginia) utilizando una fuerza de trabajo privada. Sustituya todo el texto en cursiva en rojo por los recursos y las especificaciones de su trabajo de etiquetado. Para obtener más información sobre la CreateLabelingJob operación, consulte el tutorial Create a Labeling Job (API) y la documentación de CreateLabelingJob API.

import boto3 client = boto3.client(service_name='sagemaker') response = client.create_labeling_job( LabelingJobName="example-labeling-job", LabelAttributeName="label", InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json" } } }, "LabelingJobAlgorithmsConfig": { "LabelingJobAlgorithmSpecificationArn": "arn:aws:sagemaker:us-east-1:027400017018:labeling-job-algorithm-specification/tasktype", "LabelingJobResourceConfig": { "VpcConfig": { "SecurityGroupIds": [ "sg-01233456789", "sg-987654321" ], "Subnets": [ "subnet-e0123456", "subnet-e7891011" ] } } }, OutputConfig={ 'S3OutputPath': "s3://bucket/path/file-to-store-output-data", 'KmsKeyId': "string" }, RoleArn="arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json", StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*", 'UiConfig': { 'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html" }, 'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype", 'TaskKeywords': [ "Images", "Classification", "Multi-label" ], 'TaskTitle': "Add task title here", 'TaskDescription': "Add description of task here for workers", 'NumberOfHumanWorkersPerDataObject': 1, 'TaskTimeLimitInSeconds': 3600, 'TaskAvailabilityLifetimeInSeconds': 21600, 'MaxConcurrentTaskCount': 1000, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype" }, Tags=[ { 'Key': "string", 'Value': "string" }, ] )