Defina permisos personalizados en minutos con Amazon SageMaker Role Manager a través de AWS CDK.
Define custom permissions in minutes with Amazon SageMaker Role Manager via AWS CDK.
Los administradores de machine learning (ML) desempeñan un papel crítico en el mantenimiento de la seguridad e integridad de las cargas de trabajo de ML. Su principal objetivo es garantizar que los usuarios operen con la máxima seguridad, respetando el principio de privilegio mínimo. Sin embargo, acomodar las diversas necesidades de diferentes personas de usuario y crear políticas de permisos adecuadas a veces puede obstaculizar la agilidad. Para abordar este desafío, AWS introdujo Amazon SageMaker Role Manager en diciembre de 2022. SageMaker Role Manager es una herramienta poderosa que puede utilizar para desarrollar rápidamente roles basados en persona, que se pueden personalizar fácilmente para satisfacer requisitos específicos.
Con SageMaker Role Manager, los administradores pueden definir eficientemente roles basados en persona adaptados a grupos de usuarios distintos. Este enfoque asegura que las personas tengan acceso solo a los recursos y acciones esenciales para sus tareas, reduciendo el riesgo de acciones no autorizadas o violaciones. SageMaker Role Manager también permite la personalización detallada. Los administradores de ML pueden adaptar los roles para satisfacer requisitos específicos modificando los permisos asociados con cada persona. Esta flexibilidad asegura que los permisos se alineen con precisión con las tareas y responsabilidades de los usuarios individuales, proporcionando un marco de seguridad sólido al mismo tiempo que se acomodan casos de uso únicos.
SageMaker Role Manager está disponible actualmente en la consola de Amazon SageMaker de todas las regiones comerciales. Hoy, estamos lanzando la capacidad de definir permisos personalizados en minutos con SageMaker Role Manager a través del kit de desarrollo en la nube de AWS (AWS CDK). Esto aborda un obstáculo crítico para una adopción más amplia porque los administradores de ML ahora pueden automatizar sus tareas programáticamente. Con el poder del AWS CDK, los administradores de ML pueden optimizar flujos de trabajo, reducir esfuerzos manuales y garantizar la consistencia en la gestión de permisos para su infraestructura de ML.
Descripción general de la solución
Con el lanzamiento del SageMaker Role Manager CDK, estamos lanzando dos nuevas capacidades de infraestructura como código (IaC):
- Crear permisos detallados para personas de ML
- Crear permisos detallados para trabajos automatizados a través de Amazon SageMaker Pipelines, AWS Lambda y otros servicios de AWS
Puede crear roles de AWS Identity and Access Management (IAM) detallados para personas de ML como científicos de datos, ingenieros de ML o ingenieros de datos. SageMaker Role Manager ofrece personas predefinidas y actividades de ML combinadas para simplificar su proceso de generación de permisos, lo que permite que sus practicantes de ML realicen sus responsabilidades con los permisos de privilegio mínimo. Para acceder de manera segura a sus recursos de ML, SageMaker Role Manager le permite especificar permisos de red y cifrado para recursos de Amazon Virtual Private Cloud (Amazon VPC) y claves de cifrado de AWS Key Management Service (AWS KMS). Además, puede personalizar los permisos adjuntando sus propias políticas administradas por el cliente.
- Nuevo modelo de IA supera a GPT-3 con solo 30B de parámetros.
- 15+ Mejores Herramientas de IA para Ayudarte a Conseguir tu Próximo...
- El primer brazo impulsado por inteligencia artificial del mundo tod...
El SageMaker Role Manager CDK le permite definir permisos personalizados para usuarios de SageMaker en minutos. Viene con un conjunto de plantillas de políticas predefinidas para diferentes personas y actividades de ML. Las personas representan los diferentes tipos de usuarios que necesitan permisos para realizar actividades de ML en SageMaker, como científicos de datos o ingenieros de MLOps. Las actividades de ML son un conjunto de permisos para realizar una tarea de ML común, como ejecutar aplicaciones de Amazon SageMaker Studio o administrar experimentos, modelos o canalizaciones. Después de haber seleccionado el tipo de persona y el conjunto de actividades de ML, el SageMaker Role Manager CDK crea automáticamente el rol y las políticas de IAM necesarios que puede asignar a los usuarios de SageMaker. De manera similar, también puede crear roles IAM con permisos detallados para trabajos automatizados como la ejecución de SageMaker Pipelines.
Requisitos previos
Para comenzar a usar el SageMaker Role Manager CDK, debe completar los siguientes pasos previos:
- Configure un rol para su administrador de ML para crear y administrar personas, así como los permisos de IAM para esos usuarios. Para obtener una política de administrador de muestra, consulte la sección de requisitos previos en el artículo del blog Definir permisos personalizados en minutos con Amazon SageMaker Role Manager.
- Cree un rol de persona de solo cómputo (si no tiene ninguno) para pasar a trabajos y puntos finales. Para obtener instrucciones sobre cómo configurar ese rol, consulte Usar el administrador de roles.
- Configure su entorno de desarrollo de AWS CDK. Para obtener instrucciones, consulte Introducción al AWS CDK.
Instalar y ejecutar SageMaker Role Manager CDK
Complete los siguientes pasos para configurar SageMaker Role Manager CDK:
-
Cree su aplicación AWS CDK y asígnele un nombre; por ejemplo,
RoleManager
. -
Navegue hasta la carpeta
RoleManager
y ejecute el siguiente comando para crear un proyecto AWS CDK TypeScript en blanco:cdk init app --language typescript
-
Abra
package.json
y agregue el paquete resaltado como se muestra en el siguiente código:"dependencies": { "aws-cdk-lib": "2.85.0", "@cdklabs/cdk-aws-sagemaker-role-manager": "0.0.15", "constructs": "^10.0.0", "source-map-support": "^0.5.21" }
-
Ejecute el siguiente comando para instalar el nuevo paquete
cdk-aws-sagemaker-role-manager
:npm install
-
Navegue hasta la carpeta lib y reemplace
role_manager_stack.ts
con el siguiente código:import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as iam from 'aws-cdk-lib/aws-iam'; import { Activity } from '@cdklabs/cdk-aws-sagemaker-role-manager'; export class RoleManagerStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); const activity = Activity.manageJobs(this, 'id1', { rolesToPass: [iam.Role.fromRoleName(this, 'passRoleId', 'passRoleName')], }); activity.createRole(this, 'newRoleId', 'newRoleName', newRoleDescription'); } }
-
Reemplace
passRoleId
,passRoleName
,newRoleId
,newRoleName
ynewRoleDescription
según sus requisitos para la creación de roles. -
Navegue de regreso a la carpeta de inicio de su aplicación AWS CDK y ejecute el siguiente comando para verificar la plantilla de AWS CloudFormation generada:
cdk synth
-
Finalmente, ejecute el siguiente comando para ejecutar la pila de CloudFormation en su cuenta de AWS:
cdk deploy
Debería ver una salida de implementación de AWS CDK similar a la de la siguiente captura de pantalla.
Hay más ejemplos de SageMaker Role Manager CDK disponibles en el siguiente repositorio de GitHub.
Referencia CDK de personas y actividades de ML
Los administradores pueden definir actividades de ML utilizando una de las funciones estáticas de actividad de ML de la clase de actividad de ML. Para obtener una lista de las últimas versiones, consulte la referencia de actividad de ML.
La clase de persona de ML admite los siguientes métodos:
- customizeVPC(subnets, securityGroups) – Personaliza la VPC de todas las actividades que admiten la personalización de VPC de las personas.
- customizeKMS(dataKeys, volumeKeys) – Personaliza las claves KMS de todas las actividades que admiten la personalización de claves KMS de las personas.
- createRole(scope, id, roleNameSuffix, roleDescription) – Crea un rol con los permisos de las actividades de la persona similares a la UI en el ámbito con ID, con el nombre
SageMaker-${roleNameSuffix}
y opcionalmente con la descripción de rol pasada. - grantPermissionsTo(identity) – Concede los permisos de las actividades de la persona a la identidad. La identidad pasada puede ser un rol o un recurso de AWS asociado con un rol (por ejemplo, una función Lambda con el rol de la función Lambda que describe a qué recursos puede acceder la función Lambda).
- grantPermissionsTo() – Actualiza el rol de la identidad pasada para tener los permisos especificados en la actividad de ML.
La clase de actividad de ML admite el mismo conjunto de funciones que las personas de ML; sin embargo, la diferencia es que una actividad de ML está limitada a una sola actividad cuando se usa esta interfaz para crear roles de IAM.
Conclusión
SageMaker Role Manager le permite crear roles personalizados basados en personas, actividades de ML preconstruidas y políticas personalizadas, lo que reduce significativamente el tiempo necesario. Ahora, con este último soporte de AWS CDK, la capacidad de definir roles se expande aún más para admitir la infraestructura como código. Esto permite a los profesionales de ML trabajar programáticamente en SageMaker, mejorando la eficiencia y permitiendo una integración perfecta en sus flujos de trabajo.
Nos gustaría saber cómo esta nueva función lo está ayudando. ¡Pruebe el nuevo soporte de AWS CDK para SageMaker Role Manager y envíenos sus comentarios!
Para obtener más información sobre cómo utilizar SageMaker Role Manager, consulte la Guía del desarrollador de SageMaker Role Manager.