¿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, asigne a los usuarios el permiso ModelArts CommonOperations en los servicios de nivel de proyecto. Dado que ModelArts depende de los permisos de OBS, asigne a los usuarios el permiso de OBS Administrator en los servicios globales.
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.
- Configure permisos para el grupo de usuarios.
En la lista de grupos de usuarios, localice el grupo de usuarios creado en el paso 1, haga clic en Authorize y realice las siguientes operaciones.
- Asigne el permiso ModelArts CommonOperations sobre los servicios a nivel de proyecto para el grupo de usuarios y haga clic en OK.
El permiso solo tiene efecto en las regiones asignadas. Asigne permisos en todas las regiones si en todas es necesario.
- Asigne el permiso OBS Administrator en los servicios globales para el grupo de usuarios y haga clic en OK.
- Asigne el permiso ModelArts CommonOperations sobre los servicios a nivel de proyecto para el grupo de usuarios y haga clic en OK.
- Cree un usuario y agréguelo a un grupo de usuarios.
Cree un usuario en la consola de IAM y agréguelo al grupo de usuarios creado en el paso 1.
- Inicie sesión como usuario de IAM 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. (Supongamos que la política actual solo contiene ModelArts CommonOperations) Si aparece un mensaje indicando que no tiene permisos suficientes para acceder al servicio, la política ModelArts CommonOperations ya ha surtido efecto.
- 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, consulte Creación de una política personalizada.
Puede crear políticas personalizadas mediante las vistas de visual editor o JSON. Esta sección describe cómo utilizar un archivo de JSON a conceder a un usuario permisos para acceder a un entorno de desarrollo y a conceder a ModelArts los permisos mínimos necesarios para acceder a OBS.
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.
- Crear una política personalizada para minimizar los permisos para OBS del que depende ModelArts.
Inicie sesión en la consola de IAM, seleccione Permissions > Policies/Roles y haga clic en Create Custom Policy. Configure los parámetros de la siguiente manera:
- Policy Name: Seleccione un nombre de la política personalizada.
- Policy View: JSON
- Policy Content: Siga las instrucciones de Ejemplo de políticas personalizadas de OBS. Para obtener más información sobre los permisos del sistema de OBS, consulte Gestión de permisos de OBS.
- Cree una política personalizada para los permisos de usar los entornos de desarrollo de ModelArts. Configure los parámetros de la siguiente manera:
- Policy Name: Seleccione un nombre de la política personalizada.
- Policy View: JSON
- Policy Content: Siga las instrucciones de Ejemplo de políticas personalizadas para utilizar el entorno de desarrollo de ModelArts. Para conocer las acciones que pueden agregarse a las directivas personalizadas, consulte Referencia de las API de ModelArts > Políticas de permisos y acciones admitidas.
- Para ver las políticas del sistema de otros servicios, consulte Permisos del sistema.
- Cree un grupo de usuarios y conceder permisos al grupo de usuarios en la consola de IAM.
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 a un grupo de usuarios.
Cree un usuario en la consola de IAM y agregue el usuario al grupo creado en 3.
- Inicie sesión como usuario de IAM 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, seleccione DevEnviron > Notebook y haga clic en Create. Si puede acceder a la ruta del OBS especificada en Storage, los permisos de OBS ha entrado en vigor.
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" ] } ] }