Rôles et ressources des utilisateurs
IBM® Key Protect for IBM Cloud® prend en charge un système de contrôle d'accès centralisé qui s'appuie sur IBM Cloud® Identity and Access Management pour vous aider à affecter à vos utilisateurs les rôles et accès appropriés pour votre compte, les instances de service, les clés de chiffrement et les fichiers de clés.
Key Protect étant un système de gestion de clés qui, de par sa nature, implique le chiffrement de données importantes et souvent confidentielles, il est essentiel que la structure des droits sur le compte, les instances de service, les clés de chiffrement et les fichiers de clés soit à la fois puissante et flexible. A cette fin, les rôles IBM Cloud® Identity and Access Management peuvent être affectés selon différentes combinaisons, en fonction du niveau d'administration en question.
Ces différents types d'accès sont analogues à de nombreux types de situations de la vie. Une personne peut être le fondateur et le PDG d'une entreprise, mais n'être qu'un membre régulier d'un club local, et n'avoir aucune autorité pour dresser des contraventions. De la même manière, les rôles Key Protect sont affectés dans le contexte d'une partie spécifique de Key Protect, bien que pour simplifier les choses, Key Protect définit des rôles « par défaut » sur certaines ressources, sauf indication contraire (ce dont nous parlerons plus en détail ultérieurement).
Il existe deux zones d'administration principales pour presque tous les produits IBM Cloud : le compte (également appelé « plateforme ») et les instances de service appartenant au compte. Une grande banque, par exemple, peut n'avoir qu'un seul compte (contrôlé par la direction) et des instances de service distinctes pour chacune des unités organisationnelles de la banque (par exemple, une unité peut gérer les comptes bancaires tandis qu'une autre gère les prêts). S'il est probable que les utilisateurs disposant de droits au niveau du compte auront également des droits sur les différentes instances (et peut-être, mais pas toujours, l'inverse), notez que les noms donnés aux rôles de compte sont différents de ceux des rôles au sein des instances de service, reflétant cette différence entre les rôles de compte et les rôles d'instance de service. Pour plus d'informations sur ces rôles, leurs noms et leurs droits, voir IAM roles and actions.
Fonctionnement de l'accès IAM
Une fois que vous avez configuré et organisé des groupes de ressources dans votre compte, vous pouvez tirer parti de deux stratégies pour rationaliser le processus de gestion des accès :
- Groupes d'accès
- Vous pouvez gérer au minimum le nombre de règles affectées en donnant le même accès à toutes les identités dans un groupe d'accès au lieu d'attribuer le même accès plusieurs fois par utilisateur, par ID de service ou par profil sécurisé. Les utilisateurs doivent être invités dans votre compte pour que vous puissiez les ajouter à un groupe d'accès. Si un utilisateur est qualifié pour un profil de confiance qui est membre du groupe d'accès, vous n'avez pas besoin de l'inviter à votre compte.
- Profils sécurisés
- Si votre organisation possède un annuaire d'entreprise, les profils sécurisés peuvent accélérer et faciliter la gestion des accès. Cela simplifie le processus de connexion à votre compte IBM Cloud pour les utilisateurs fédérés de votre entreprise. Vous pouvez automatiquement octroyer aux utilisateurs fédérés ou aux ressources de calcul l'accès à votre compte en créant des profils sécurisés. Pour les utilisateurs fédérés, ajoutez des conditions en fonction d'attributs SAML pour définir les utilisateurs fédérés qui peuvent appliquer un profil. Pour les ressources de calcul, spécifiez des ressources spécifiques ou ajoutez des conditions en fonction d'attributs de ressource pour définir les ressources de calcul qui peuvent appliquer un profil. Pour les deux types d'entité, le niveau d'accès accordé est déterminé par les règles d'accès qui sont spécifiées dans chaque profil sécurisé, ou par les groupes d'accès dont le profil sécurisé est membre. Toutefois, avec les profils sécurisés, il n'est pas nécessaire d'inviter les utilisateurs fédérés à rejoindre un compte et seuls les utilisateurs fédérés par un fournisseur d'identité externe peuvent appliquer un profil sécurisé.
Si vous êtes membre de plusieurs groupes d'accès, toutes les règles s'appliquent en même temps lorsque vous accédez à un compte. En tant qu'utilisateur fédéré, vous avez la possibilité d'appliquer différents profils sécurisés, mais vous ne sélectionnez
qu'un seul profil à appliquer lorsque vous vous connectez. Par exemple, si vous souhaitez effectuer des tâches de développeur, sélectionnez le profil Developer lors de la connexion. Si vous souhaitez effectuer une tâche liée à
l'administrateur, sélectionnez le profil Admin disposant de droits d'accès privilégiés. De cette manière, vous réduisez le risque d'effectuer des actions privilégiées par erreur.
Une règle est composée d'un sujet, d'une cible et d'un rôle. Le sujet de ce scénario est le groupe d'accès ou le profil sécurisé. La cible est ce à quoi le sujet doit pouvoir accéder, par exemple, un ensemble de ressources d'un groupe de ressources, une instance de service, tous les services du compte ou toutes les instances d'un service. Le rôle définit le niveau d'accès qui est octroyé.
Pour plus d'informations sur le fonctionnement des rôles de plateforme et de services dans Key Protect, consultez Rôles de plateforme et rôles de service.
Meilleures pratiques
Le nombre total de règles autorisées sur un compte est limité. Vous pouvez utiliser quelques stratégies pour éviter d'atteindre la limite et pour réduire le temps passé à gérer les accès pour les identités dans votre compte (utilisateurs, ID de service ou profils sécurisés) :
- Utilisez le principe du moindre privilège et affectez uniquement l'accès qui est nécessaire. Ainsi, vous garantissez que les identités dans votre compte ne peuvent effectuer que les actions que vous autorisez. Par exemple, plutôt que le propriétaire du compte partageant ses données d'identification, qui, par défaut, leur donne un accès d'Administrateur et de Gestionnaire sur toutes les ressources de leur compte, créez de nouvelles règles pour les utilisateurs qui ont besoin d'accéder au compte et à chaque instance de service (et ses clés associées).
- Ajoutez des ressources à un groupe de ressources pour réduire davantage le nombre de règles requises. Par exemple, une équipe peut travailler sur un projet qui utilise des ressources spécifiques dans votre compte. Ajoutez les membres de l'équipe à un groupe d'accès ou un profil sécurisé avec une règle qui n'octroie l'accès qu'aux ressources d'un groupe de ressources spécifique. Ainsi, il n'est pas nécessaire d'affecter une règle à chaque ressource pour chaque membre d'équipe. Pour plus d'informations sur l'affectation d'un accès à granularité fine, voir assign fine-grained access to a single key.
- Utilisez des groupes d'accès afin de simplifier la gestion des accès pour les identités qui nécessitent le même niveau d'accès. Vous pouvez configurer un groupe d'accès pour lequel une règle spécifique est définie, puis ajouter ces identités au groupe. Si les membres du groupe nécessitent un accès supplémentaire ultérieurement, il suffit de définir une nouvelle règle pour le groupe d'accès.
- Utilisez des étiquettes de gestion des accès pour contrôler l'accès aux ressources dans votre compte en fonction des besoins. En affectant l'accès uniquement aux ressources auxquelles sont associées des étiquettes spécifiques, vous évitez de nombreuses mises à jour de vos règles définies. Pour plus d'informations, voir Contrôle de l'accès aux ressources à l'aide d'étiquettes.
- Utilisez des profils sécurisés pour octroyer automatiquement aux utilisateurs fédérés et ressources de calcul l'accès à votre compte. Ainsi, les utilisateurs fédérés peuvent être mappés à un ou plusieurs profils sécurisés lors de la connexion en évaluant les attributs basés sur SAML pour déterminer les profils auxquels ils peuvent s'appliquer. L'utilisation de profils sécurisés pour les ressources de calcul permet d'éviter le stockage des données d'identification pour exécuter des applications, ainsi que la gestion et la rotation des données d'identification. Vous pouvez également ajouter des profils sécurisés aux groupes d'accès afin de tirer parti de l'ensemble de règles que vous avez déjà créées.
- Audit régulier qui peut gérer le contrôle d'accès et supprimer les ressources clés. Les erreurs et l'utilisation abusive par des utilisateurs disposant de droits élevés pouvant endommager votre compte, vos instances de service et les données protégées par des clés dans votre instance de service, vérifiez que l'accès approprié est maintenu en auditant les utilisateurs disposant de ces rôles. N'oubliez pas que toutes les nouvelles clés, les nouveaux fichiers de clés ou instances de service créés sont soumis par défaut aux définitions de rôle existantes. Si une nouvelle clé ne doit pas être accessible ou modifiée par un nouvel utilisateur affecté en tant que Gestionnaire de l'instance, cette restriction doit être spécifiquement affectée, car les gestionnaires d'instance ont accès à toutes les clés d'une instance par défaut, et peuvent notamment supprimer une clé.
Qu'est-ce qu'une bonne stratégie de groupe d'accès ?
Un groupe d'accès est une organisation d'utilisateurs, d'ID de service et de profils sécurisés dans un groupe auquel vous pouvez accorder le même accès IAM. Toutes les identités d'un groupe d'accès héritent du même accès.
Vous pouvez logiquement affecter un accès à vos groupes de ressources et aux ressources incluses en créant un groupe d'accès par niveau d'accès requis. Ensuite, vous pouvez mapper chaque groupe d'accès
aux groupes de ressources précédemment créés. Par exemple, pour contrôler l'accès au projet CustApp, vous pouvez créer les groupes d'accès suivants :
- Auditor-Group
- Developer-Group
- Admin-Group
Pour Auditor-Group, affectez deux règles d'accès qui octroient les droits d'accès Afficheur aux ressources et aux groupes de ressources CustApp-Test et CustApp-Prod. Pour Developer-Group, affectez deux règles d'accès
qui octroient les droits d'accès Editeur aux ressources et aux groupes de ressources CustApp-Dev et CustApp-Test. Pour Admin-Group, affectez trois règles d'accès qui octroient les droits d'accès Administrateur aux
ressources et aux groupes de ressources CustApp.
Vous pouvez accorder les droits d'accès Administrateur sur tout ce que contient un compte en créant un groupe d'accès et en lui affectant deux règles. Pour créer la première règle, sélectionnez Tous les services activés pour l'identité et l'accès dans Compte avec le rôle de plateforme administrateur et le rôle de service de gestionnaire. Pour créer la deuxième règle, sélectionnez Tous les services de gestion de compte avec le rôle Administrateur affecté.
Rôles de plateforme et rôles de service
Le mot « objet » est utilisé dans cette section comme un terme général pour des éléments tels que des clés, des fichiers de clés, des instances de service ou des comptes.
Comme mentionné précédemment, les rôles existent à la fois au niveau de la plateforme (compte) et du service. Si vous n'êtes pas certain de ce qu'une plateforme ou un rôle de service permet à un utilisateur de faire, n'oubliez pas que les rôles de plateforme interagissent principalement avec les services IBM Cloud tels que le contrôleur de ressources ou Cloud Identity and Access Management. Les rôles à l'intérieur d'un service, en revanche, interagissent principalement avec l'API pertinente, qui dans ce cas est l'API Key Protect. Pour cette raison, comme vous le verrez, les rôles de plateforme ont une utilisation limitée à l'intérieur de vos instances de service (dans le cas du rôle Administrateur). Ces rôles peuvent uniquement créer une règle d'accès pour un objet particulier, tel qu'un fichier de clés.
Rôles de plateforme
- Administrateur : Possède tous les droits sur un objet particulier et ses objets "enfant" (par exemple, les clés sont des objets enfant d'instances), y compris le droit d'inviter de nouveaux utilisateurs et d'affecter des rôles sur l'objet (seuls les administrateurs peuvent affecter des rôles). Notez que les administrateurs ne disposent pas de rôles de service par défaut. Ils peuvent toutefois s'affecter des rôles.
- Éditeur : Peut afficher, créer et supprimer des instances au niveau du compte, mais ne peut pas inviter de nouveaux utilisateurs. A une utilisation limitée pour les objets au sein d'une instance de service, tels que les clés, au-delà de la possibilité de les afficher.
- Opérateur : Peut afficher des instances au niveau du compte, mais ne peut pas les modifier. A une utilisation limitée pour les objets au sein d'une instance de service, tels que les clés, au-delà de la possibilité de les afficher.
- Afficheur : peut afficher des instances au niveau du compte, mais ne peut pas les modifier. A une utilisation limitée pour les objets au sein d'une instance de service, tels que les clés, au-delà de la possibilité de les afficher.
Les rôles de plateforme doivent être affectés sur un compte entier, sur des instances de service particulières ou au sein d'objets à l'intérieur d'une instance de service.
| Action | Afficheur | Editeur | Opérateur | Administrateur |
|---|---|---|---|---|
| Afficher les instances Key Protect | ||||
| Créer des instances d'Key Protect | ||||
| Supprimer des instances d'Key Protect | ||||
| Inviter de nouveaux utilisateurs et gérer les règles d'accès |
Alors qu'un rôle au niveau du compte donne à un utilisateur des droits particuliers sur les instances de service par défaut, des rôles peuvent également être affectés sur une instance de service particulière. Par exemple, un compte Éditeur (qui peut afficher, créer et supprimer des instances, mais pas affecter des rôles) peut être désigné un Administrateur d'une instance de service particulière, avec la possibilité d'affecter des rôles dans cette instance de service.
Les rôles de service peuvent être appliqués aux trois objets de première classe d'une instance de service : l'instance dans son ensemble, des clés particulières et des fichiers de clés. Tout comme les rôles de compte disposent de droits sur les instances par défaut, les gestionnaires d'instances ont par défaut des droits sur les clés et les fichiers de clés. Toutefois, ces droits peuvent être affectés avec une plus grande granularité si nécessaire, par exemple en donnant à un utilisateur le rôle Gestionnaire sur une clé ou un fichier de clés particulier et un niveau d'autorisation moindre sur l'instance dans son ensemble.
Les rôles de service peuvent être affectés par instance ou pour toutes les instances d'un compte.
Rôles des instances de service
Notez que les droits inclus dans les rôles sont additifs. Un Gestionnaire, par exemple, dispose de tous les droits d'accès qu'un Lecteur, plus d'autres droits. L'exception est le rôle KeyPurge, qui
inclut l'action kms.secrets.purge qui ne fait pas partie d'un autre rôle et doit donc être définie explicitement.
- Gestionnaire : Possède tous les droits sur un objet particulier (par exemple, le gestionnaire d'une clé peut encapsuler, désencapsuler et supprimer la clé, et détient le droit exclusif de lire et mettre à jour des règles
Key Protect telles que
dualAuthDelete,allowedNetwork,allowedIP, entre autres). - **Auteur **: Possède la plupart des droits du gestionnaire concernant l'utilisation d'un objet (y compris la possibilité d'extraire une clé et ses métadonnées), mais il ne peut généralement pas supprimer ou désactiver l'objet.
- Lecteur : Peut utiliser l'objet (par exemple, les lecteurs de clés peuvent encapsuler et désencapsuler une clé), mais ne peut pas créer, supprimer ou modifier l'objet.
- ReaderPlus : Possède les mêmes droits que le lecteur, avec la capacité supplémentaire de récupérer le contenu d'une clé standard.
- KeyPurge : Peut purge des clés au bout de quatre heures.
- KmipAdapterManager: Possède tous les droits nécessaires pour gérer l'accès aux ressources régies par le protocole KMIP
Le tableau suivant montre le lien entre rôles d'accès au service et autorisations dans Key Protect.
| Action | Lecteur | ReaderPlus | Auteur | Responsable | KeyPurge | KmipAdapterManager |
|---|---|---|---|---|---|---|
| Créer une clé | ||||||
| Importer une clé | ||||||
| Extraire une clé | ||||||
| Extraire des métadonnées de clé | ||||||
| Extraire le total d'une clé | ||||||
| Répertorier les clés | ||||||
| Répertorier des versions de clé | ||||||
| Encapsuler une clé | ||||||
| Désencapsuler une clé | ||||||
| Réencapsuler une clé | ||||||
| Effectuer la rotation d'une clé | ||||||
| Désactiver une clé | ||||||
| Activer une clé | ||||||
| Planifier la suppression d'une clé | ||||||
| Annuler la suppression d'une clé | ||||||
| Supprimer une clé | ||||||
| Restaurer une clé | ||||||
| Correctif d'une clé | ||||||
| Clés de synchronisation | ||||||
| Purger les clés après quatre heures |
| Action | Lecteur | ReaderPlus | Auteur | Responsable | KeyPurge | KmipAdapterManager |
|---|---|---|---|---|---|---|
| Créer un fichier de clés | ||||||
| Répertorier des fichiers de clés | ||||||
| Supprimer un fichier de clés |
| Action | Lecteur | ReaderPlus | Auteur | Responsable | KeyPurge | KmipAdapterManager |
|---|---|---|---|---|---|---|
| Définir des règles de clé | ||||||
| Répertorier les règles de clé | ||||||
| Définir des règles d'instance | ||||||
| Répertorier les règles d'instance |
| Action | Lecteur | ReaderPlus | Auteur | Responsable | KeyPurge | KmipAdapterManager |
|---|---|---|---|---|---|---|
| Créer un jeton d'importation | ||||||
| Extraire un jeton d'importation |
| Action | Lecteur | ReaderPlus | Auteur | Responsable | KeyPurge | KmipAdapterManager |
|---|---|---|---|---|---|---|
| Création d'un enregistrement[^services-1] | ||||||
| Répertorier les enregistrements d'une clé | ||||||
| Répertorier les enregistrements de toute clé | ||||||
| Mise à jour d'un enregistrement[^services-2] | ||||||
| Remplacer un enregistrement[^services-3] | ||||||
| Supprimer un enregistrement[^services-4] |
Le rôle KeyPurge confère uniquement la possibilité de purger les clés et doit être considéré comme un complément d'autres rôles d'accès au service, tels que Gestionnaire.
| Action | Lecteur | ReaderPlus | Auteur | Responsable | KeyPurge | KmipAdapterManager |
|---|---|---|---|---|---|---|
| Liste des adaptateurs KMIP | ||||||
| Créer un adaptateur KMIP | ||||||
| Récupérer un adaptateur KMIP | ||||||
| Supprimer un adaptateur KMIP | ||||||
| Liste des objets KMIP d'un adaptateur KMIP | ||||||
| Récupérer un objet KMIP à partir d'un adaptateur KMIP | ||||||
| Supprimer un objet KMIP d'un adaptateur KMIP | ||||||
| Liste des certificats clients d'un adaptateur KMIP | ||||||
| Ajouter un certificat client à un adaptateur KMIP | ||||||
| Récupérer un certificat client d'un adaptateur KMIP | ||||||
| Supprimer un certificat client d'un adaptateur KMIP |
Les rôles Rédacteur, Lecteur et ReaderPlus n'ont pas accès au protocole KMIP.
Rôles et règles Cloud Identity and Access Management
Bien que la console Key Protect permette aux utilisateurs un contrôle d'accès à granularité fine à l'aide de ces rôles, il peut être utile de se rappeler que ces rôles sont associés à des règles Cloud Identity and Access Management :
- nom de service (pour Key Protect, toujours
kms) - ID d'instance de service
- ID de fichier de clés
- type de ressource (seul
keyest pris en charge) - ID ressource
- ID de compte (doit toujours être indiqué dans la règle)
Voici un exemple de règle renvoyée par l'API IAM :
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "$ACCOUNT_ID",
},
{
"name": "serviceName",
"value": "kms",
},
{
"name": "resourceType",
"value": "key",
},
{
"name": "resource",
"value": "$KEY_ID",
},
{
"name": "keyRing",
"value": "$KEY_RING_ID",
}
]
}
]
Toute combinaison de ces attributs peut être appliquée dans une règle. Si cette règle est associée au rôle d'administrateur, cela signifie que tout user/service id/access group auquel cette règle s'applique peut créer une règle
qui s'applique à une sous-ressource de celle concernée. En d'autres termes, tous les utilisateurs sous-administrateurs ne peuvent avoir qu'un accès égal (exactement les mêmes attributs que ceux indiqués sur leur règle) ou inférieur (exactement
les mêmes attributs que ceux indiqués sur leur règle plus les attributs supplémentaires indiqués) à celui de l'administrateur parent.
Etapes suivantes
Les propriétaires de compte et les administrateurs peuvent inviter des utilisateurs et définir des règles de service qui correspondent aux actions Key Protect que les utilisateurs peuvent exécuter.
- Pour plus d'informations sur l'attribution des rôles utilisateur dans l'interface utilisateur d' IBM Cloud, consultez la section « Gestion des accès IAM ».