ad_integration

Роль интеграции с Active Directory

ansible-lint.yml ansible-test.yml markdownlint.yml tft.yml tft_citest_bad.yml woke.yml

Роль 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)

Установить
ansible-galaxy install linux-system-roles/ad_integration
Лицензия
mit
Загрузки
2080
Владелец