timorunge.freeipa_client

freeipa_client

Ce rôle installe et configure le client FreeIPA selon vos besoins.

En combinaison avec freeipa (Github), il est possible (et testé) d'utiliser freeipa_client avec la dernière version de FreeIPA sur Debian 9.4 et Ubuntu >= 18.04 (regardez la section d'exemple).

Exigences

Ce rôle nécessite Ansible 2.5.0 ou une version ultérieure.

Vous pouvez simplement utiliser pip pour installer (et définir) une version stable :

pip install ansible==2.7.9

Tous les besoins de la plateforme sont listés dans le fichier de métadonnées.

Pour configurer ce rôle correctement, il est nécessaire de pouvoir communiquer sur les ports requis avec un serveur FreeIPA (Repo Github).

Installation

ansible-galaxy install timorunge.freeipa_client

Variables du rôle

Il est nécessaire de définir les variables suivantes pour faire fonctionner ce rôle (sans personnalisation). Ces variables n'ont pas de valeurs par défaut :

# Domaine DNS principal du déploiement IPA
# Type : Str
freeipa_client_domain: example.com
# Le nom d'hôte de cette machine (FQDN)
# Type : Str
freeipa_client_fqdn: srv-1-eu-central-1.example.com
# Mot de passe pour rejoindre le royaume IPA
# Type : Str
freeipa_client_password: Passw0rd
# Principal à utiliser pour rejoindre le royaume IPA
# Type : Str
freeipa_client_principal: admin
# Nom du royaume Kerberos du déploiement IPA
# Type : Str
freeipa_client_realm: EXAMPLE.COM
# FQDN du serveur IPA
# Type : Str
freeipa_client_server: ipa.example.com

Les variables qui peuvent être passées à ce rôle et une brève description d'elles sont les suivantes. (Pour toutes les variables, regardez defaults/main.yml)

# La commande de base pour l'installation de FreeIPA
# Type : Str
freeipa_client_install_base_command: ipa-client-install --unattended

# Les options d'installation par défaut de FreeIPA
# Type : Liste
freeipa_client_install_options:
  - "--domain={{ freeipa_client_domain }}"
  - "--server={{ freeipa_client_server }}"
  - "--realm={{ freeipa_client_realm }}"
  - "--principal={{ freeipa_client_principal }}"
  - "--password={{ freeipa_client_password }}"
  - "--mkhomedir"
  - "--hostname={{ freeipa_client_fqdn }}"
  - "--force-join"

Exemples

Pour garder le document concis, les options d'installation sont simplifiées. Vous pouvez trouver les options d'installation soit dans ce document soit dans la page man en ligne pour ipa-client-install](https://linux.die.net/man/1/ipa-client-install).

1) Installer le client FreeIPA avec les paramètres par défaut

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
  roles:
    - timorunge.freeipa_client

2) Installer le serveur FreeIPA avec des options d'installation personnalisées

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server: ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--no-ntp"
      - "--ssh-trust-dns"
      - "--ip-address=172.20.1.2"
      - "--ip-address=172.20.2.2"
  roles:
    - timorunge.freeipa_client

3) Installer le client FreeIPA et ajouter plusieurs serveurs IPA

- hosts: freeipa-clients
  vars:
    freeipa_client_domain: example.com
    freeipa_client_server:
      - ipa-eu-central-1.example.com
      - ipa-eu-west-1.example.com
      - ipa-eu-west-2.example.com
      - ipa-eu-west-3.example.com
      - ipa.example.com
    freeipa_client_realm: EXAMPLE.COM
    freeipa_client_principal: admin
    freeipa_client_password: Passw0rd
    freeipa_client_fqdn: srv-1-eu-central-1.example.com
    freeipa_client_install_options:
      - "--server={{ freeipa_client_server | join(' --server=') }}"
  roles:
    - timorunge.freeipa_client

Options d'installation du client FreeIPA

Un aperçu des options d'installation pour ipa-client-install (4.6.4).

Usage : ipa-client-install [options]

Options :
  --version            afficher le numéro de version du programme et quitter
  -h, --help           afficher ce message d'aide et quitter
  -U, --unattended     installation (dés)automatisée ne demande jamais à l'utilisateur
  --uninstall          désinstaller une installation existante. La désinstallation peut
                       être effectuée avec l'option --unattended

  Options de base :
    -p PRINCIPAL, --principal=PRINCIPAL
                       principal à utiliser pour rejoindre le royaume IPA
    --ca-cert-file=FILE
                       charger le certificat CA depuis ce fichier
    --ip-address=IP_ADDRESS
                       Spécifiez l'adresse IP à ajouter à DNS. Cette
                       option peut être utilisée plusieurs fois
    --all-ip-addresses  Toutes les adresses IP routables configurées sur n'importe quelle interface
                       seront ajoutées à DNS
    --domain=DOMAIN_NAME
                       domaine DNS principal du déploiement IPA (pas
                       nécessairement lié au nom d'hôte actuel)
    --server=SERVER    FQDN du serveur IPA
    --realm=REALM_NAME  nom du royaume Kerberos du déploiement IPA (généralement
                       un nom en majuscules du domaine DNS principal)
    --hostname=HOST_NAME
                       Le nom d'hôte de cette machine (FQDN). Si spécifié,
                       le nom d'hôte sera défini et la configuration système sera
                       mise à jour pour persister après un redémarrage. Par défaut,
                       le résultat de l'appel getfqdn() de Python's socket module
                       est utilisé.

  Options Client :
    -w PASSWORD, --password=PASSWORD
                       mot de passe pour rejoindre le royaume IPA (suppose un mot de passe de masse
                       à moins que le principal ne soit également défini)
    -W                  Demander un mot de passe pour rejoindre le royaume IPA
    --noac              ne pas modifier la configuration nsswitch.conf et PAM
    -f, --force        forcer le réglage de la configuration LDAP/Kerberos
    --configure-firefox
                       configurer Firefox pour utiliser les identifiants de domaine IPA
    --firefox-dir=FIREFOX_DIR
                       spécifier le répertoire où Firefox est installé (par
                       exemple : '/usr/lib/firefox')
    -k KEYTAB, --keytab=KEYTAB
                       chemin vers la clé de sauvegarde du keytab de l'enrôlement précédent
    --mkhomedir        créer des répertoires personnels pour les utilisateurs lors de leur première connexion
    --force-join       Forcer l'enrôlement du client même s'il est déjà enrôlé
    --ntp-server=NTP_SERVER
                       serveur ntp à utiliser. Cette option peut être utilisée plusieurs fois
    -N, --no-ntp       ne pas configurer ntp
    --force-ntpd       Arrêtez et désactivez tout service de synchronisation de temps et de date
                       en dehors de ntpd
    --nisdomain=NISDOMAIN
                       nom de domaine NIS
    --no-nisdomain     ne pas configurer le nom de domaine NIS
    --ssh-trust-dns    configurer le client OpenSSH pour faire confiance aux enregistrements DNS SSHFP
    --no-ssh           ne pas configurer le client OpenSSH
    --no-sshd          ne pas configurer le serveur OpenSSH
    --no-sudo          ne pas configurer SSSD comme source de données pour sudo
    --no-dns-sshfp     ne pas créer automatiquement les enregistrements DNS SSHFP
    --kinit-attempts=KINIT_ATTEMPTS
                       nombre de tentatives pour obtenir TGT de l'hôte (par défaut 5).
    --request-cert      demander un certificat pour la machine

  Options SSSD :
    --fixed-primary     Configurer sssd pour utiliser un serveur fixe comme serveur IPA principal
    --permit            désactiver les règles d'accès par défaut, autoriser tout accès.
    --enable-dns-updates
                       Configure la machine pour tenter des mises à jour DNS lorsque 
                       l'adresse IP change.
    --no-krb5-offline-passwords
                       Configurer SSSD pour ne pas stocker le mot de passe de l'utilisateur lorsque le
                       serveur est hors ligne
    --preserve-sssd     Conserver l'ancienne configuration SSSD si possible

  Options Automount :
    --automount-location=AUTOMOUNT_LOCATION
                       Lieu d'automontage

  Options de journalisation et de sortie :
    -v, --verbose      imprimer des informations de débogage
    -d, --debug        alias pour --verbose (obsolète)
    -q, --quiet        n'afficher que les erreurs
    --log-file=FILE    journaliser dans le fichier donné

Tests

Statut de construction

Les tests Travis sont réalisés avec Docker et docker_test_runner. Les tests sur Travis effectuent des vérifications de syntaxe et de linting.

Pour plus de détails et des vérifications supplémentaires, consultez la configuration de docker_test_runner et l' entrypoint Docker.

# Tester localement :
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Dépendances

Ce rôle nécessite un serveur FreeIPA (Repo Github) en cours d'exécution.

Licence

Licence BSD 3-Clause "New" ou "Revised"

Informations sur l'auteur

  • Timo Runge
À propos du projet

FreeIPA Identity Management Client provisioning.

Installer
ansible-galaxy install timorunge.freeipa_client
Licence
bsd-3-clause
Téléchargements
12.1k
Propriétaire