Rechercher

Chapitre 5. Préparation de l'environnement pour la gestion de l'IdM à l'aide des playbooks Ansible

download PDF

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.

Grâce à cette pratique, vous pouvez retrouver tous vos playbooks en un seul endroit.

Note

Vous pouvez exécuter vos séquences ansible-freeipa sans invoquer les privilèges root sur les nœuds gérés. Les exceptions incluent les playbooks qui utilisent les rôles ipaserver, ipareplica, ipaclient, ipasmartcard_server, ipasmartcard_client et ipabackup ansible-freeipa . Ces rôles nécessitent un accès privilégié aux répertoires et au gestionnaire de paquets logiciels dnf.

Les playbooks de la documentation de Red Hat Enterprise Linux IdM supposent la configuration de sécurité suivante :

  • L'IdM admin est votre utilisateur Ansible distant sur les nœuds gérés.
  • Vous stockez le mot de passe IdM admin crypté dans un coffre-fort Ansible.
  • Vous avez placé le mot de passe qui protège le coffre-fort Ansible dans un fichier de mots de passe.
  • Vous bloquez l'accès au fichier de mots de passe de l'espace de stockage à tout le monde, sauf à votre utilisateur local ansible.
  • Vous devez régulièrement supprimer et recréer le fichier des mots de passe de la chambre forte.

Envisager également d'autres configurations de sécurité.

5.1. Préparation d'un nœud de contrôle et de nœuds gérés pour la gestion de l'IdM à l'aide de playbooks Ansible

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

  1. Créez un répertoire pour votre configuration Ansible et vos playbooks dans votre répertoire personnel :

    $ mkdir ~/MyPlaybooks/
  2. Allez dans le répertoire ~/MyPlaybooks/:

    $ cd ~/MyPlaybooks
  3. Créez le fichier ~/MyPlaybooks/ansible.cfg avec le contenu suivant :

    [defaults]
    inventory = /home/your_username/MyPlaybooks/inventory
    remote_user = admin
  4. Créez le fichier ~/MyPlaybooks/inventory avec le contenu suivant :

    [eu]
    server.idm.example.com
    
    [us]
    replica.idm.example.com
    
    [ipaserver:children]
    eu
    us

    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.

  5. [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
  6. 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

    Ces commandes nécessitent la saisie du mot de passe IdM admin.

  7. Créez un fichier password_file qui contient le mot de passe du coffre-fort :

    redhat
  8. Modifier les autorisations de modification du fichier :

    $ chmod 0600 password_file
  9. Créer un coffre-fort Ansible secret.yml pour stocker le mot de passe IdM admin:

    1. Configurez password_file pour qu'il stocke le mot de passe de l'espace de stockage :

      $ ansible-vault create --vault-password-file=password_file secret.yml
    2. Lorsque vous y êtes invité, saisissez le contenu du fichier secret.yml:

      ipaadmin_password: Secret123
Note

Pour utiliser la version cryptée de ipaadmin_password dans un playbook, vous devez utiliser la directive vars_file. Par exemple, un playbook simple pour supprimer un utilisateur IdM peut ressembler à ce qui suit :

---
- name: Playbook to handle users
  hosts: ipaserver

  vars_files:
  - /home/user_name/MyPlaybooks/secret.yml

  tasks:
  - name: Delete user robot
    ipauser:
      ipaadmin_password: "{{ ipaadmin_password }}"
      name: robot
      state: absent

Lors de l'exécution d'un playbook, demandez à Ansible d'utiliser le mot de passe de l'espace de stockage pour décrypter ipaadmin_password en ajoutant l'option --vault-password-file=password_file à Ansible. Par exemple :

ansible-playbook -i inventory --vault-password-file=password_file del-user.yml
Avertissement

Pour des raisons de sécurité, supprimez le fichier des mots de passe de la chambre forte à la fin de chaque session et répétez les étapes 7 à 9 au début de chaque nouvelle session.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.