Amazon SageMaker Studio ha revolucionado el acceso de científicos de datos, ingenieros de aprendizaje automático (ML) y desarrolladores a una plataforma integrada. Este estúdio ofrece una interfaz visual basada en la web para construir, entrenar, depurar, desplegar y monitorear modelos de ML. Un elemento clave en estas actividades es el acceso a los datos almacenados en Amazon Simple Storage Service (Amazon S3).
Tradicionalmente, el acceso a Amazon S3 desde SageMaker Studio se ha gestionado mediante roles configurados a nivel de dominio o de perfil de usuario. El rol de dominio otorga permisos para que el entorno de SageMaker Studio interactúe con otros servicios de AWS, extendiendo el acceso a todos los usuarios de un dominio. Sin embargo, para necesidades de acceso más específicas, los roles de perfil de usuario permiten un control granular, definiendo qué puede hacer cada perfil dentro del entorno.
Aun cuando este método ofrece flexibilidad, también requiere actualizaciones constantes en las políticas de los roles en respuesta a cambios en los requisitos de acceso. Aquí es donde Amazon S3 Access Grants promete simplificar el proceso, permitiendo una gestión dinámica del acceso sin necesidad de cambios constantes en los roles de AWS Identity and Access Management (IAM). Con S3 Access Grants, los administradores pueden establecer permisos precisos, como acceso de lectura, escritura o ambos, a diferentes niveles (bucket, prefijo u objeto) y otorgarlos a principales de IAM o a usuarios y grupos de un directorio corporativo mediante AWS IAM Identity Center.
La implementación de S3 Access Grants demuestra ser particularmente útil en escenarios complejos. Considere, por ejemplo, un equipo de productos con dos miembros: Usuario A y Usuario B. Ambos deben tener acceso a una carpeta común dentro de un bucket S3, mientras que cada uno debe también tener accesibilidad exclusiva a sus propias carpetas personales dentro del mismo bucket.
Para validar esta configuración, se utilizó un conjunto de datos llamado Abalone. Mediante una función Lambda, los datos se cargaron en las carpetas específicas (Product, UserA, y UserB) dentro del bucket S3. A partir de aquí, los miembros del equipo podían revisar los permisos y validar su acceso.
El proceso de despliegue implica varios pasos: creación de un entorno de SageMaker Studio, configuración del dominio de SageMaker Studio, establecimiento de perfiles de usuario, y configuración de S3 Access Grants. Es importante eliminar el stack de CloudFormation después de finalizar la implementación para evitar incurrir en costos adicionales.
En conclusión, la integración de S3 Access Grants con SageMaker Studio facilita una gestión de accesos más dinámica y granular, mejorando la colaboración y seguridad. Este enfoque no solo soporta principales de IAM, sino que también permite otorgar permisos a usuarios y grupos de un directorio corporativo sincronizado con IAM Identity Center, lo que resulta en una solución escalable y eficiente para la gestión de datos en entornos de aprendizaje automático.
Referencias: vía AWS machine learning blog.