32.5. Utiliser Ansible pour s'assurer que les membres sont présents dans un netgroup

Vous pouvez utiliser un script Ansible pour vous assurer que les utilisateurs, les groupes et les groupes nets IdM sont membres d'un groupe net. L'exemple décrit comment s'assurer que le groupe TestNetgroup1 a les membres suivants :

  • Les utilisateurs de user1 et user2 IdM
  • Le groupe IdM group1
  • Le groupe net admins
  • Un hôte idmclient1 qui est un client IdM

Conditions préalables

  • Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :

    • Vous utilisez la version 2.8 ou ultérieure d'Ansible.
    • Vous avez installé le paquetage ansible-freeipa sur le contrôleur Ansible.
    • Vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM dans le répertoire ~/MyPlaybooks/ dans le répertoire
    • Vous avez stocké votre site ipaadmin_password dans le coffre-fort secret.yml Ansible.
  • Le groupe de réseau TestNetgroup1 IdM existe.
  • Les utilisateurs user1 et user2 IdM existent.
  • Le groupe IdM group1 existe.
  • Le groupe de réseau admins IdM existe.

Procédure

  1. Créez votre fichier Ansible playbook IdM-members-present-in-a-netgroup.yml avec le contenu suivant :

    ---
    - name: Playbook to manage IPA netgroup.
      hosts: ipaserver
      become: no
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure netgroup members are present
        ipanetgroup:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: TestNetgroup1
          user: user1,user2
          group: group1
          host: idmclient1
          netgroup: admins
          action: member
  2. Exécutez le manuel de jeu :

    $ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory_/IdM-members-present-in-a-netgroup.yml

Ressources supplémentaires

  • NIS dans IdM
  • /usr/share/doc/ansible-freeipa/README-netgroup.md
  • /usr/share/doc/ansible-freeipa/playbooks/netgroup