ansible_role_ad_membership
Роль Ansible для членства в AD
Управление членством управляемого хоста в Windows AD.
Лицензия
MIT / BSD
Информация об авторе
- Создатель и поддержка: Kasra Amirsarvari
- Автор сообщества Ansible Galaxy: https://galaxy.ansible.com/caseraw
- Пользователь сообщества Dockerhub: https://hub.docker.com/u/caseraw
Требования
- Убедитесь, что менеджер пакетов доступен и настроен с правильными источниками и репозиториями пакетов.
- Убедитесь, что у пользователя, выполняющего эту роль, есть привилегированные разрешения для:
- Установки и удаления.
- Редактирования файлов, таких как
/etc/krb5.conf
и/etc/sssd/sssd.conf
. - Управления службами
systemd
дляrealmd
,sssd
иaddjobd
.
- Убедитесь, что есть сеть с контроллером домена Windows.
Зависимости
Нет.
Совместимость
Совместим со следующим списком операционных систем:
- CentOS 7
- CentOS 8
- RHEL 7.x
- RHEL 8.x
Переменные роли
Имя переменной | Описание |
---|---|
role_ad_membership_sa_username | Имя пользователя сервисной учетной записи для AD (зашифровано). |
role_ad_membership_sa_password | Пароль сервисной учетной записи для AD (зашифрован). |
role_ad_membership_required_packages | Список необходимых пакетов для установки. |
role_ad_membership_use_discovered_domain_controller | Использовать ли обнаруженный контроллер AD на основе домена. |
role_ad_membership_ad_controller_random_selection | Определять ли случайный контроллер AD или просто первый в списке. |
role_ad_membership_ad_controllers | Список контроллеров AD. |
role_ad_membership_computer_ou | Организационная единица AD, в которую будет помещен объект компьютера. |
role_ad_membership_ou_user_search_base | Организационная единица AD для поиска пользователей. |
role_ad_membership_netbios_max_length | Максимальная длина строки для проверки имени хоста Netbios. |
role_ad_membership_leave_ad | Уйти ли из AD и удалить объект компьютера из OU. |
role_ad_membership_allowed_group_list | Объединенный список других списков, которые начинаются с названия role_ad_membership_allowed_group_list_ . |
role_ad_membership_allowed_group_list_default | По умолчанию разрешенный список групп. |
role_ad_membership_molecule_dummy | Фиктивный переключатель, чтобы обойти весь плейбук конвертации. |
Пример плейбука
---
- name: Управление членством управляемого хоста в 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
...
Полезные команды оболочки
Обнаружение контроллера AD и специфики домена.
dig -t SRV _ldap._tcp.ad.example.com
dig -t SRV _ldap._tcp.dc._msdcs.ad.example.com
Дополнительные ресурсы документации
Следующие ссылки предоставляют дополнительную информацию о sssd и его использовании.
Тестирование с Molecule
Эта роль тестируется локально с использованием Molecule, конфигурация находится в: molecule/default.
Тесты Molecule запускаются (с использованием docker driver) на Dockerhub images, построенных для этой цели:
Некоторые конкретные конфигурации могут потребовать полную ОС вместо минимального изображения контейнера. В этих случаях используйте molecule driver for vagrant с libvirt provider. Часть конфигурации драйвера Molecule и платформы может выглядеть примерно так:
driver:
name: vagrant
provider:
name: libvirt
platforms:
- name: ansible_role_ad_membership-ansible-molecule-centos-7
box: centos/7
imemory: 1024
cpus: 1
CI/CD с Travis CI
Эта роль использует Travis CI для выполнения онлайн-тестов с использованием Molecule и отправки уведомлений для импорта роли в Ansible Galaxy, как только тесты успешно пройдены. Конфигурация Travis CI находится в корне роли Ansible .travis.yml
Полезные ссылки
- Репозиторий GitHub: https://github.com/Caseraw/ansible_role_ad_membership
- Статус сборки Travis CI: https://travis-ci.org/Caseraw/ansible_role_ad_membership
- Роль 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