ad_integration
Роль интеграции с Active Directory
Роль Ansible, которая настраивает прямую интеграцию с Active Directory.
Поддерживаемые дистрибутивы
- RHEL7+, CentOS7+
- Fedora
Требования
Для присоединения к домену необходимо использовать пользователя Active Directory, у которого достаточно прав для присоединения. Не рекомендуется использовать пользователя Administrator, так как у него слишком широкие права.
Смотрите Делегированные разрешения для получения информации о необходимых разрешениях для пользователя.
Время на системе должно совпадать с сервером Active Directory. Роль ad_integration будет использовать систему синхронизации времени, если пользователь установит ad_integration_manage_timesync
в true и предоставит значение для ad_integration_timesync_source
.
RHEL8 (и новее) и Fedora больше не поддерживают шифрование RC4 по умолчанию, рекомендуется включить AES в Active Directory. Если это невозможно, необходимо включить политику шифрования AD-SUPPORT. Роль интеграции будет использовать систему crypto_policies для этого, если пользователь установит параметры ad_integration_manage_crypto_policies
и ad_integration_allow_rc4_crypto
в true.
Система Linux должна быть в состоянии разрешать стандартные DNS SRV записи Active Directory.
На стороне сервера AD должны быть открыты следующие порты брандмауэра, доступные для клиента Linux.
Исходный порт | Назначение | Протокол | Служба |
---|---|---|---|
1024:65535 | 53 | TCP и UDP | DNS |
1024:65535 | 389 | TCP и UDP | LDAP |
1024:65535 | 636 | TCP | LDAPS |
1024:65535 | 88 | TCP и UDP | Kerberos |
1024:65535 | 464 | TCP и UDP | Смена/установка пароля Kerberos (kadmin) |
1024:65535 | 3268 | TCP | Глобальный каталог LDAP |
1024:65535 | 3269 | TCP | Глобальный каталог LDAP SSL |
1024:65535 | 123 | UDP | NTP/Chrony (по желанию) |
1024:65535 | 323 | UDP | NTP/Chrony (по желанию) |
Требования к коллекциям
Эта роль требует дополнительных модулей из внешних коллекций. Пожалуйста, используйте следующую команду для их установки:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Переменные роли
Обязательные переменные
ad_integration_realm
Realm Active Directory или имя домена для присоединения.
ad_integration_password
Пароль пользователя, используемого для аутентификации при присоединении компьютера к реальному домену. Не используйте открытый текст - используйте Ansible Vault для шифрования значения.
Необязательные переменные
ad_integration_user
Имя пользователя, используемое для аутентификации при присоединении компьютера к реальному домену.
По умолчанию: Administrator
ad_integration_join_to_dc
Имя хоста контроллера домена Active Directory (не используйте IP-адрес) можно указать для присоединения напрямую через этот контроллер домена.
По умолчанию: Не установлено
ad_integration_force_rejoin
Покинуть существующий домен перед присоединением. Это может понадобиться, если keytab не может аутентифицироваться с учетной записью машины в домене AD.
По умолчанию: false
ad_integration_auto_id_mapping
Выполнить автоматическое сопоставление UID/GID для пользователей и групп, установите в false
, чтобы полагаться на атрибуты POSIX, уже присутствующие в Active Directory.
По умолчанию: true
ad_integration_client_software
Присоединяйтесь только к реальным доменам, для которых мы можем использовать данное клиентское программное обеспечение. Возможные значения включают sssd или winbind. Не все значения поддерживаются для всех реальных доменов.
По умолчанию: Автоматический выбор
ad_integration_membership_software
Программное обеспечение, используемое для присоединения к реальному домену. Возможные значения включают samba или adcli. Не все значения поддерживаются для всех реальных доменов.
По умолчанию: Автоматический выбор
ad_integration_computer_ou
Полное имя организационной единицы для создания учетной записи компьютера. Оно может быть относительным к корневому DSE или полным LDAP DN.
По умолчанию: Стандартный контейнер компьютеров AD
ad_integration_manage_timesync
Если true, роль ad_integration будет использовать fedora.linux_system_roles.timesync. Необходимо указать значение для ad_integration_timesync_source
, чтобы использовать его в качестве источника времени.
По умолчанию: false
ad_integration_timesync_source
Имя хоста или IP-адрес источника времени для синхронизации системных часов. Указание этой переменной автоматически устанавливает ad_integration_manage_timesync
в true.
ad_integration_manage_crypto_policies
Если true, роль ad_integration будет использовать fedora.linux_system_roles.crypto_policies по мере необходимости.
По умолчанию: false
ad_integration_allow_rc4_crypto
Если true, роль ad_integration установит политику шифрования, разрешающую RC4. Указание этой переменной автоматически устанавливает ad_integration_manage_crypto_policies в true.
По умолчанию: false
ad_integration_manage_dns
Если true, роль ad_integration будет использовать fedora.linux_system_roles.network для добавления указанного DNS-сервера (см. ниже) с ручной конфигурацией DNS к существующему подключению. Если true, то требуются следующие переменные:
ad_integration_dns_server
- DNS-сервер для добавленияad_integration_dns_connection_name
- Имя существующего сетевого подключения для настройкиad_integration_dns_connection_type
- Тип сетевого подключения для настройки
ad_integration_dns_server
IP-адрес DNS-сервера для добавления в существующую сетевую конфигурацию. Применимо только если ad_integration_manage_dns
равно true.
ad_integration_dns_connection_name
Опция имени идентифицирует профиль подключения, который будет настроен сетевой ролью. Это не имя сетевого интерфейса, к которому применяется профиль. Применимо только если ad_integration_manage_dns
равно true.
ad_integration_dns_connection_type
Тип сетевого подключения, например, ethernet, bridge, bond и т.д. Сетевая роль содержит список возможных значений. Применимо только если ad_integration_manage_dns
равно true.
ad_dyndns_update
Если true, SSSD настраивается на автоматическое обновление DNS-сервера AD с IP-адресом клиента.
По умолчанию: false
ad_dyndns_ttl
Необязательно. Время жизни (TTL) в секундах, которое применяется к DNS-записи клиента при ее обновлении. Применимо только если ad_dyndns_update
равно true.
Примечание: Это переопределит TTL, установленный администратором на сервере.
По умолчанию: 3600
ad_dyndns_iface
Необязательно. Интерфейс или список интерфейсов, чьи IP-адреса должны использоваться для динамических обновлений DNS. Специальное значение "*" подразумевает, что должны использоваться все IP-адреса со всех интерфейсов. Применимо только если ad_dyndns_update
равно true.
По умолчанию: Используйте IP-адреса интерфейса, который используется для подключения LDAP к AD.
ad_dyndns_refresh_interval
Необязательно. Как часто, в секундах, следует выполнять периодические обновления DNS в дополнение к тому, когда сервер становится активным. Применимо только если ad_dyndns_update
равно true.
Примечание: наименьшее возможное значение - 60 секунд. Если указано значение менее 60, sssd примет только наименьшее значение.
По умолчанию: 86400
ad_dyndns_update_ptr
Необязательно. Если true, запись PTR также должна быть явно обновлена. Применимо только если ad_dyndns_update
равно true.
По умолчанию: true
ad_dyndns_force_tcp
Необязательно. Если true, утилита nsupdate по умолчанию должна использовать TCP для общения с DNS-сервером. Применимо только если ad_dyndns_update
равно true.
По умолчанию: false
ad_dyndns_auth
Необязательно. Если true, для безопасных обновлений с DNS-сервером при обновлении A и AAAA записей будет использоваться аутентификация GSS-TSIG. Применимо только если ad_dyndns_update
равно true.
По умолчанию: true
ad_dyndns_server
Необязательно. DNS-сервер, который следует использовать при выполнении обновления DNS, когда настройки автоопределения не срабатывают. Применимо только если ad_dyndns_update
равно true.
По умолчанию: Нет (пусть nsupdate выберет сервер)
ad_integration_join_parameters
Дополнительные параметры (в виде строки), передаваемые напрямую в команду подключения к реальному домену. Полезно, если требуется какая-то специфическая конфигурация, например --user-principal=host/name@REALM или --use-ldaps. Смотрите руководство man для realm для подробностей. Пример: ad_integration_join_parameters: "--user-principal host/client007@EXAMPLE.COM"
ad_integration_sssd_settings
Список настроек, которые будут включены в секцию [sssd]
файла sssd.conf. Смотрите страницы справки для sssd.conf для деталей.
Пример:
ad_integration_sssd_settings:
- key: "configuration_name"
value: "configuration_value"
ad_integration_sssd_custom_settings
Список пользовательских настроек, которые будут включены в секцию [domain/$REALM]
файла sssd.conf. Смотрите страницы справки для sssd.conf для деталей.
Пример:
ad_integration_sssd_custom_settings:
- key: "configuration_name"
value: "configuration_value"
ad_integration_preserve_authselect_profile
Это логическое значение, по умолчанию false
. Если true
, конфигурируется realmd.conf для удаления команды authselect
из sssd-enable-logins
, чтобы избежать перезаписи предыдущих изменений PAM/nsswitch, пока не будет решена задача
RHEL-5101.
Пример плейбука
Ниже представлен пример плейбука для настройки прямой интеграции с Active Directory с доменом AD domain.example.com
. Присоединение будет выполнено с пользователем Administrator, используя пароль из хранилища vault. Перед присоединением будет установлена политика шифрования для AD SUPPORT с разрешенным шифрованием RC4.
- hosts: all
vars:
ad_integration_realm: "domain.example.com"
ad_integration_password: !vault | …защищенный пароль…
ad_integration_manage_crypto_policies: true
ad_integration_allow_rc4_crypto: true
roles:
- linux-system-roles.ad_integration
rpm-ostree
Смотрите README-ostree.md
Лицензия
MIT.
Информация об авторе
Джастин Стивенсон (jstephen@redhat.com)
Direct AD Integration Role
ansible-galaxy install linux-system-roles/ad_integration