¿Qué debo hacer si se muestra un mensaje que indica permisos insuficientes cuando utilizo ModelArts?
Si aparece un mensaje que indica que no hay permisos suficientes cuando utiliza ModelArts, realice las operaciones descritas en esta sección para conceder permisos para los servicios relacionados según sea necesario.
Los permisos para usar ModelArts dependen de la autorización de OBS. Por lo tanto, los usuarios de ModelArts también requieren permisos del sistema de OBS.
- Para obtener más información acerca de cómo conceder a un usuario permisos completos para OBS y permisos de operaciones comunes para ModelArts, consulte Configuración de permisos de operaciones comunes.
- Para obtener más información acerca de cómo gestionar los permisos de usuario en OBS y ModelArts de forma precisa y configurar las políticas personalizadas, consulte Creación de una política personalizada para ModelArts.
Configuración de permisos de operaciones comunes
Para utilizar las funciones básicas de ModelArts es necesario aplicar la política ModelArts CommonOperations para los servicios a nivel de proyecto. El uso de ModelArts depende de los permisos de OBS. La política de Tenant Administrator debe aplicarse globalmente para todos los usuarios del proyecto.
El procedimiento es el siguiente:
- Cree un grupo de usuarios.
Inicie sesión en la consola de IAM y elija User Groups > Create User Group. Escriba un nombre de grupo de usuarios y haga clic en OK.
- Asigne permisos al grupo de usuarios.
En la lista de grupos de usuarios, haga clic en Manage Permissions en la columna Operation de la fila que contiene el grupo de usuarios creado en el paso 1. En la página de ficha Permissions, haga clic en Assign Permissions. Configure los siguientes permisos:
- Establezca Scope en Global service project y seleccione la política Tenant Administrator. Véase Figura 1.
- Establezca Scope en Region-specific projects y seleccione la política ModelArts CommonOperations. Véase Figura 2.
La autorización de un proyecto específico regional solo tiene efecto en la región autorizada. Si la autorización tiene que surtir efecto en todas las regiones, la autorización debe repetirse para cada región involucrada.
- Cree un usuario y agréguelo al grupo de usuarios.
Cree un usuario en la consola de IAM y agregue el usuario al grupo creado en 1.
- Inicie sesión y verifique los permisos.
Inicie sesión en la consola de ModelArts como el usuario creado, cambie a la región autorizada y compruebe que las políticas ModelArts CommonOperations y Tenant Administrator están en vigor.
- Elija Service List > ModelArts. Elija Dedicated Resource Pools. En la página que se muestra, seleccione un tipo de grupo de recursos y haga clic en Create. No debería poder crear un nuevo grupo de recursos.
- Elija cualquier otro servicio en Service List. Suponiendo que los permisos actuales solo contienen ModelArts CommonOperations, debe recibir un mensaje que indique que no tiene permisos suficientes.
- Elija Service List > ModelArts. En la consola de ModelArts, elija Data Management > Datasets > Create Dataset. Debería poder acceder a la ruta de OBS correspondiente.
Creación de una política personalizada para ModelArts
Además de las políticas de sistema predeterminadas de ModelArts, puede crear políticas personalizadas, que también pueden abordar los permisos de OBS. Para obtener más información, vea Crear una política personalizada.
Puede crear políticas personalizadas en el editor visual o creando un archivo de JSON. Esta sección describe cómo usar un archivo de JSON para configurar una política personalizada para conceder los permisos necesarios para usar el entorno de desarrollo y cómo configurar los permisos de OBS mínimos para los usuarios de ModelArts.
Una política personalizada puede contener acciones para varios servicios a los que se puede acceder globalmente o solo para los proyectos específicos de la región.
ModelArts es un servicio a nivel de proyecto, pero OBS es un servicio global, por lo que debe crear políticas separadas para los dos servicios y luego aplicar estas políticas a los usuarios.
- Cree una política personalizada para minimizar los permisos para OBS de la que depende ModelArts. Véase Figura 3.
Inicie sesión en la consola de IAM y elija Permissions > Create Custom Policy. Configure los parámetros de la siguiente manera:
- Policy Name: Seleccione un nombre de la política personalizada.
- Scope: Global services.
- Policy View: JSON.
- Policy Content: Siga las instrucciones de Ejemplo de políticas personalizadas de OBS. Para obtener más información acerca de los permisos del sistema de OBS, consulte Gestión de permisos de OBS.
- Cree una política personalizada para el permiso para usar el entorno de desarrollo de ModelArts. Véase Figura 4. Configure los parámetros de la siguiente manera:
- Policy Name: Seleccione un nombre de la política personalizada.
- Scope: Project-level services.
- Policy View: JSON.
- Policy Content: Siga las instrucciones de Ejemplo de políticas personalizadas para utilizar el entorno de desarrollo de ModelArts. Para ver las acciones que se pueden agregar para las políticas personalizadas, consulte Referencia de la API de ModelArts > Políticas de permisos y acciones admitidas.
- Para ver las políticas del sistema de otros servicios, consulte Permisos del sistema.
- En la consola de IAM, cree un grupo de usuarios y conceda los permisos necesarios.
Después de crear un grupo de usuarios en la consola de IAM, conceda la política personalizada creada en 1 al grupo de usuarios.
- Cree un usuario y agréguelo al grupo de usuarios.
Cree un usuario en la consola de IAM y agregue el usuario al grupo creado en 3.
- Inicie sesión y verifique los permisos.
Inicie sesión en la consola de ModelArts como el usuario creado, cambie a la región autorizada y compruebe que las políticas ModelArts CommonOperations y Tenant Administrator están en vigor.
- Elija Service List > ModelArts. En la consola de ModelArts, elija Data Management > Datasets. Si no puede crear un conjunto de datos, los permisos (para usar el entorno de desarrollo) concedidos solo a los usuarios de ModelArts han surtido efecto.
- Elija Service List > ModelArts. En la consola de ModelArts, elija DevEnviron > Notebooks > Create. Debe poder acceder a la ruta de acceso de OBS especificada en Storage Path.
Ejemplo de políticas personalizadas de OBS
Los permisos para usar ModelArts requieren la autorización de OBS. En el ejemplo siguiente se muestra el OBS mínimo necesario, incluidos los permisos para los bucket y objetos de OBS. Después de obtener los permisos mínimos para OBS, los usuarios pueden acceder a OBS desde ModelArts sin restricciones.
{ "Version": "1.1", "Statement": [ { "Action": [ "obs:bucket:ListAllMybuckets", "obs:bucket:HeadBucket", "obs:bucket:ListBucket", "obs:bucket:GetBucketLocation", "obs:object:GetObject", "obs:object:GetObjectVersion", "obs:object:PutObject", "obs:object:DeleteObject", "obs:object:DeleteObjectVersion", "obs:object:ListMultipartUploadParts", "obs:object:AbortMultipartUpload", "obs:object:GetObjectAcl", "obs:object:GetObjectVersionAcl", "obs:bucket:PutBucketAcl", "obs:object:PutObjectAcl" ], "Effect": "Allow" } ] }
Ejemplo de políticas personalizadas para utilizar el entorno de desarrollo de ModelArts
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:notebook:list", "modelarts:notebook:create" , "modelarts:notebook:get" , "modelarts:notebook:update" , "modelarts:notebook:delete" , "modelarts:notebook:action" , "modelarts:notebook:access" ] } ] }