Chapitre 27. Installation d'un client de gestion des identités à l'aide d'un playbook Ansible


Les sections suivantes décrivent comment configurer un système en tant que client de gestion d'identité (IdM) à l'aide d'Ansible. La configuration d'un système en tant que client IdM l'inscrit dans un domaine IdM et permet au système d'utiliser les services IdM sur les serveurs IdM du domaine.

Le déploiement est géré par le rôle Ansible ipaclient. Par défaut, le rôle utilise le mode de découverte automatique pour identifier les serveurs IdM, le domaine et d'autres paramètres. Le rôle peut être modifié pour que le playbook Ansible utilise les paramètres spécifiés, par exemple dans le fichier d'inventaire.

Conditions préalables

  • Vous avez installé le paquet ansible-freeipa sur le nœud de contrôle Ansible.
  • Vous comprenez les concepts Ansible et IdM :

    • Rôles Ansible
    • Nœuds Ansible
    • Inventaire Ansible
    • Tâches Ansible
    • Modules Ansible
    • Jeux et carnets de jeu Ansible

27.1. Définition des paramètres du fichier d'inventaire pour le mode d'installation du client d'autodécouverte

Pour installer un client de gestion des identités à l'aide d'un playbook Ansible, configurez les paramètres de l'hôte cible dans un fichier d'inventaire, par exemple inventory/hosts:

  • les informations sur l'hôte
  • l'autorisation de la tâche

Le fichier d'inventaire peut être dans l'un des nombreux formats, en fonction des plugins d'inventaire que vous avez. Le format INI-like est l'un des formats par défaut d'Ansible et est utilisé dans les exemples ci-dessous.

Note

Pour utiliser les cartes à puce avec l'interface utilisateur graphique dans RHEL, assurez-vous d'inclure la variable ipaclient_mkhomedir dans votre playbook Ansible.

Conditions préalables

Procédure

  1. Indiquez le nom d'hôte entièrement qualifié (FQDN) de l'hôte qui doit devenir un client IdM. Le nom de domaine entièrement qualifié doit être un nom DNS valide :

    • Seuls les chiffres, les caractères alphabétiques et les traits d'union (-) sont autorisés. Par exemple, les caractères de soulignement ne sont pas autorisés et peuvent entraîner des défaillances du système DNS.
    • Le nom d'hôte doit être en minuscules. Aucune majuscule n'est autorisée.

    Si les enregistrements SRV sont correctement définis dans la zone DNS IdM, le script découvre automatiquement toutes les autres valeurs requises.

    Exemple d'un fichier d'inventaire simple avec seulement le FQDN du client défini

    [ipaclients]
    client.idm.example.com
    [...]

  2. Spécifiez les informations d'identification pour l'inscription du client. Les méthodes d'authentification suivantes sont disponibles :

    • Le site password of a user authorized to enroll clients est l'option par défaut.

      • Red Hat recommande d'utiliser Ansible Vault pour stocker le mot de passe et de faire référence au fichier Vault à partir du fichier playbook, par exemple install-client.yml, directement :

        Exemple de fichier playbook utilisant le principal d'un fichier d'inventaire et le mot de passe d'un fichier Ansible Vault

        - name: Playbook to configure IPA clients with username/password
          hosts: ipaclients
          become: true
          vars_files:
          - playbook_sensitive_data.yml
        
          roles:
          - role: ipaclient
            state: present

      • De manière moins sûre, fournissez les informations d'identification de admin en utilisant l'option ipaadmin_password dans la section [ipaclients:vars] du fichier inventory/hosts. Pour spécifier un autre utilisateur autorisé, utilisez l'option ipaadmin_principal pour le nom d'utilisateur et l'option ipaadmin_password pour le mot de passe. Le fichier d'inventaire inventory/hosts et le fichier playbook install-client.yml peuvent alors se présenter comme suit :

        Exemple de fichier d'inventaire des hôtes

        [...]
        [ipaclients:vars]
        ipaadmin_principal=my_admin
        ipaadmin_password=Secret123

        Exemple de Playbook utilisant le principal et le mot de passe du fichier d'inventaire

        - name: Playbook to unconfigure IPA clients
          hosts: ipaclients
          become: true
        
          roles:
          - role: ipaclient
            state: true

    • Le site client keytab de l'inscription précédente, s'il est encore disponible.

      Cette option est disponible si le système a été précédemment enregistré en tant que client de gestion d'identité. Pour utiliser cette méthode d'authentification, décommentez l'option #ipaclient_keytab, en spécifiant le chemin d'accès au fichier stockant le keytab, par exemple dans la section [ipaclient:vars] de inventory/hosts.

    • Un random, one-time password (OTP) à générer lors de l'inscription. Pour utiliser cette méthode d'authentification, utilisez l'option ipaclient_use_otp=yes dans votre fichier d'inventaire. Par exemple, vous pouvez décommenter l'option ipaclient_use_otp=yes dans la section [ipaclients:vars] du fichier inventory/hosts. Notez qu'avec l'option OTP, vous devez également spécifier l'une des options suivantes :

      • L'adresse password of a user authorized to enroll clients, par exemple en fournissant une valeur pour ipaadmin_password dans la section [ipaclients:vars] du fichier inventory/hosts.
      • Le site admin keytab, par exemple en fournissant une valeur pour ipaadmin_keytab dans la section [ipaclients:vars] de inventory/hosts.
  3. [Facultatif] Spécifiez le résolveur DNS à l'aide des options ipaclient_configure_dns_resolve et ipaclient_dns_servers (le cas échéant) pour simplifier les déploiements de clusters. Ceci est particulièrement utile si votre déploiement IdM utilise le DNS intégré :

    Un extrait de fichier d'inventaire spécifiant un résolveur DNS :

    [...]
    [ipaclients:vars]
    ipaadmin_password: "{{ ipaadmin_password }}"
    ipaclient_domain=idm.example.com
    ipaclient_configure_dns_resolver=true
    ipaclient_dns_servers=192.168.100.1

    Note

    La liste ipaclient_dns_servers ne doit contenir que des adresses IP. Les noms d'hôtes ne sont pas autorisés.

Ressources supplémentaires

  • /usr/share/ansible/roles/ipaclient/README.md
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.