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.
Use el administrador AWS Cloud Development Kit (AWS CDK) de SageMaker roles de Amazon para crear roles y establecer permisos mediante programación. Puede utilizar el AWS CDK para realizar cualquier tarea que pueda realizar con el. AWS Management Console El acceso programático del CDK facilita la concesión de permisos que permitan a los usuarios acceder a recursos específicos. Para obtener más información sobre el AWS CDK, consulte ¿Qué es AWS CDK?
importante
Debe usar el rol de cómputo de SageMaker IA para crear un rol de cómputo de SageMaker IA. Para obtener más información acerca de la persona de computación, consulte SageMaker Persona de ordenador AI. Para ver el código que puede usar para crear el rol de cómputo dentro del AWS CDK, consulteConceder permisos a una persona de computación.
A continuación se muestran ejemplos de tareas que puede realizar en el AWS CDK:
-
Cree funciones de IAM con permisos detallados para personas dedicadas al aprendizaje automático (ML), como científicos de datos e MLOps ingenieros.
-
Conceder permisos a construcciones de CDK a partir de personas o actividades de ML.
-
Establecer parámetros de condición de actividad de ML.
-
Habilite las AWS Key Management Service condiciones y la Amazon VPC globales y establezca valores para ellas.
-
Elegir entre todas las versiones de las actividades de ML para sus usuarios sin interrumpir su acceso.
Hay AWS tareas comunes relacionadas con el aprendizaje automático (ML) con SageMaker IA que requieren permisos de IAM específicos. Los permisos para realizar las tareas se definen como actividades de aprendizaje automático en Amazon SageMaker Role Manager. Las actividades de ML especifican un conjunto de permisos que están vinculados al rol de IAM. Por ejemplo, la actividad de aprendizaje automático de Amazon SageMaker Studio Classic tiene todos los permisos que un usuario necesita para acceder a Studio Classic. Para obtener más información sobre las actividades de ML, consulte Referencia de actividad de ML.
Al crear roles, primero debe definir los constructos para la persona de ML o la actividad de ML. Una construcción es un recurso dentro de la AWS CDK pila. Por ejemplo, un constructo podría ser un bucket de Amazon S3, una subred de Amazon VPC o un rol de IAM.
Al crear la persona o actividad, puede limitar los permisos asociados a esa persona o actividad a recursos específicos. Por ejemplo, puede personalizar la actividad para que solo proporcione permisos para una subred específica dentro de una Amazon VPC.
Una vez definidos los permisos, puede crear funciones y, a continuación, transferirlas para crear otros recursos, como instancias de SageMaker bloc de notas.
Los siguientes son ejemplos de código en TypeScript para tareas que puede realizar con el CDK. Al crear una actividad, se especifica un ID y las opciones para el constructo de la actividad. Las opciones son diccionarios que especifican los parámetros necesarios para las actividades, como un Amazon S3. Se pasa un diccionario vacío para las actividades que no tienen los parámetros necesarios.
El siguiente código crea una persona de ML de científico de datos con un conjunto de actividades de ML específicas para esa persona. Los permisos de las actividades de aprendizaje automático solo se aplican a la VPC de Amazon y a AWS KMS las configuraciones especificadas en la construcción de persona. El siguiente código crea una clase para una persona de científico de datos. Las actividades de ML se definen en la lista de actividades. Los permisos de VPC y los permisos de KMS se definen como parámetros opcionales fuera de la lista de actividades.
Una vez que haya definido la clase, puede crear un rol como una construcción dentro de la AWS CDK pila. También puede crear una instancia de cuaderno. La persona que usa el rol de IAM que has creado en el siguiente código puede acceder a la instancia del bloc de notas al iniciar sesión en su AWS cuenta.
export class myCDKStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const persona = new Persona(this, 'example-persona-id', {
activities: [
Activity.accessAwsServices(this, 'example-id1
', {})
]
});
const role = persona.createRole(this, 'example-IAM-role-id
', 'example-IAM-role-name
');
}
}
El siguiente código crea una persona de ML de científico de datos con un conjunto de actividades de ML específicas para esa persona. Los permisos de las actividades de ML solo se aplican a la VPC y a las configuraciones de KMS especificadas en el constructo de persona. El siguiente código crea una clase para una persona de científico de datos. Las actividades de ML se definen en la lista de actividades. Los permisos de Amazon VPC y los AWS KMS permisos se definen como parámetros opcionales fuera de la lista de actividades.
Una vez definida la clase, puede crear un rol como una construcción dentro de la AWS CDK pila. También puede crear una instancia de cuaderno. La persona que usa el rol de IAM que has creado en el siguiente código puede acceder a la instancia del bloc de notas al iniciar sesión en su AWS cuenta.
export class myCDKStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const persona = new Persona(this, 'example-persona-id
', {
activities: [
Activity.runStudioAppsV2(this, 'example-id1
', {}),
Activity.manageJobs(this, 'example-id2
', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.manageModels(this, 'example-id3
', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.manageExperiments(this, 'example-id4
', {}),
Activity.visualizeExperiments(this, 'example-id5
', {}),
Activity.accessS3Buckets(this, 'example-id6
', {s3buckets: [s3.S3Bucket.fromBucketName('amzn-s3-demo-bucket
')]})
],
// optional: to configure VPC permissions
subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id
')],
securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id
')],
// optional: to configure KMS permissions
dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN
')],
volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN
')],
});
const role = persona.createRole(this, 'example-IAM-role-id
', 'example-IAM-role-name
');
const notebookInstance = new CfnNotebookInstance(this, 'example-notebook-instance-name
', { RoleArn: role.RoleArn, ...});
}
}
El siguiente código crea una persona de MLOps con un conjunto de actividades de ML específicas para esa persona. Los permisos de las actividades de aprendizaje automático solo se aplican a la VPC de Amazon y a AWS KMS las configuraciones especificadas en la construcción de persona. El siguiente código crea una clase para una persona de MLOps. Las actividades de ML se definen en la lista de actividades. Los permisos de VPC y los permisos de KMS se definen como parámetros opcionales fuera de la lista de actividades.
Una vez que haya definido la clase, puede crear un rol como una construcción dentro de la AWS CDK pila. También puede crear un perfil de usuario de Amazon SageMaker Studio Classic. La persona que utilice el rol de IAM que ha creado en el siguiente código puede abrir SageMaker Studio Classic al iniciar sesión en su AWS cuenta.
export class myCDKStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const persona = new Persona(this, 'example-persona-id
', {
activities: [
Activity.runStudioAppsV2(this, 'example-id1
', {}),
Activity.manageModels(this, 'example-id2
', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.manageEndpoints(this, 'example-id3
',{rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.managePipelines(this, 'example-id4
', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.visualizeExperiments(this, 'example-id5
', {})
],
subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id
')],
securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id
')],
dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN
')],
volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN
')],
});
const role = persona.createRole(this, 'example-IAM-role-id
', 'example-IAM-role-name
');
let userProfile = new CfnNUserProfile(this, 'example-Studio Classic-profile-name
', { RoleName: role.RoleName, ... });
}
}
El siguiente código crea una persona de MLOps con un conjunto de actividades de ML específicas para esa persona. El siguiente código crea una clase para una persona de MLOps. Las actividades de ML se definen en la lista de actividades.
Una vez que hayas definido la clase, puedes crear un rol como una construcción dentro de la AWS CDK pila. También puede crear una instancia de cuaderno. El código concede permisos de las actividades de ML al rol de IAM de la función de Lambda.
export class myCDKStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const persona = new Persona(this, 'example-persona-id
', {
activities: [
Activity.runStudioAppsV2(this, 'example-id1
', {}),
Activity.manageModels(this, 'example-id2
', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.manageEndpoints(this, 'example-id3
',{rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.managePipelines(this, 'example-id4
', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')]}),
Activity.visualizeExperiments(this, 'example-id5
', {})
],
});
const lambdaFn = lambda.Function.fromFunctionName('example-lambda-function-name
');
persona.grantPermissionsTo(lambdaFn);
}
}
El siguiente código crea una actividad de ML y crea un rol a partir de la actividad. Los permisos de la actividad solo se aplican a la configuración de VPC y KMS que especifique para el usuario.
export class myCDKStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const activity = Activity.manageJobs(this, 'example-activity-id
', {
rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')],
subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id
')],
securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id
')],
dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN
')],
volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN
')],
});
const role = activity.createRole(this, 'example-IAM-role-id
', 'example-IAM-role-name
');
}
}
El siguiente código crea un rol de IAM para una única actividad de ML.
export class myCDKStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const activity = Activity.manageJobs(this, 'example-activity-id
', {
rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name
')],
});
activity.create_role(this, 'example-IAM-role-id
', 'example-IAM-role-name
')
}
}