Gestión del acceso de IAM para InstructLab

El acceso a los proyectos de Red Hat AI InstructLab para los usuarios de su cuenta está controlado por IBM Cloud® Identity and Access Management (IAM). A cada usuario que acceda al servicio Red Hat AI InstructLab en la cuenta se le debe asignar una política de acceso con un rol de IAM. Revise los siguientes roles, acciones y más para ayudar a determinar la mejor manera de asignar el acceso a Red Hat AI InstructLab.

La política de acceso que asigna a los usuarios en su cuenta determina qué acciones puede realizar un usuario en el contexto del servicio o proyecto específico que seleccione. Las acciones permitidas son personalizadas y definidas por la Red Hat AI InstructLab como operaciones que está permitido realizar en el servicio. Cada acción se correlaciona con una plataforma de IAM o un rol de servicio que puede asignar a un usuario.

Asegúrese de que también tiene el rol de Visor para los grupos de recursos que desea utilizar.

Las políticas de acceso IAM permiten el acceso a diferentes niveles. Algunas opciones incluyen lo siguiente:

  • Dar acceso de Lector o Escritor a un proyecto específico.
  • Dar acceso de Lector o Escritor a un grupo de recursos específico donde podría haber muchos proyectos.
  • Dar acceso de Lector o Escritor a toda la cuenta donde podría haber muchos grupos de recursos con muchos proyectos.
  • Dar acceso al Visor al proyecto o proyectos InstructLab dentro de un grupo de recursos y del nivel de cuenta.
  • Dar acceso a la creación para crear InstructLab proyecto(s) dentro de un grupo de recursos y el nivel de cuenta.

Si un rol específico y sus acciones no se ajustan al caso práctico que desea abordar, puede crear un rol personalizado y seleccionar las acciones que desea incluir.

Revise las siguientes tablas que describen los tipos de tareas que permite cada función cuando trabaja con el servicio Red Hat AI InstructLab. Los roles de gestión de la plataforma permiten a los usuarios realizar tareas en los recursos de servicio a nivel de plataforma, por ejemplo, asignar acceso de usuario al servicio, crear o eliminar proyectos y vincular proyectos a aplicaciones. Los roles de acceso a los servicios permiten a los usuarios acceder a Red Hat AI InstructLab y llamar a la API de Red Hat AI InstructLab.

Esta es una vista de alto nivel de lo que los roles de la plataforma permiten a los usuarios hacer. Utiliza una descripción en lenguaje sencillo sobre qué tipo de tareas se pueden realizar o los trabajos habituales que los usuarios pueden esperar hacer cuando tienen asignado cada rol.

Acciones y roles de IAM

Funciones de la plataforma IAM
Rol de plataforma Descripción
Visor Como espectador, puede ver los proyectos, pero no modificarlos.
Operador Como operador, puede realizar acciones de plataforma necesarias para configurar y operar proyectos, como ver el panel de control de un servicio.
Editor Como editor, puede realizar todas las acciones de plataforma excepto gestionar la cuenta y asignar políticas de acceso.
Administrador Como administrador, puede realizar todas las acciones de plataforma en función del recurso al que se asigne este rol, incluida la asignación de políticas de acceso a otros usuarios.
Configurador de servicios Lector La capacidad de leer la configuración de servicios para la gestión de gobierno.
Gestor de llaves Como gestor de claves, el servicio puede realizar acciones de plataforma necesarias para gestionar claves de recursos, como crear una nueva clave de recurso.
Roles de acceso al servicio de IAM
Rol de servicio Descripción
Lector Como lector, puede realizar acciones de sólo lectura dentro de un servicio como la visualización de recursos específicos del servicio.
Writer Como escritor, tiene permisos más allá del rol de lector, incluida la creación y edición de recursos específicos del servicio.
Gestor Como gestor, tiene permisos más allá del rol de escritor para completar las acciones privilegiadas tal como define el servicio. Además, puede crear y editar recursos específicos del servicio.
Acciones de IAM
acciones y eventos Descripción Roles
instructlab.dashboard.view Consulte los cuadros de mando de InstructLab. Operador, Administrador, Editor
instructlab.taxonomy.read Leer los detalles de una taxonomía. Lector, Escritor, Gestor
instructlab.taxonomy.create Crear taxonomías Escritor, Gestor
instructlab.taxonomy.list Lista de taxonomías. Lector, Escritor, Gestor
instructlab.taxonomy.delete Eliminar taxonomías. Escritor, Gestor
instructlab.sdgdata.read Lea los detalles de una ejecución de generación de datos. Lector, Escritor, Gestor
instructlab.sdgdata.list Lista de ejecuciones de generación de datos. Lector, Escritor, Gestor
instructlab.sdgdata.create Crear una ejecución de generación de datos. Escritor, Gestor
instructlab.sdgdata.delete Borrar una ejecución de generación de datos. Escritor, Gestor
instructlab.sdgdata.stop Detener una ejecución de generación de datos. Escritor, Gestor
instructlab.sdgdata.stop Detener una ejecución de generación de datos. Escritor, Gestor
instructlab.model.read Lea los detalles de una ejecución de entrenamiento del modelo. Lector, Escritor, Gestor
instructlab.model.list Lista de ejecuciones de entrenamiento del modelo. Lector, Escritor, Gestor
instructlab.model.create Crear una ejecución de entrenamiento del modelo. Escritor, Gestor
instructlab.model.delete Borrar una ejecución de entrenamiento del modelo. Escritor, Gestor
instructlab.model.stop Detener una ejecución de entrenamiento del modelo. Escritor, Gestor

Conceda a InstuctLab permiso para crear y actualizar artefactos Object Storage

Asigne a InstructLab el rol de acceso Writer para el servicio Object Storage. El usuario conectado también debe tener el mismo permiso.

  1. Cree la política de autorización para InstructLab y Object Storage.

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage
    

    Si ya dispone de recursos en Object Storage, puede limitar la autorización sólo a esos recursos.

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage --target-service-instance-id <cloud-object-storage-instance-id> --target-resource <cloud-object-storage-bucket> --target-resource-type bucket
    
  2. Compruebe que se ha creado la política de autorización.

    ibmcloud iam authorization-policies
    

    Resultado cuando la autorización no se refiere a un cubo específico de Object Storage:

    Getting authorization policies under account abc1234 as user...
    OK
    
    ID:                        <id>
    Source service name:       instructlab
    Source service instance:   All instances
    Target service name:       cloud-object-storage
    Target service instance:   All instances
    Roles:                     Writer
    

    Resultado cuando la autorización se refiere a un cubo específico de Object Storage:

    Getting authorization policies under account abc1234 as user...
    OK
    
    ID:                        <id>
    Source service name:       instructlab
    Source service instance:   All instances
    Target service name:       cloud-object-storage
    Target service instance:   bucket
    Roles:                     Writer
    
  3. Opcional Si utiliza un repositorio privado, cree otra autorización de servicio para InstructLab y Secrets Manager

    ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
    
  4. Si es necesario, conceda el permiso Writer al usuario conectado. Incluya el ID de instancia de servicio Object Storage del paso anterior.

    ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
    

Asigne acceso de usuario a sus recursos

Puedes controlar qué usuarios (o grupos de usuarios) de tu cuenta acceden a tus recursos de InstructLab. Siga estos pasos para asignar el acceso en la consola.

Para obtener más información sobre cómo asignar accesos, como los pasos para utilizar la CLI o las distintas formas de delimitar el acceso a InstructLab o a su bucket Object Storage, consulte Administración del acceso IAM para Red Hat AI InstructLab en IBM Cloud.

Hay dos formas habituales de asignar el acceso:

Políticas de acceso por usuario.
Puede gestionar políticas de acceso por usuario desde la página Gestionar > Acceso (IAM) > Usuarios de la consola. Para obtener información sobre los pasos para asignar acceso a IAM, consulte Administrar el acceso a los recursos en la consola.
Grupos de acceso.
Los grupos de acceso se utilizan para agilizar la gestión de accesos mediante la asignación de acceso a un grupo una vez y, a continuación, puede añadir o eliminar usuarios según sea necesario del grupo para controlar su acceso. Puede gestionar los grupos de acceso y su acceso desde la página Gestionar > Acceso (IAM) > Grupos de acceso de la consola. Para obtener más información, consulte Asignación de acceso a un grupo en la consola.

{{../account/iam-mng-access.md#access-resources-console}}

{{../account/iam-mng-access.md#access-to-resources-console}}

{{../account/iam-mng-access.md#access-to-resource-group}}

Asignación de acceso a InstructLab mediante la CLI

Para obtener instrucciones detalladas para asignar, eliminar y revisar el acceso, consulte Asignación de acceso a recursos utilizando la CLI. El siguiente ejemplo muestra un comando para asignar el rol Writer para instructlab:

Utilice instructlab para el nombre de servicio. Para encontrar los ID de rol, ejecute el comando ibmcloud iam roles. Además, entrecomille los nombres de funciones que contengan más de una palabra. Por ejemplo "Service Configuration Reader".

Ejemplo de comando para otorgar a un usuario el rol de Visor para un proyecto específico de InstructLab en la cuenta.

ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"

Ejemplo de comando para otorgar a un usuario el rol de Key Manager para un proyecto específico de InstructLab en la cuenta.

ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab

Ejemplo de comando para dar a un usuario el rol de Escritor para todos los proyectos de InstructLab en la cuenta.

ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer

Ejemplo de comando para asignar el rol de Administrador para todas las instancias del servicio InstructLab en la cuenta.

ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab

Comando de ejemplo para asignar el rol Visor a todos los grupos de recursos de la cuenta.

ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

Comando de ejemplo para asignar el rol Visor a todos los usuarios de un grupo de recursos específico.

ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

Ejemplo de comando para obtener un grupo de recursos con rol de Administrador.

ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group

Asignación de acceso de usuario a InstructLab mediante la API

Para obtener instrucciones paso a paso para asignar, eliminar y revisar el acceso, consulte Asignación de acceso a recursos utilizando la API o Crear documentos de API de política. Los nombres de recurso de nube de rol (CRN) de la tabla siguiente se utilizan para asignar acceso con la API.

Utilice instructlab para el nombre del servicio y consulte la tabla de valores CRN de roles para asegurarse de que está utilizando el valor correcto para el rol. Revise la siguiente lista de CRN de funciones.

Función IAM CRN
Rol CRN
Lector crn:v1:bluemix:public:iam::::serviceRole:Reader
Writer crn:v1:bluemix:public:iam::::serviceRole:Writer
Gestor crn:v1:bluemix:public:iam::::serviceRole:Manager
Visor crn:v1:bluemix:public:iam::::role:Viewer
Operador crn:v1:bluemix:public:iam::::role:Operator
Editor crn:v1:bluemix:public:iam::::role:Editor
Administrador crn:v1:bluemix:public:iam::::role:Administrator
Configurador de servicios Lector crn:v1:bluemix:public:iam::::role:ConfigReader
Administrador de claves crn:v1:bluemix:public:resource-controller::::role:KeyManager

El siguiente ejemplo asigna el rol Writer para instructlab.

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Writer role for InstructLab",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "IBMid-123453user"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "instructlab"
        }
      ]
    }
  ]
}

{{../account/iam-mng-access.md#access-resources-api}}

{{../account/iam-mng-access.md#access-resourcegroups-api}}