Gestion de l'accès IAM pour Inférence d'IA Red Hat

L'accès aux projets d' Red Hat AI Inference s pour les utilisateurs de votre compte est géré par le service IBM Cloud® Identity and Access Management (IAM). Chaque utilisateur qui accède au service Red Hat AI Inference dans votre compte doit se voir attribuer une règle d'accès avec un rôle IAM. Consultez les rôles, actions et autres informations suivantes pour vous aider à déterminer la meilleure façon d'attribuer des droits d'accès à Red Hat AI Inference.

La politique d'accès que vous attribuez aux utilisateurs de votre compte détermine les actions qu'un utilisateur peut effectuer dans le cadre du service ou du projet spécifique que vous sélectionnez. Les actions autorisées sont personnalisées et définies par l' Red Hat AI Inference e comme des opérations pouvant être effectuées sur le service. Chaque action est associée à une plateforme IAM ou à un rôle de service que vous pouvez attribuer à un utilisateur.

Assurez-vous également de disposer du rôle Viewer pour les groupes de ressources que vous souhaitez utiliser.

Les politiques d'accès IAM permettent d'accorder des droits d'accès à différents niveaux. Voici quelques exemples :

  • Accorder un accès en lecture ou en écriture à un projet spécifique.
  • Accorder un accès en lecture ou en écriture à un groupe de ressources spécifique pouvant contenir de nombreux projets.
  • Accorder un accès de type Lecteur ou Auteur à l'ensemble du compte, qui peut comporter de nombreux groupes de ressources contenant eux-mêmes de nombreux projets.
  • Accorder au lecteur l'accès au(x) projet(s) Inférence d'IA Red Hat au sein d'un groupe de ressources et au niveau du compte.
  • Accorder un accès de création pour créer un ou plusieurs projets d' Inférence d'IA Red Hat au sein d'un groupe de ressources et au niveau du compte.

Si un rôle spécifique et ses actions ne correspondent pas au cas d'utilisation que vous recherchez, vous pouvez créer un rôle personnalisé et sélectionner les actions à inclure.

Consultez les tableaux suivants qui présentent les types de tâches autorisées pour chaque rôle lorsque vous utilisez le service Red Hat AI Inference. Les rôles de gestion de la plateforme permettent aux utilisateurs d'effectuer des tâches sur les ressources de service au niveau de la plateforme, par exemple attribuer un accès utilisateur au service, créer ou supprimer des projets, et associer des projets à des applications. Les rôles d'accès aux services permettent aux utilisateurs d'accéder à Red Hat AI Inference et d'appeler l'API de l' Red Hat AI Inference.

Voici un aperçu général des actions que les rôles de la plateforme permettent aux utilisateurs d'effectuer. Utilisez un langage simple pour décrire le type de tâches pouvant être réalisées ou les missions courantes que les utilisateurs peuvent s'attendre à accomplir lorsqu'un rôle leur est attribué.

Rôles et actions IAM

Rôles de la plateforme IAM
Rôle de plateforme Description
Afficheur En tant qu'utilisateur disposant d'un rôle de viewer, vous pouvez consulter les projets, mais vous ne pouvez pas les modifier.
Opérateur En tant qu'opérateur, vous pouvez effectuer les actions sur la plateforme nécessaires à la configuration et à l'exploitation des projets, telles que la consultation du tableau de bord d'un service.
Editeur En tant qu'éditeur, vous pouvez réaliser toutes les actions de plateforme à l'exception de la gestion des comptes et de l'affectation de règles d'accès.
Administrateur En tant qu'administrateur, vous pouvez réaliser toutes les actions de plateforme relatives à la ressource à laquelle ce rôle est affecté, y compris l'affectation de règles d'accès à d'autres utilisateurs.
Lecteur du configurateur de services Possibilité de lire la configuration des services pour la gestion de la gouvernance.
Key Manager En tant que gestionnaire de clés, le service peut effectuer les actions sur la plateforme nécessaires à la gestion des clés de ressources, telles que la création d'une nouvelle clé de ressource.
Rôle d'accès aux services IAM
Rôle de service Description
Lecteur En tant que lecteur, vous pouvez réaliser des actions en lecture seule au sein d'un service, par exemple, afficher des ressources spécifiques au service.
Auteur En tant qu'auteur, vous disposez de droits plus étendus que le rôle de lecteur, qui incluent la création et l'édition de ressources spécifiques au service.
Responsable En tant que responsable, vous disposez de droits plus étendus que le rôle d'auteur, qui vous permettent d'effectuer des actions privilégiées définies par le service. De plus, vous pouvez créer et éditer des ressources spécifiques au service.
Actions IAM
actions et événements Description Rôles
instructlab.dashboard.view Consultez les tableaux de bord d' Red Hat AI Inference. Opérateur, administrateur, rédacteur
instructlab.taxonomy.read Consultez les détails d'une taxonomie. Lecteur, rédacteur, gestionnaire
instructlab.taxonomy.create Créer des taxonomies Auteur, Responsable
instructlab.taxonomy.list Liste des taxonomies. Lecteur, rédacteur, gestionnaire
instructlab.taxonomy.delete Supprimer les taxonomies. Auteur, Responsable
instructlab.sdgdata.read Consultez les détails d'une session de génération de données. Lecteur, rédacteur, gestionnaire
instructlab.sdgdata.list Liste des exécutions de génération de données. Lecteur, rédacteur, gestionnaire
instructlab.sdgdata.create Créer une session de génération de données. Auteur, Responsable
instructlab.sdgdata.delete Supprimer une exécution de génération de données. Auteur, Responsable
instructlab.sdgdata.stop Interrompre un cycle de génération de données. Auteur, Responsable
instructlab.sdgdata.stop Interrompre un cycle de génération de données. Auteur, Responsable
instructlab.model.read Consultez les détails d'une session d'entraînement du modèle. Lecteur, rédacteur, gestionnaire
instructlab.model.list Énumérer les sessions de formation sur les modèles. Lecteur, rédacteur, gestionnaire
instructlab.model.create Créer une session d'entraînement du modèle. Auteur, Responsable
instructlab.model.delete Supprimer une session d'entraînement d'un modèle. Auteur, Responsable
instructlab.model.stop Interrompre l'entraînement d'un modèle. Auteur, Responsable

Accorder à l' InstuctLab l'autorisation de créer et de mettre à jour les artefacts Object Storage

Attribuez à Inférence d'IA Red Hat le rôle d'accès Writer pour le service Object Storage. L'utilisateur connecté doit également disposer de la même autorisation.

  1. Créez la politique d'autorisation pour Inférence d'IA Red Hat et Object Storage.

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

    Si vous disposez déjà de ressources d' Object Storage, vous pouvez limiter l'autorisation à ces seules ressources.

    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. Vérifiez que la politique d'autorisation a bien été créée.

    ibmcloud iam authorization-policies
    

    Résultat lorsque l'autorisation n'est pas limitée à un compartiment spécifique d' 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
    

    Résultat lorsque l'autorisation est limitée à un compartiment spécifique d' 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. Facultatif : si vous utilisez un référentiel privé, créez une autre autorisation de service pour Inférence d'IA Red Hat et Secrets Manager

    ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
    
  4. Si nécessaire, accordez l'autorisation Writer à l'utilisateur connecté. Indiquez l'ID d'instance du service Object Storage obtenu à l'étape précédente.

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

Attribuer des droits d'accès aux utilisateurs pour vos ressources

Vous pouvez contrôler quels utilisateurs (ou groupes d'utilisateurs) de votre compte ont accès à vos ressources Red Hat AI Inference. Suivez ces étapes pour attribuer des droits d'accès dans la console.

Pour plus d’informations sur la manière d’attribuer des droits d’accès, sur les étapes à suivre pour utiliser l’interface de ligne de commande (CLI) ou sur les différentes façons de définir la portée de l’accès à Red Hat AI Inference ou à votre compartiment Object Storage, consultez la section Gestion des accès IAM pour Red Hat AI Inference.

Il existe deux méthodes courantes pour attribuer des droits d'accès :

Règles d'accès par utilisateur.
Vous pouvez gérer les règles d'accès par utilisateur à partir de la page Gérer > Accès (IAM) > Utilisateurs de la console. Pour plus d'informations sur la procédure d'attribution des droits d'accès IAM, consultez la section Gestion de l'accès aux ressources dans la console.
Groupes d'accès.
Les groupes d'accès sont utilisés pour rationaliser la gestion des accès en affectant une fois l'accès à un groupe. Ensuite, vous pouvez ajouter ou supprimer des utilisateurs du groupe au besoin pour contrôler leur accès. Vous gérez les groupes d'accès et leur accès à partir de la page Gérer > Accès (IAM) > Groupes d'accès de la console. Pour plus d'informations, voir Affectation d'un accès à un groupe dans la console.

{{../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}}

Attribution d'un accès à Inférence d'IA Red Hat à l'aide de l'interface de ligne de commande (CLI)

Pour obtenir des instructions détaillées sur l'affectation, la suppression et l'examen des accès, voir Affectation de l'accès aux ressources à l'aide de l'interface de ligne de commande. L'exemple suivant illustre une commande permettant d'attribuer le rôle Writer à instructlab:

Utilisez instructlab comme nom de service. Pour trouver les identifiants de rôle, exécutez la commande ibmcloud iam roles. Par ailleurs, mettez entre guillemets les noms de rôles composés de plusieurs mots. Par exemple "Service Configuration Reader".

Exemple de commande permettant d'attribuer à un utilisateur le rôle Viewer pour un projet Inférence d'IA Red Hat spécifique au sein du compte.

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

Exemple de commande permettant d'attribuer à un utilisateur le rôle de gestionnaire de clés pour un projet Inférence d'IA Red Hat spécifique au sein du compte.

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

Exemple de commande permettant d'attribuer le rôle Writer à un utilisateur pour tous les projets Inférence d'IA Red Hat du compte.

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

Exemple de commande permettant d'attribuer le rôle d'administrateur à toutes les instances du service Inférence d'IA Red Hat du compte.

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

Exemple de commande permettant d'attribuer le rôle Viewer à tous les groupes de ressources du compte.

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

Exemple de commande permettant d'attribuer le rôle Viewer à tous les utilisateurs d'un groupe de ressources spécifique.

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

Exemple de commande permettant d'attribuer le rôle d'administrateur à un groupe de ressources.

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

Attribution d'un accès utilisateur à Inférence d'IA Red Hat à l'aide de l'API

Pour obtenir des instructions détaillées sur l'affectation, la suppression et l'examen des accès, consultez Affectation de l'accès aux ressources à l'aide de l'API ou Création de documents de politique d'API. Les noms de ressource cloud (CRN) du rôle dans le tableau suivant sont utilisés pour affecter l'accès avec l'API.

Utilisez pour instructlab le nom du service et consultez le tableau des valeurs CRN des rôles afin de vous assurer que vous utilisez la valeur correcte pour le rôle. Consultez la liste suivante des CRN par rôle.

CRN des rôles IAM
Rôle CRN
Lecteur crn:v1:bluemix:public:iam::::serviceRole:Reader
Auteur crn:v1:bluemix:public:iam::::serviceRole:Writer
Responsable crn:v1:bluemix:public:iam::::serviceRole:Manager
Afficheur crn:v1:bluemix:public:iam::::role:Viewer
Opérateur crn:v1:bluemix:public:iam::::role:Operator
Editeur crn:v1:bluemix:public:iam::::role:Editor
Administrateur crn:v1:bluemix:public:iam::::role:Administrator
Lecteur du configurateur de services crn:v1:bluemix:public:iam::::role:ConfigReader
Key Manager crn:v1:bluemix:public:resource-controller::::role:KeyManager

L'exemple suivant attribue le rôle Writer à 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}}