Créer des politiques d'accès et des groupes d'accès
Lorsque tu crées une instance sur IBM Quantum® Platform, un groupe d'accès est automatiquement généré pour que les collaborateurs puissent utiliser cette instance. Si tu souhaites personnaliser ce groupe d'accès ou en créer d'autres, utilise la console IBM® Cloud pour les groupes d'accès.
Un groupe d'accès contient des politiques, qui définissent les actions que les membres du groupe peuvent effectuer sur des ressources spécifiques, comme des services. Dans ce guide, la ressource est généralement une instance de service IBM Quantum.
Tu peux créer des groupes d'accès supplémentaires via la console, la CLI, l'API, ou Terraform IBM Cloud®.
Pour déterminer les actions autorisées par chaque rôle, depuis la page Rôles IAM, sélectionne Qiskit Runtime dans le menu déroulant en haut de la page. Pour une liste plus détaillée, clique sur le nombre dans la colonne à côté du nom du rôle. Par exemple, en visitant cette page et en cliquant sur le nombre à côté du rôle Manager, tu peux voir que ce rôle inclut la possibilité de supprimer un job (quantum-computing.job.delete).
La section Comparer les actions des rôles de service prédéfinis fournit une comparaison des rôles prédéfinis Manager, Writer et Reader.
Créer un groupe d'accès IBM Quantum Administrators
Après avoir configuré un compte pour ton organisation, il est recommandé de créer un groupe d'accès IBM Quantum Administrators. Ce groupe d'accès permet à d'autres utilisateurs de créer et de gérer des instances, et de gérer l'accès des utilisateurs au service Qiskit Runtime.
Lorsque tu crées ce groupe d'accès, inclus les politiques suivantes :
- Service Qiskit Runtime — Accorder l'accès pour gérer toutes les instances IBM Quantum du compte et consulter les analyses d'utilisation du compte.
- Rôle d'accès au service Manager
- Rôle d'accès à la gestion de la plateforme Administrator
- Tous les services de gestion de compte — Accorder l'accès pour lister tous les groupes de ressources du compte.
- Rôle d'accès à la gestion de la plateforme Viewer
- Tous les services de gestion de compte IAM — Accorder l'accès pour inviter des utilisateurs, gérer les groupes d'accès et créer des politiques d'accès.
- Rôle d'accès à la gestion de la plateforme Administrator
- Service Support Center — Accorder l'accès pour permettre aux utilisateurs d'ouvrir des tickets de support via IBM Cloud Support Center.
- Rôle d'accès à la gestion de la plateforme Administrator
Les utilisateurs ayant le rôle de gestion de plateforme viewer sur « tous les services de gestion de compte » peuvent également consulter des services tels que la facturation. Si tu souhaites empêcher cet accès supplémentaire en lecture, utilise la CLI IBM Cloud pour leur accorder l'accès uniquement aux groupes de ressources :
ibmcloud iam access-group-policy-create <group name> --roles Viewer --resource-type resource-group
Suis ces exemples pour créer un groupe d'accès IBM Quantum Administrators en utilisant la CLI IBM Cloud ou la console.
Utiliser la CLI IBM Cloud
Pour créer un groupe d'accès via la CLI, utilise la commande ibmcloud iam access-group-create.
ibmcloud iam access-group-create GROUP_NAME [-d, --description DESCRIPTION]
Pour créer une politique de groupe d'accès via la CLI, utilise la commande ibmcloud iam access-group-policy-create.
ibmcloud iam access-group-policy-create GROUP_NAME {-f, --file @JSON_FILE | --roles ROLE_NAME1,ROLE_NAME2... [--service-name SERVICE_NAME] [--service-instance SERVICE_INSTANCE] [--region REGION] [--resource-type RESOURCE_TYPE] [--resource RESOURCE] [--resource-group-name RESOURCE_GROUP_NAME] [--resource-group-id RESOURCE_GROUP_ID]}
Tu peux utiliser le code JSON suivant pour créer des politiques pour un groupe d'accès Administrators :
- Tous les services de gestion de compte (viewer)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Viewer"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceType",
"value": "platform_service"
}
]
}
]
}
- Service Qiskit Runtime (Manager, Administrator)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::serviceRole:Manager"
},
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceName",
"value": "quantum-computing"
}
]
}
]
}
- Tous les services de gestion de compte IAM (administrator)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "service_group_id",
"value": "IAM"
}
]
}
]
}
- Service Support Center (administrator)
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
},
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "[ACCOUNT_ID]"
},
{
"name": "serviceName",
"value": "support"
}
]
}
]
}
Utiliser la console IAM IBM Cloud
En tant que propriétaire ou administrateur du compte, suis ces étapes pour créer un groupe d'accès IBM Quantum Administrator.
- Va dans Gérer > Accès (IAM) dans la console IBM Cloud.
- Dans le panneau gauche, sous la section Gérer l'accès, clique sur Groupes d'accès, puis sur Créer.
- Dans la fenêtre Créer un groupe d'accès qui s'ouvre, ajoute un nom et une description représentant le groupe d'utilisateurs que tu vas inviter. Par exemple, IBM Quantum Administrators. Clique sur Créer.
Ensuite, crée des politiques pour le service Qiskit Runtime, pour tous les services de gestion de compte IAM et pour tous les services de gestion de compte.
-
Dans le groupe d'accès qui vient d'être créé, clique sur l'onglet Accès, puis sur Attribuer un accès.
-
Dans la page Créer une politique qui s'ouvre, définis ces éléments :
- Service — Recherche Qiskit Runtime et sélectionne-le. Clique sur Suivant.
- Ressources — Sélectionne Toutes les ressources. Clique sur Suivant. Remarque : Si tu créais une politique à appliquer uniquement à une instance particulière, tu choisirais plutôt Ressources spécifiques, Instance de service, égal à la chaîne, puis tu sélectionnerais l'instance.
- Rôles et actions — Sélectionne les valeurs suivantes :
- Pour Accès au service, sélectionne Manager.
- Pour Accès à la plateforme, sélectionne Administrator.
En bas, clique sur Ajouter. Tu devrais voir la politique dans le panneau de droite. Clique sur Attribuer en bas de ce panneau.
Tu as créé avec succès un groupe d'accès avec une politique. Ensuite, crée une deuxième politique pour la même instance.
- Dans le même groupe d'accès, clique sur l'onglet Accès, puis sur Attribuer un accès.
- Dans la page Créer une politique qui s'ouvre, définis ces éléments :
- Service — Sélectionne Tous les services de gestion de compte IAM. Clique sur Suivant.
- Rôles et actions — Pour l'accès à la plateforme, sélectionne Administrator. Clique sur Suivant. En bas, clique sur Ajouter, puis sur Attribuer.
Crée une troisième politique pour la même instance.
- Dans le même groupe d'accès, clique sur l'onglet Accès, puis sur Attribuer un accès.
- Dans la page Créer une politique qui s'ouvre, définis ces éléments :
- Service — Sélectionne Tous les services de gestion de compte. Clique sur Suivant.
- Rôles et actions — Pour l'accès à la plateforme, sélectionne Viewer. Clique sur Suivant. En bas, clique sur Ajouter, puis sur Attribuer.
Crée une quatrième politique pour la même instance.
- Dans le même groupe d'accès, clique sur l'onglet Accès, puis sur Attribuer un accès.
- Dans la page Créer une politique qui s'ouvre, définis ces éléments :
- Service — Sélectionne Support Center. Clique sur Suivant.
- Rôles et actions — Pour l'accès à la plateforme, sélectionne Administrator. Clique sur Suivant. En bas, clique sur Ajouter, puis sur Attribuer.
Enfin, ajoute des utilisateurs au groupe d'accès. Tu peux le faire depuis la page Utilisateurs du groupe d'accès, ou via la page Gestion des accès d'IBM Quantum Platform.
Tu ne peux inviter que les utilisateurs qui sont déjà membres du compte. Si tu ne vois pas un utilisateur sur la page Ajouter des utilisateurs, suis les étapes de la section Inviter et gérer des utilisateurs pour les ajouter d'abord au compte. Une fois qu'ils ont accepté l'invitation, tu peux les ajouter au groupe d'accès.
Comparer les autorisations
Le tableau suivant indique les autorisations accordées à trois entités : les propriétaires de compte, les IBM Quantum Administrators (voir la section Créer un groupe d'accès IBM Quantum Administrators), et les collaborateurs d'instance (un groupe d'accès « Collaborators » est automatiquement généré chaque fois que tu crées une instance via IBM Quantum Platform).
Légende :
✅ A l'autorisation
✴️ Implique une dépendance
❌ N'a pas l'autorisation
| Autorisations | Propriétaire du compte | IBM Quantum Administrators (groupe d'accès) | Collaborateurs d'instance (groupe d'accès) |
|---|---|---|---|
| Accès complet à toutes les ressources IBM Cloud | ✅ | ✅ (Uniquement aux instances Qiskit Runtime) | ❌ (Uniquement à une instance Qiskit Runtime particulière) |
| Attribuer un accès à d'autres utilisateurs | ✅ | ✅ (Uniquement au service Qiskit Runtime) | ❌ |
| Créer des instances de service | ✅ (Tout le catalogue IBM Cloud) | ✅ (Uniquement les instances du service Qiskit Runtime) | ❌ |
| Voir tous les utilisateurs | ✅ | ✅ | ✴️ (Dépend des paramètres de visibilité de l'utilisateur) |
| Définir la visibilité des utilisateurs | ✅ | ❌ | ❌ |
| Inviter des utilisateurs dans le compte | ✅ | ✅ | ❌ |
| Responsabilité de facturation | ✅ | ❌ | ❌ |
| Consulter les informations de facturation | ✅ | ✅ | ❌ |
| Notifications du propriétaire | ✅ | ❌ | ❌ |
| Soumettre des charges de travail quantiques | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Uniquement sur une instance Qiskit Runtime particulière) |
| Consulter les charges de travail quantiques | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Uniquement sur une instance Qiskit Runtime particulière) |
| Annuler des charges de travail quantiques | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Uniquement sur une instance Qiskit Runtime particulière) |
| Supprimer des charges de travail quantiques | ✅ (Sur toutes les instances Qiskit Runtime) | ✅ (Sur toutes les instances Qiskit Runtime) | ❌ |
| Créer des tickets de support | ✅ | ✅ (Si la politique d'accès est incluse dans le groupe d'accès) | ✅ (Si le groupe d'accès donne accès à une instance Premium Plan) |
| Configurer un fournisseur d'identité pour connecter tes référentiels d'utilisateurs externes à ton compte IBM Cloud | ✅ | ❌ | ❌ |
Comparer les actions des rôles de service prédéfinis
Le tableau suivant présente des exemples d'actions pouvant être effectuées selon les rôles de service prédéfinis : Manager, Writer et Reader. Pour consulter un mapping complet des rôles du service Quantum vers les actions, visite ce tableau dans le guide des produits IBM Cloud.
| Action | Description | Rôles |
|---|---|---|
quantum-computing.session.create | Créer une session/batch | Manager, Writer |
quantum-computing.job.create | Soumettre un Job | Manager, Writer |
quantum-computing.job.read | Lire un résultat | Manager, Reader, Writer |
quantum-computing.job.cancel | Annuler un job | Manager, Writer |
quantum-computing.job.delete | Supprimer un job | Manager |
quantum-computing.direct-access-backend-properties.read | Lire les calibrations QPU | Manager, Reader, Writer |
quantum-computing.account-analytics-usage.read | Consulter les analyses du compte | Manager, Writer (Uniquement si le rôle est configuré pour toutes les ressources) |
quantum-computing.instance-usage.read | Consulter l'utilisation de l'instance et le temps restant | Manager, Reader, Writer |
Prochaines étapes
- Comprendre la structure du compte IBM Cloud, notamment les politiques d'accès, les groupes et les rôles.
- Lire comment fonctionne IBM Cloud IAM.
- En savoir plus sur la façon de configurer des groupes d'accès.
- Comprendre les rôles IAM (sélectionne Qiskit Runtime dans le menu déroulant en haut de la page).
- En savoir plus sur la création de rôles personnalisés.