Controla el acceso a datos en Amazon S3 desde Amazon SageMaker Studio con Amazon S3 access grants

Elena Digital López

Amazon SageMaker Studio ofrece una interfaz visual basada en la web donde diferentes usuarios, como científicos de datos, ingenieros de aprendizaje automático (ML) y desarrolladores, pueden construir, entrenar, depurar, desplegar y monitorear sus modelos de ML. Estos usuarios dependen del acceso a los datos en Amazon Simple Storage Service (Amazon S3) para tareas como la extracción de datos para el entrenamiento de modelos, el registro de métricas de entrenamiento y el almacenamiento de artefactos de modelos después del entrenamiento. Por ejemplo, los científicos de datos necesitan acceso a los conjuntos de datos almacenados en Amazon S3 para tareas como la exploración de datos y el entrenamiento de modelos. Los ingenieros de ML requieren acceso a artefactos de modelos intermedios almacenados en Amazon S3 a partir de trabajos de entrenamiento anteriores.

Tradicionalmente, el acceso a los datos en Amazon S3 desde SageMaker Studio se proporciona a través de roles configurados en SageMaker Studio, ya sea a nivel de dominio o de perfil de usuario. El rol de dominio de SageMaker Studio otorga permisos para que el dominio de SageMaker Studio interactúe con otros servicios de AWS, proporcionando acceso a los datos en Amazon S3 para todos los usuarios de ese dominio. Si no se crean roles de perfil de usuario específicos, este rol se aplicará a todos los perfiles de usuario, otorgando privilegios de acceso uniformes en todo el dominio. Sin embargo, si diferentes usuarios del dominio tienen diferentes restricciones de acceso, entonces configurar roles de usuario individuales permite un control más granular. Estos roles definen las acciones y el acceso específicos que cada perfil de usuario puede tener dentro del entorno, proporcionando permisos granulares.

Aunque este enfoque ofrece un grado de flexibilidad, también implica actualizaciones frecuentes a las políticas adjuntas a estos roles cuando cambian los requisitos de acceso, lo que puede añadir un mantenimiento adicional. Aquí es donde Amazon S3 Access Grants puede simplificar significativamente el proceso. S3 Access Grants permite gestionar el acceso a los datos de Amazon S3 de manera más dinámica, sin la necesidad de actualizar constantemente los roles de AWS Identity and Access Management (IAM). S3 Access Grants permite a los propietarios de datos o administradores de permisos establecer permisos, como acceso solo de lectura, solo de escritura o de lectura/escritura, en varios niveles de Amazon S3, como a nivel de bucket, prefijo u objeto. Los permisos pueden otorgarse a los principales de IAM o a usuarios y grupos de su directorio corporativo mediante la integración con AWS IAM Identity Center.

En este artículo, se demuestra cómo simplificar el acceso a los datos de Amazon S3 desde SageMaker Studio utilizando S3 Access Grants, específicamente para diferentes usuarios utilizando principales de IAM.

### Descripción general de la solución

Ahora que hemos discutido los beneficios de S3 Access Grants, veamos cómo se pueden aplicar los grants con los roles de usuarios de SageMaker Studio y roles de dominio para un control de acceso granular.

Consideremos un escenario que involucra un equipo de productos con dos miembros: Usuario A y Usuario B. Utilizarán un bucket S3 donde se implementan los siguientes requisitos de acceso:

– Todos los miembros del equipo deben tener acceso a la carpeta denominada Product dentro del bucket S3.
– La carpeta denominada UserA debe ser accesible solo por Usuario A.
– La carpeta denominada UserB debe ser accesible solo por Usuario B.
– El Usuario A ejecutará un Amazon SageMaker Processing job que utiliza S3 Access Grants para obtener datos del bucket S3. El trabajo de procesamiento accederá a los datos necesarios del bucket S3 utilizando las credenciales temporales proporcionadas por los grants de acceso.

### Validación del acceso a los datos

Para validar el acceso al bucket S3, utilizamos el conjunto de datos Abalone. Como parte del proceso de implementación del stack de CloudFormation, se invoca una función Lambda para cargar los datos en Amazon S3. Después de que se complete la función Lambda, debería encontrar el archivo abalone.csv en las tres carpetas (Product, UserA y UserB) dentro del bucket S3.

### Despliegue y validación de recursos

– Creación de un entorno de SageMaker Studio.
– Establecimiento del dominio de SageMaker Studio y perfiles de usuario para Usuario A y Usuario B.
– Configuración del bucket S3 con las carpetas necesarias.
– Configuración de S3 Access Grants.

Para evitar incurrir en futuros cargos, elimine el stack de CloudFormation. Esto eliminará recursos como el dominio de SageMaker Studio, la instancia de S3 Access Grants y el bucket S3 que creó.

### Conclusión

En este artículo, aprendió cómo controlar el acceso a los datos de Amazon S3 desde SageMaker Studio con S3 Access Grants. S3 Access Grants proporciona un mecanismo más flexible y escalable para definir patrones de acceso a escala en comparación con las técnicas basadas en IAM. Estos grants no solo admiten principales de IAM, sino que también permiten otorgar acceso directo a usuarios y grupos de un directorio corporativo sincronizado con IAM Identity Center. Integrar S3 Access Grants en su entorno de AWS junto con SageMaker Studio permite una colaboración eficiente, acceso seguro a los datos y una gestión de acceso simplificada para su equipo que trabaja en el entorno de SageMaker Studio.

Scroll al inicio