caseraw.ansible_role_ad_membership

Rôle Ansible d'appartenance AD

Gérer l'appartenance de l'hôte géré avec Windows AD.

Statut de Construction

Licence

MIT / BSD

Informations sur l'auteur

Exigences

  • Assurez-vous qu'un gestionnaire de paquets est disponible et configuré avec les bonnes sources et dépôts de paquets.
  • Assurez-vous que les permissions privilégiées sont définies pour l'utilisateur exécutant ce rôle afin de :
    • Installer et désinstaller.
    • Modifier des fichiers tels que /etc/krb5.conf et /etc/sssd/sssd.conf.
    • Gérer les services systemd pour realmd, sssd et addjobd.
  • Assurez-vous que le trafic réseau vers le contrôleur de domaine Windows est possible.

Dépendances

N/A

Compatibilité

Compatible avec la liste suivante de systèmes d'exploitation :

  • CentOS 7
  • CentOS 8
  • RHEL 7.x
  • RHEL 8.x

Variables de rôle

Nom de la variable Description
role_ad_membership_sa_username Nom d'utilisateur du compte de service pour l'AD (crypté).
role_ad_membership_sa_password Mot de passe du compte de service pour l'AD (crypté).
role_ad_membership_required_packages Liste des paquets requis à installer.
role_ad_membership_use_discovered_domain_controller Si on doit utiliser le contrôleur AD découvert basé sur le domaine.
role_ad_membership_ad_controller_random_selection S'il faut sélectionner un contrôleur AD aléatoirement ou juste le premier de la liste.
role_ad_membership_ad_controllers Une liste de contrôleurs AD.
role_ad_membership_computer_ou L'unité organisationnelle AD dans laquelle placer l'objet ordinateur.
role_ad_membership_ou_user_search_base L'unité organisationnelle AD pour rechercher des utilisateurs.
role_ad_membership_netbios_max_length Longueur maximale du nom Netbios à vérifier.
role_ad_membership_leave_ad Si l'on doit quitter l'AD et supprimer l'objet ordinateur de l'OU.
role_ad_membership_allowed_group_list Liste combinée d'autres listes qui commencent par le nom role_ad_membership_allowed_group_list_.
role_ad_membership_allowed_group_list_default Liste par défaut des groupes autorisés.
role_ad_membership_molecule_dummy Interrupteur factice pour contourner l'ensemble du playbook de convergence.

Exemple de Playbook

--- 
- name: Gérer l'appartenance de l'hôte géré avec Windows AD
  become: True
  gather_facts: True
  vars_files:
    - /path/to/vault/file.yml
  tasks:
    - import_role:
        name: ansible_role_ad_membership
      vars:
        role_ad_membership_required_packages:
          - openldap-clients
          - krb5-workstation
          - krb5-libs
          - adcli
          - realmd
          - authconfig
          - samba-client
          - samba-common
          - samba-common-tools
          - sssd
          - sssd-ad
          - sssd-krb5
          - oddjob
          - oddjob-mkhomedir
        role_ad_membership_use_global_domain_controller: False
        role_ad_membership_ad_controller_random_selection: False
        role_ad_membership_ad_controllers:
          - ad1.example.com
          - ad2.example.com
        role_ad_membership_computer_ou: OU=Servers,DC=example,DC=com
        role_ad_membership_netbios_max_length: 15
        role_ad_membership_leave_ad: False
        role_ad_membership_allowed_group_list_default:
          - Special-Group-01
          - super_special_group_01
        role_ad_membership_allowed_group_list_something:
          - Special-Group-02
          - super_special_group_02
        role_ad_membership_allowed_group_list_something_else:
          - Special-Group-03
          - super_special_group_03

...

Commandes shell utiles

Découvrir le contrôleur AD et les spécifications du domaine.

dig -t SRV _ldap._tcp.ad.example.com
dig -t SRV _ldap._tcp.dc._msdcs.ad.example.com

Ressources de documentation supplémentaires

Les liens suivants fournissent plus d'informations sur sssd et son utilisation.

Tests avec Molecule

Ce rôle est testé localement en utilisant Molecule, la configuration se trouve dans : molecule/default.
Les tests Molecule sont exécutés (en utilisant le driver docker) sur des images Dockerhub créées à cet effet :

Certaines configurations spécifiques peuvent nécessiter un OS complet au lieu d'une image de conteneur minimal. Dans ces cas, utilisez le driver molecule pour vagrant avec le provider libvirt. La configuration du driver Molecule et de la plateforme pourrait ressembler à ceci :

driver:
  name: vagrant
  provider:
    name: libvirt
platforms:
  - name: ansible_role_ad_membership-ansible-molecule-centos-7
    box: centos/7
    memory: 1024
    cpus: 1

CI/CD avec Travis CI

Ce rôle utilise Travis CI pour exécuter des tests en ligne avec l'utilisation de Molecule et envoie des notifications pour importer le rôle dans Ansible Galaxy une fois les tests réussis. La configuration de Travis CI se trouve à la racine du rôle Ansible .travis.yml

Liens utiles

À propos du projet

Manage membership of managed host with Windows AD.

Installer
ansible-galaxy install caseraw.ansible_role_ad_membership
Licence
Unknown
Téléchargements
515
Propriétaire
DevOps | RHCA | Red Hat Accelerator