caseraw.ansible_role_ad_membership
Rôle Ansible d'appartenance AD
Gérer l'appartenance de l'hôte géré avec Windows AD.
Licence
MIT / BSD
Informations sur l'auteur
- Créé et maintenu par : Kasra Amirsarvari
- Auteur dans la communauté Ansible Galaxy : https://galaxy.ansible.com/caseraw
- Utilisateur dans la communauté Dockerhub : https://hub.docker.com/u/caseraw
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
pourrealmd
,sssd
etaddjobd
.
- 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
- Répertoire GitHub : https://github.com/Caseraw/ansible_role_ad_membership
- Statut de build Travis CI : https://travis-ci.org/Caseraw/ansible_role_ad_membership
- Rôle Ansible Galaxy : https://galaxy.ansible.com/caseraw/ansible_role_ad_membership
Manage membership of managed host with Windows AD.
ansible-galaxy install caseraw.ansible_role_ad_membership