Gestión del acceso de IAM para Inferencia de IA de Red Hat

El acceso a los proyectos de Red Hat AI Inference para los usuarios de su cuenta se controla mediante IBM Cloud® Identity and Access Management (IAM). A cada usuario que acceda al servicio Red Hat AI Inference en la cuenta se le debe asignar una política de acceso con un rol de IAM. Consulta los siguientes roles, acciones y otros aspectos para determinar cuál es la mejor forma de asignar el acceso a Red Hat AI Inference.

La política de acceso que asignes a los usuarios de tu cuenta determina qué acciones puede realizar un usuario en el contexto del servicio o del proyecto específico que selecciones. Las acciones permitidas se personalizan y definen mediante el Red Hat AI Inference como operaciones que se pueden 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úrate también de que tienes el rol de Viewer para los grupos de recursos que quieras utilizar.

Las políticas de acceso de IAM permiten el acceso a distintos niveles. Algunas opciones son las siguientes:

  • Conceder acceso de lectura o escritura a un proyecto específico.
  • Conceder acceso de lectura o escritura a un grupo de recursos específico en el que podría haber muchos proyectos.
  • Conceder acceso de Lector o Escritor a toda la cuenta, en la que puede haber muchos grupos de recursos con numerosos proyectos.
  • Conceder al usuario acceso a los proyectos Inferencia de IA de Red Hat dentro de un grupo de recursos y a nivel de cuenta.
  • Conceder acceso de creación para crear uno o varios proyectos de Inferencia de IA de Red Hat dentro de un grupo de recursos y a 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.

Consulta las siguientes tablas, en las que se describen los tipos de tareas que permite realizar cada rol al trabajar con el servicio Red Hat AI Inference. Las funciones de gestión de la plataforma permiten a los usuarios realizar tareas en los recursos del 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 al servicio permiten a los usuarios acceder a Red Hat AI Inference y utilizar la API de Red Hat AI Inference.

Esta es una visión general de lo que los roles de la plataforma permiten hacer a los usuarios. Utiliza un lenguaje sencillo para describir qué tipo de tareas se pueden realizar o las funciones habituales que los usuarios pueden esperar desempeñar al tener asignado cada rol.

Acciones y roles de IAM

Roles de la plataforma IAM
Rol de plataforma Descripción
Visor Como usuario con permisos de visualización, puedes ver los proyectos, pero no puedes modificarlos.
Operador Como operador, puedes realizar las acciones de la plataforma necesarias para configurar y gestionar proyectos, como consultar 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.
Lector del configurador de servicios La capacidad de leer la configuración de servicios para la gestión de gobierno.
Key Manager Como gestor de claves, el servicio puede realizar las acciones de la plataforma necesarias para gestionar las 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 Ver los paneles de control de Red Hat AI Inference. Operador, administrador, editor
instructlab.taxonomy.read Consulta los detalles de una taxonomía. Lector, Escritor, Gestor
instructlab.taxonomy.create Crear taxonomías Escritor, Gestor
instructlab.taxonomy.list Taxonomías de listas. Lector, Escritor, Gestor
instructlab.taxonomy.delete Eliminar taxonomías. Escritor, Gestor
instructlab.sdgdata.read Consulta los detalles de una ejecución de generación de datos. Lector, Escritor, Gestor
instructlab.sdgdata.list Enumerar las 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 Eliminar 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 Consulta los detalles de una sesión de entrenamiento del modelo. Lector, Escritor, Gestor
instructlab.model.list Enumerar las ejecuciones de entrenamiento del modelo. Lector, Escritor, Gestor
instructlab.model.create Crea una sesión de entrenamiento del modelo. Escritor, Gestor
instructlab.model.delete Eliminar una ejecución de entrenamiento de un modelo. Escritor, Gestor
instructlab.model.stop Detener una sesión de entrenamiento de un modelo. Escritor, Gestor

Conceder a InstuctLab permiso para crear y actualizar los artefactos de Object Storage

Otorga a Inferencia de IA de Red Hat el rol de acceso Writer para el servicio Object Storage. El usuario que haya iniciado sesión también debe tener el mismo permiso.

  1. Crea la política de autorización para Inferencia de IA de Red Hat y Object Storage.

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

    Si ya dispones de recursos de Object Storage, puedes limitar la autorización únicamente 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. Comprueba que se haya creado la política de autorización.

    ibmcloud iam authorization-policies
    

    Resultado cuando la autorización no se limita a un depósito 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 limita a un depósito 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 utilizas un repositorio privado, crea otra autorización de servicio para Inferencia de IA de Red Hat y Secrets Manager

    ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
    
  4. Si es necesario, concede el permiso Writer al usuario que haya iniciado sesión. Incluye el ID de instancia del servicio Object Storage del paso anterior.

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

Asigna acceso de usuario a tus recursos

Puedes controlar qué usuarios (o grupos de usuarios) de tu cuenta pueden acceder a tus recursos de Red Hat AI Inference. Sigue estos pasos para asignar permisos de acceso en la consola.

Para obtener más detalles sobre cómo asignar permisos de acceso, los pasos para utilizar la CLI o las diferentes formas de delimitar el acceso a Red Hat AI Inference o a su depósito de Object Storage, consulte Gestión del acceso de IAM para Red Hat AI Inference.

Hay dos formas habituales de asignar permisos de 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 de IAM, consulte Gestión del 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.

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

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

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

Asignación de acceso a Inferencia de IA de Red Hat 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 a instructlab:

Utilice instructlab para el nombre de servicio. Para encontrar los ID de los roles, ejecuta el comando ibmcloud iam roles. Además, utiliza comillas para los nombres de roles que consten de más de una palabra. Por ejemplo "Service Configuration Reader".

Ejemplo comando comando para asignar a un usuario el rol de Viewer para un proyecto específico de Inferencia de IA de Red Hat en la cuenta.

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

Ejemplo comando comando para asignar a un usuario el rol de Key Manager para un proyecto específico de Inferencia de IA de Red Hat en la cuenta.

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

Ejemplo comando para asignar a un usuario el rol de Writer para todos los proyectos de Inferencia de IA de Red Hat de la cuenta.

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

Ejemplo comando para asignar el rol de administrador a todas las instancias del servicio Inferencia de IA de Red Hat de la cuenta.

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

Ejemplo comando para asignar el rol de Viewer a todos los grupos de recursos de la cuenta.

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

Ejemplo comando para asignar el rol de Viewer 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 comando para asignar el rol de administrador a un grupo de recursos.

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

Asignación de acceso de usuario a Inferencia de IA de Red Hat 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 para instructlab 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. Consulta la siguiente lista de CRN de roles.

CRN de roles de IAM
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
Lector del configurador de servicios crn:v1:bluemix:public:iam::::role:ConfigReader
Key Manager crn:v1:bluemix:public:resource-controller::::role:KeyManager

El siguiente ejemplo asigna el rol Writer a 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"
        }
      ]
    }
  ]
}

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

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