Skip to content
Crear una fuerza de trabajo privada en SageMaker Ground Truth con AWS CDK
Source: aws.amazon.com

Crear una fuerza de trabajo privada en SageMaker Ground Truth con AWS CDK

Sources: https://aws.amazon.com/blogs/machine-learning/create-a-private-workforce-on-amazon-sagemaker-ground-truth-with-the-aws-cdk, https://aws.amazon.com/blogs/machine-learning/create-a-private-workforce-on-amazon-sagemaker-ground-truth-with-the-aws-cdk/, AWS ML Blog

TL;DR

  • Proporciona una solución completa orientada a código para crear fuerzas de trabajo privadas en SageMaker Ground Truth, asociadas a un pool de Amazon Cognito dedicado, usando AWS CDK.
  • Aborda la dependencia mutua entre los recursos de Cognito y la fuerza de trabajo privada mediante recursos de CloudFormation personalizados para orquestar la creación y configuración.
  • Las implementaciones se gestionan como una única pila; la limpieza se puede realizar a través de la consola de CloudFormation o ejecutando cdK destroy con las mismas opciones utilizadas en la implementación.
  • El flujo de autenticación para los trabajadores incluye invitación por correo, registro inicial, autenticación y acceso al portal de etiquetado.
  • Se destacan buenas prácticas de Cognito y CDK y se orienta hacia personalizaciones a través de AWS Professional Services y guías oficiales de etiquetado de datos.

Contexto e antecedentes

Las fuerzas de trabajo privadas para SageMaker Ground Truth y Amazon Augmented AI (A2I) permiten a las organizaciones construir conjuntos de datos propietarios con altos niveles de seguridad y privacidad. La Consola de AWS ofrece una vía rápida para crear una fuerza de trabajo privada, pero muchas organizaciones requieren enfoques IaC para automatizar, estandarizar y reducir errores humanos. Este artículo presenta una solución completa que crea fuerzas de trabajo privadas en SageMaker AI mediante AWS CDK, incluyendo un pool de Cognito totalmente configurado. El objetivo es resolver el principal desafío de orquestación entre Cognito y la fuerza de trabajo privada para ofrecer una experiencia de inicio de sesión consistente para los trabajadores. La solución utiliza una única pila que provee varios recursos y servicios, algunos necesarios solo para la configuración inicial y otros que los trabajadores utilizan para iniciar sesión en el portal de etiquetado. Un tema central es la necesidad de secuenciación: ciertos parámetros del cliente de la aplicación Cognito, como la URL de devolución, solo están disponibles después de la creación de la fuerza de trabajo, mientras que la creación de la fuerza de trabajo requiere la presencia del cliente de la aplicación. Esta dependencia mutua se resuelve al introducir recursos CloudFormation personalizados para coordinar la creación y configuración de los recursos en el orden correcto. Otro aspecto destacado es la necesidad de mantener el nombre de dominio del pool de Cognito estable entre despliegues, ya que cambiar el nombre de dominio tras la creación puede generar errores. Combinando constructos de CDK con recursos CloudFormation personalizados, la solución facilita una orquestación que garantiza una implementación repetible para admitir tareas de etiquetado de ML con seguridad.

Qué hay de nuevo

Este artículo presenta un patrón práctico de extremo a extremo para crear programáticamente una fuerza de trabajo privada en SageMaker Ground Truth junto con un pool Cognito dedicado, orquestado a través de AWS CDK. La innovación clave es la integración entre CDK y recursos CloudFormation personalizados para gestionar dependencias entre el pool Cognito y la fuerza de trabajo privada. La solución ofrece:

  • Una arquitectura basada en CDK que crea y configura la fuerza de trabajo privada de SageMaker junto con un pool Cognito y su cliente de aplicación asociado, según dependencias.
  • Un mecanismo de orquestación que resuelve la dependencia mutua entre el pool y la fuerza de trabajo, asegurando que los parámetros estén disponibles en el momento adecuado.
  • Una única pila de orquestación que incluye los recursos necesarios para la configuración inicial y para el acceso continuo de los trabajadores al portal de etiquetado.
  • Directrices de implementación y limpieza alineadas con prácticas de IaC, incluyendo el comando cd destroy como alternativa a la eliminación vía consola.
  • Guía para personalizar la infraestructura base para cumplir estándares organizacionales y buenas prácticas de Cognito y CDK. El artículo también señala guías oficiales sobre etiquetado de datos y guías de pools de Cognito como referencias para ampliar la solución. El objetivo es proporcionar una base práctica para la infraestructura privada orientada a etiquetado con seguridad.

Por qué es importante (impacto para desarrolladores/empresas)

  • Automatización y consistencia: CDK y recursos CloudFormation personalizados permiten implementaciones automatizadas, repetibles y auditable de fuerzas de trabajo privadas y pools Cognito dedicados, reduciendo el riesgo de errores humanos.
  • Seguridad y privacidad: la solución crea un pool de usuarios dedicado para autenticar a los trabajadores, alineándose con los requisitos de seguridad de datos propietarios.
  • Flujo de trabajo de etiquetado de extremo a extremo: el flujo de autenticación cubre invitación por correo, registro, autenticación y acceso al portal de etiquetado.
  • Gestión a gran escala: una única pila simplifica la gestión del ciclo de vida y mantiene la coherencia entre entornos.
  • Orientación práctica: el artículo señala buenas prácticas para Cognito y CDK y anima a explorar personalizaciones mediante AWS Professional Services y guías oficiales.

Detalles técnicos o Implementación

La solución se basa en una combinación de constructos CDK y recursos CloudFormation personalizados que integran el pool Cognito con la fuerza de trabajo privada de SageMaker. El objetivo es resolver la dependencia mutua: el cliente de la aplicación necesita parámetros producidos durante la creación de la fuerza de trabajo, y la fuerza de trabajo requiere la presencia previa del cliente. La orquestación mediante recursos personalizados coordina la creación y configuración en el orden adecuado. Aspectos arquitectónicos clave:

  • Recursos Cognito: pool de usuarios dedicado y cliente de aplicación, configurados para soportar el flujo de autenticación.
  • Fuerza de trabajo privada de SageMaker: el conjunto privado que funciona con Cognito para tareas de etiquetado.
  • Recursos CloudFormation personalizados: gestionan las dependencias y la propagación de parámetros.
  • Pila única: guía toda la provisión de recursos para la configuración inicial y el uso continuo por parte de los trabajadores.
  • Constructos CDK: definen, provisionan y gestionan recursos como código durante despliegues y actualizaciones.
  • Controles de acceso: aseguran permisos y flujo de trabajo. El flujo de autenticación incluye invitación por correo, registro, autenticación y acceso al portal de etiquetado. La limpieza de recursos sigue las prácticas de IaC: eliminar la pila en CloudFormation o ejecutar cd destroy con los mismos argumentos usados durante el despliegue. La solución está diseñada para ser personalizable y adaptarse a normas de seguridad y políticas de UX; se alienta a adaptar el ejemplo CDK para entornos específicos.

Componentes de la pila en breve

| Componente | Papel | Uso |---|---|---| | Fuerza de trabajo privada de SageMaker | Permite tareas de etiquetado privadas | Uso principal tras la implementación |Pool Cognito | Proporciona identidad dedicada | Activo tras la configuración inicial |App client Cognito | Habilita el flujo de autenticación con URL de devolución | Creado temprano, depende de la fuerza de trabajo |Recursos CloudFormation personalizados | Orquestan dependencias | Durante la configuración inicial |Constructos CDK | Definen y gestionan recursos | A lo largo de la implementación y actualizaciones |Recursos relacionados (IAM, permisos) | Controles de acceso | En todo el ciclo de vida | El diagrama del post describe cómo estos componentes se integran en una pila única, con trabajadores que se unen a la fuerza de trabajo y acceden al portal de etiquetado tras autenticarse. A continuación, un resumen del flujo de autenticación.

Flujo de autenticación y acceso

  • Se envía una invitación por correo al trabajador.
  • El trabajador se registra, crea una contraseña y, si hace falta, configura una aplicación de autenticación.
  • El trabajador se autentica y accede al portal de etiquetado.
  • El trabajador puede ver los trabajos de etiquetado y contribuir a las tareas.

Notas de implementación

  • Prequisitos: credenciales de AWS con permisos para desplegar los recursos.
  • Si te invitaste a ti mismo desde la CLI de CDK, sigue el correo para registrarte y acceder al portal; de lo contrario, invita a otros siguiendo el flujo descrito.
  • Para limpiar, elimina la pila Workforce desde la consola de CloudFormation o ejecuta cd destroy con los mismos argumentos que usaste para desplegar.
  • La solución sirve como base para la infraestructura de etiquetado privado y puede ampliarse para cumplir normas de seguridad y políticas.

Puntos clave

  • IaC facilita despliegues automatizados y reproducibles de fuerzas de trabajo privadas y pools Cognito dedicados.
  • CDK junto con CloudFormation personalizados gestiona dependencias entre Cognito y la fuerza de trabajo.
  • Una única pila simplifica el ciclo de vida y garantiza coherencia entre entornos.
  • El flujo de autenticación ofrece una experiencia completa para los trabajadores.
  • El post anima a seguir buenas prácticas y a considerar servicios profesionales para adaptar la arquitectura.

FAQ

Referencias

More news