Gestion de l'accès IAM pour InstructLab
L'accès aux projets Red Hat AI InstructLab pour les utilisateurs de votre compte est contrôlé par IBM Cloud® Identity and Access Management (IAM). Chaque utilisateur qui accède au service Red Hat AI InstructLab dans votre compte doit se voir attribuer une règle d'accès avec un rôle IAM. Examinez les rôles, actions et autres éléments suivants afin de déterminer la meilleure façon d'attribuer un accès à Red Hat AI InstructLab.
La politique d'accès que vous attribuez aux utilisateurs de votre compte détermine les actions qu'un utilisateur peut effectuer dans le contexte du service ou du projet spécifique que vous sélectionnez. Les actions autorisées sont personnalisées et définies par Red Hat AI InstructLab comme des opérations qui peuvent ê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 que vous avez également le rôle de visualiseur pour les groupes de ressources que vous souhaitez utiliser.
Les politiques d'accès IAM permettent l'accès à différents niveaux. Parmi les options possibles, on peut citer les suivantes :
- Donner au lecteur ou au rédacteur l'accès à un projet spécifique.
- Donner au lecteur ou au rédacteur l'accès à un groupe de ressources spécifique où il pourrait y avoir de nombreux projets.
- Donner au lecteur ou au rédacteur l'accès à l'ensemble du compte lorsqu'il peut y avoir de nombreux groupes de ressources avec de nombreux projets.
- Donner au visualiseur l'accès au(x) projet(s) InstructLab au sein d'un groupe de ressources et au niveau du compte.
- Donner l'accès à la création de projet(s) InstructLab 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 décrivent les types de tâches que chaque rôle permet d'effectuer lorsque vous travaillez avec le service Red Hat AI InstructLab. Les rôles de gestion de la plate-forme permettent aux utilisateurs d'effectuer des tâches sur les ressources de service au niveau de la plate-forme, par exemple d'attribuer un accès utilisateur au service, de créer ou de supprimer des projets et de lier des projets à des applications. Les rôles d'accès aux services permettent aux utilisateurs d'accéder à Red Hat AI InstructLab et d'appeler l'API de Red Hat AI InstructLab.
Il s'agit d'une vue d'ensemble des possibilités offertes par les rôles de la plate-forme. Utilisez une description en langage clair du type de tâches qui peuvent être accomplies ou des travaux courants que les utilisateurs peuvent s'attendre à effectuer lorsque chaque rôle leur est attribué.
Rôles et actions IAM
| Rôle de plateforme | Description |
|---|---|
| Afficheur | En tant que spectateur, vous pouvez voir les projets, mais vous ne pouvez pas les modifier. |
| Opérateur | En tant qu'opérateur, vous pouvez effectuer les actions de plateforme nécessaires à la configuration et à l'exploitation des projets, telles que l'affichage 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. |
| Gestionnaire principal | En tant que gestionnaire de clés, le service peut effectuer les actions de plateforme nécessaires à la gestion des clés de ressources, telles que la création d'une nouvelle clé de ressource. |
| 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 et événements | Description | Rôles |
|---|---|---|
instructlab.dashboard.view |
Consulter les tableaux de bord de InstructLab. | Opérateur, administrateur, éditeur |
instructlab.taxonomy.read |
Lire les détails d'une taxonomie. | Lecteur, rédacteur, gestionnaire |
instructlab.taxonomy.create |
Créer des taxonomies | Auteur, Responsable |
instructlab.taxonomy.list |
Lister les taxonomies. | Lecteur, rédacteur, gestionnaire |
instructlab.taxonomy.delete |
Supprimer des taxonomies. | Auteur, Responsable |
instructlab.sdgdata.read |
Lire les détails d'un cycle de génération de données. | Lecteur, rédacteur, gestionnaire |
instructlab.sdgdata.list |
Liste des cycles de génération de données. | Lecteur, rédacteur, gestionnaire |
instructlab.sdgdata.create |
Créer un cycle de génération de données. | Auteur, Responsable |
instructlab.sdgdata.delete |
Supprimer un cycle de génération de données. | Auteur, Responsable |
instructlab.sdgdata.stop |
Arrêter un cycle de génération de données. | Auteur, Responsable |
instructlab.sdgdata.stop |
Arrêter un cycle de génération de données. | Auteur, Responsable |
instructlab.model.read |
Lire les détails d'une formation au modèle. | Lecteur, rédacteur, gestionnaire |
instructlab.model.list |
Liste des cycles d'entraînement du modèle. | Lecteur, rédacteur, gestionnaire |
instructlab.model.create |
Créer un modèle d'entraînement. | Auteur, Responsable |
instructlab.model.delete |
Supprimer un cycle d'entraînement du modèle. | Auteur, Responsable |
instructlab.model.stop |
Arrêter l'entraînement d'un modèle. | Auteur, Responsable |
Donner à InstuctLab la permission de créer et de mettre à jour les artefacts de Object Storage
Donnez à InstructLab le rôle d'accès à Writer pour le service Object Storage. L'utilisateur connecté doit également disposer de la même autorisation.
-
Créer la politique d'autorisation pour InstructLab et Object Storage.
ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storageSi vous disposez déjà de ressources Object Storage, vous pouvez limiter l'autorisation à ces 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 -
Vérifiez que la politique d'autorisation a été créée.
ibmcloud iam authorization-policiesRésultat lorsque l'autorisation n'est pas limitée à un panier Object Storage spécifique :
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: WriterRésultat lorsque l'autorisation est limitée à un seau Object Storage spécifique :
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 -
Facultatif Si vous utilisez un référentiel privé, créez une autre autorisation de service pour InstructLab et Secrets Manager
ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager -
Si nécessaire, donnez l'autorisation
Writerà l'utilisateur connecté. Inclure l'ID de l'instance de service Object Storage de l'étape précédente.ibmcloud iam user-policy-create <user> --roles Writer --service-instance <cloud-object-storage-instance-id>
Attribuer un accès utilisateur à vos ressources
Vous pouvez contrôler quels utilisateurs (ou groupes d'utilisateurs) de votre compte accèdent à vos ressources InstructLab. Procédez comme suit pour attribuer un accès dans la console.
Pour plus de détails sur la façon dont vous pouvez attribuer un accès, comme les étapes pour utiliser le CLI ou les différentes façons dont vous pouvez définir l'accès à InstructLab ou à votre panier Object Storage, voir Gérer l'accès IAM pour Red Hat AI InstructLab sur IBM Cloud.
Il existe deux manières courantes d'attribuer un 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 les étapes d'attribution d'un accès IAM, consultez la rubrique Gestion des 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.
{{../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}}
Attribution d'un accès à InstructLab à l'aide de la 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 montre une commande permettant d'attribuer le rôle Writer à instructlab:
Utilisez instructlab comme nom de service. Pour trouver les ID de rôle, exécutez la commande ibmcloud iam roles. De même, utilisez des guillemets pour les noms de rôles qui comportent plus d'un mot. Par exemple "Service Configuration Reader".
Exemple de commande pour donner à un utilisateur le rôle de visualiseur pour un projet InstructLab spécifique dans le compte.
ibmcloud iam user-policy-create name@example.com --roles Viewer --service-name instructlab --attributes "projectId=1b111111-1ef1-11f1-1111-111bae11111a"
Exemple de commande pour donner à un utilisateur le rôle de Key Manager pour un projet spécifique InstructLab dans le compte.
ibmcloud iam user-policy-create name@email.com --roles "Key Manager" --service-name instructlab
Exemple de commande pour donner à un utilisateur le rôle de rédacteur pour tous les projets InstructLab dans le compte.
ibmcloud iam user-policy-create USER@EXAMPLE.COM --service-name instructlab --roles Writer
Exemple de commande pour attribuer le rôle d'administrateur à toutes les instances du service InstructLab dans le compte.
ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name instructlab
Exemple de commande pour attribuer le rôle de visualiseur à tous les groupes de ressources du compte.
ibmcloud iam user-policy-create name@example.com --roles Viewer --resource-type resource-group
Exemple de commande pour attribuer le rôle de visualiseur à 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 pour obtenir un groupe de ressources ayant le rôle d'administrateur.
ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group
Attribution d'un accès utilisateur à InstructLab à 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 instructlab pour le nom du service et reportez-vous au tableau des valeurs CRN de rôle pour vous assurer que vous utilisez la valeur correcte pour le rôle. Examinez la liste suivante des CRN de rôle.
| 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 |
| Configurateur de services Lecteur | crn:v1:bluemix:public:iam::::role:ConfigReader |
| Dirigeant clé | 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"
}
]
}
]
}
{{../account/iam-mng-access.md#access-resources-api}}
{{../account/iam-mng-access.md#access-resourcegroups-api}}