Création de règles dynamiques pour les groupes d'accès
Vous pouvez créer des règles dynamiques pour ajouter dynamiquement des utilisateurs fédérés à des groupes d'accès en fonction d'attributs d'identité spécifiques. Lorsque vos utilisateurs se connectent avec un ID fédéré, les données du fournisseur d'identité mappent dynamiquement vos utilisateurs à un groupe d'accès en fonction des règles définies.
Les utilisateurs disposent déjà d'informations d'identité spécifiques liées au domaine de votre entreprise. Lorsqu'ils se connectent avec un ID fédéré, ces données peuvent être transmises en utilisant des assertions SAML. Ces dernières ou les instructions d'attribut configurées dans le fournisseur d'identité mettent à disposition les données utilisées pour la création des règles. Par exemple, il peut exister une instruction d'attribut true ou false qui définit les utilisateurs comme étant responsables. Ces informations peuvent être utilisées pour ajouter les responsables créés dans votre compte IBM Cloud® à un groupe d'accès spécifique. Pour plus d'informations, voir le tutoriel sur le contrôle de l'accès aux ressources en nuage et un exemple de règle.
Seuls les utilisateurs déjà invités au compte peuvent être mappés aux groupes d'accès en utilisant des règles dynamiques.
Configuration des règles à l'aide de la console
Les règles dynamiques sont créées en définissant des conditions devant être respectées par les données configurées dans le fournisseur d'identité et transmises avec un ID fédéré d'utilisateur lors de la connexion. Vous pouvez ajouter plusieurs conditions pour une règle. Toutes les conditions définies dans la règle doivent être respectées pour qu'un utilisateur soit ajouté à un groupe d'accès.
Pour créer une règle, procédez comme suit :
- Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM), puis sélectionnez Groupes d'accès.
- Sélectionnez le nom du groupe d'accès pour lequel vous souhaitez créer une règle. Cette action ouvre la page Détails du groupe.
- Sélectionnez Règles dynamiques.
- Cliquez sur Ajouter une règle.
- Entrez les informations de votre fournisseur d'identité automatiquement fournies dans la page Ajouter une règle. La liste suivante inclut les détails de chaque zone requise.
Vous pouvez considérer une règle de groupe d'accès comme une paire clé:valeur. La clé est ce que vous ajoutez dans la zone Add users when et la valeur est ce que vous entrez dans la zone Values.
Pour plus d'informations sur les zones utilisées pour créer des règles dynamiques, voir Propriétés de condition IAM.
Configuration des règles à l'aide de Terraform
Avant de pouvoir configurer des règles à l'aide de Terraform, assurez-vous d'avoir effectué les opérations suivantes :
- Installez le CLI Terraform et configurez le plug-in IBM Cloud Provider pour Terraform. Pour plus d'informations, voir le tutoriel Getting started with Terraform sur IBM Cloud®. Ce plug-in résume les API IBM Cloud utilisées pour effectuer cette tâche.
- Créez un fichier de configuration Terraform nommé
main.tf. Dans ce fichier, vous définissez les ressources en utilisant le langage de configuration HashiCorp. Pour plus d'informations, voir la documentation de Terraform.
Les règles dynamiques sont créées en définissant des conditions devant être respectées par les données configurées dans le fournisseur d'identité et transmises avec un ID fédéré d'utilisateur lors de la connexion. Vous pouvez ajouter plusieurs conditions pour une règle. Toutes les conditions définies dans la règle doivent être respectées pour qu'un utilisateur soit ajouté à un groupe d'accès.
Pour créer une règle à l'aide de Terraform, procédez comme suit :
-
Créez un argument dans votre fichier
main.tf. L'exemple ci-après crée une règle dynamique pour un groupe d'accès à l'aide de la ressourceibm_iam_access_group_dynamic_rule,namereprésentant un nom unique permettant d'identifier la règle dynamique.resource "ibm_iam_access_group_dynamic_rule" "rule1" { name = "newrule" access_group_id = "AccessGroupId-dsnd4bvsaf" expiration = 4 identity_provider = "test-idp.com" conditions { claim = "blueGroups" operator = "CONTAINS" value = "\"test-bluegroup-saml\"" } }Pour plus d'informations, consultez les détails du guide de référence des arguments dans la page de la documentation Terraform.
Automatisez l'adhésion dynamique avec le module IAM Access Groups pour la gestion fédérée des utilisateurs. Découvrez les modules Terraform IBM.
L'exemple suivant montre comment utiliser les modules Terraform IBM (TIM) pour créer un groupe d'accès avec des règles dynamiques :
module "access_group" {
source = "terraform-ibm-modules/iam-access-group/ibm"
version = "X.X.X" # Replace with the latest version
access_group_name = "federated-managers"
access_group_description = "Access group for federated managers"
dynamic_rules = [
{
name = "manager-rule"
expiration = 12
identity_provider = "https://idp.example.org/SAML2"
conditions = [
{
claim = "isManager"
operator = "EQUALS"
value = "true"
}
]
}
]
}
Pour plus d'options de configuration et d'exemples, voir la documentation du module IAM Access Groups.
-
Une fois que vous avez fini de construire votre fichier de configuration, initialisez le CLI Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.
terraform init -
Fournir les ressources à partir du fichier
main.tf. Pour plus d'informations, voir Provisionnement de l'infrastructure avec Terraform.-
Exécutez
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.terraform plan -
Exécutez le site
terraform applypour créer les ressources définies dans le plan.terraform apply
-
Pour plus d'informations sur les zones utilisées pour créer des règles dynamiques, voir Propriétés de condition IAM.
Affichage des membres dynamiques des groupes d'accès
Vous pouvez afficher les utilisateurs qui sont ajoutés à un groupe d'accès en utilisant des règles dynamiques. Pour afficher les membres dynamiques des groupes d'accès, accédez à Gérer > Accès (IAM) >
Groupes d'accès dans la console IBM Cloud. Sélectionnez un groupe d'accès et cliquez sur Utilisateurs. Les utilisateurs ajoutés dynamiquement sont indiqués par le type Dynamic.
Les utilisateurs suivants n'apparaissent pas dans la table :
- Ajout dynamique d'utilisateurs qui ne sont pas encore connectés.
- Ajout dynamique d'utilisateurs dont la session a expiré.
Les utilisateurs dynamiques qui sont déconnectés mais dont les sessions sont toujours valides continuent à apparaître dans la table jusqu'à l'expiration de leurs sessions.
Vous ne pouvez pas supprimer un utilisateur dynamique manuellement. Pour supprimer un utilisateur dynamique, ajustez vos règles dynamiques.
Affichage de l'appartenance dynamique d'un utilisateur
Vous pouvez également afficher la liste des groupes d'accès auxquels un utilisateur est ajouté en fonction de règles dynamiques en procédant comme suit :
- Accédez à Gérer > Accès (IAM) > Utilisateurs dans la console IBM Cloud.
- Cliquez sur un utilisateur.
- Cliquez sur Accès.
- Les groupes d'accès dont un utilisateur est un membre dynamique sont indiqués par le type
Dynamic.
Exemple de règle
L'exemple suivant indique les valeurs de chacun des champs d'une règle dynamique. Dans cette règle, les utilisateurs identifiés comme responsables dans le fournisseur d'identité fédéré sont mappés à un groupe d'accès IBM Cloud ayant un accès spécifique défini uniquement pour les responsables.
| Zone | Valeur |
|---|---|
| Nom | Règle du groupe de responsables |
| Fournisseur d'identité | https://idp.example.org/SAML2 |
| Expiration (en heures) | 12 |
| Ajouter des utilisateurs lorsque (nom d'attribut) | isManager |
| Comparateur | Egal |
| Valeur | Oui |