Chapitre 24. Utiliser Ansible pour automatiser l'appartenance à un groupe dans IdM
L'appartenance automatique à un groupe vous permet d'affecter aux utilisateurs et aux hôtes des groupes d'utilisateurs et des groupes d'hôtes automatiquement, en fonction de leurs attributs. Par exemple, vous pouvez
-
Répartissez les entrées utilisateur des employés dans des groupes en fonction du responsable, de la localisation, du poste ou de tout autre attribut de l'employé. Vous pouvez dresser la liste de tous les attributs en saisissant
ipa user-add --help
sur la ligne de commande. -
Divisez les hôtes en groupes en fonction de leur classe, de leur emplacement ou de tout autre attribut. Vous pouvez dresser la liste de tous les attributs en entrant
ipa host-add --help
dans la ligne de commande. - Ajouter tous les utilisateurs ou tous les hôtes à un seul groupe global.
Vous pouvez utiliser Red Hat Ansible Engine pour automatiser la gestion de l'appartenance automatique à un groupe dans Identity Management (IdM).
Cette section couvre les sujets suivants :
- Préparation du nœud de contrôle Ansible pour la gestion de l'IdM
- Utiliser Ansible pour s'assurer qu'une règle automember pour un groupe d'utilisateurs IdM est présente
- Utiliser Ansible pour s'assurer qu'une condition est présente dans une règle de membre automatique d'un groupe d'utilisateurs IdM
- Utiliser Ansible pour s'assurer qu'une condition est absente dans une règle de membre automatique d'un groupe d'utilisateurs IdM
- Utiliser Ansible pour s'assurer qu'une règle automember pour un groupe IdM est absente
- Utiliser Ansible pour s'assurer qu'une condition est présente dans une règle de membre automatique d'un groupe d'hôtes IdM
24.1. Préparation du nœud de contrôle Ansible pour la gestion de l'IdM
En tant qu'administrateur système gérant la gestion des identités (IdM), lorsque vous travaillez avec Red Hat Ansible Engine, il est recommandé de procéder comme suit :
- Créez un sous-répertoire dédié aux playbooks Ansible dans votre répertoire personnel, par exemple ~/MyPlaybooks.
-
Copiez et adaptez les exemples de playbooks Ansible des répertoires et sous-répertoires
/usr/share/doc/ansible-freeipa/*
et/usr/share/doc/rhel-system-roles/*
dans votre répertoire ~/MyPlaybooks. - Incluez votre fichier d'inventaire dans votre répertoire ~/MyPlaybooks.
En suivant cette pratique, vous pouvez trouver tous vos playbooks en un seul endroit et vous pouvez exécuter vos playbooks sans invoquer les privilèges root.
Vous n'avez besoin que des privilèges root
sur les nœuds gérés pour exécuter les rôles ipaserver
, ipareplica
, ipaclient
, ipabackup
, ipasmartcard_server
et ipasmartcard_client
ansible-freeipa
. Ces rôles nécessitent un accès privilégié aux répertoires et au gestionnaire de paquets logiciels dnf
.
Cette section décrit comment créer le répertoire ~/MyPlaybooks et le configurer de manière à ce que vous puissiez l'utiliser pour stocker et exécuter des playbooks Ansible.
Conditions préalables
- Vous avez installé un serveur IdM sur vos nœuds gérés, server.idm.example.com et replica.idm.example.com.
- Vous avez configuré le DNS et le réseau pour pouvoir vous connecter aux nœuds gérés, server.idm.example.com et replica.idm.example.comdirectement à partir du nœud de contrôle.
-
Vous connaissez le mot de passe de l'IdM
admin
.
Procédure
Créez un répertoire pour votre configuration Ansible et vos playbooks dans votre répertoire personnel :
$ mkdir ~/MyPlaybooks/
Allez dans le répertoire ~/MyPlaybooks/:
$ cd ~/MyPlaybooks
Créez le fichier ~/MyPlaybooks/ansible.cfg avec le contenu suivant :
[defaults] inventory = /home/your_username/MyPlaybooks/inventory [privilege_escalation] become=True
Créez le fichier ~/MyPlaybooks/inventory avec le contenu suivant :
[ipaserver] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com [ipacluster:children] ipaserver ipareplicas [ipacluster:vars] ipaadmin_password=SomeADMINpassword [ipaclients] ipaclient1.example.com ipaclient2.example.com [ipaclients:vars] ipaadmin_password=SomeADMINpassword
Cette configuration définit deux groupes d'hôtes, eu et us, pour les hôtes de ces sites. En outre, cette configuration définit le groupe d'hôtes ipaserver, qui contient tous les hôtes des groupes eu et us.
[Facultatif] Créez une clé publique et une clé privée SSH. Pour simplifier l'accès dans votre environnement de test, ne définissez pas de mot de passe pour la clé privée :
$ ssh-keygen
Copiez la clé publique SSH dans le compte IdM
admin
sur chaque nœud géré :$ ssh-copy-id admin@server.idm.example.com $ ssh-copy-id admin@replica.idm.example.com
Vous devez saisir le mot de passe IdM
admin
lorsque vous entrez dans ces commandes.
Ressources supplémentaires