linux-system-roles.ad_integration
Rola Integracji bezpośredniej z Active Directory
To rola ansible, która konfiguruje bezpośrednią integrację z Active Directory.
Obsługiwane dystrybucje
- RHEL7+, CentOS7+
- Fedora
Wymagania
Aby dołączyć do domeny, musisz użyć użytkownika Active Directory, który ma wystarczające uprawnienia do dołączenia. Nie zaleca się używania użytkownika Administratora, ponieważ ma on zbyt dużą stopę bezpieczeństwa.
Zobacz Uprawnienia Delegowane w celu uzyskania informacji o wymaganych uprawnieniach.
Czas musi być zsynchronizowany z serwerami Active Directory. Rola ad_integration wykorzysta rolę systemową timesync, jeśli użytkownik ustawi ad_integration_manage_timesync
na true i poda wartość dla ad_integration_timesync_source
jako źródło czasu.
RHEL8 (i nowsze) oraz Fedora nie obsługują katalogowania RC4 domyślnie; zaleca się włączenie AES w Active Directory, a jeśli to niemożliwe, należy włączyć politykę kryptograficzną AD-SUPPORT. Rola integracji skorzysta z roli systemowej crypto_policies, jeśli użytkownik ustawi parametry ad_integration_manage_crypto_policies
i ad_integration_allow_rc4_crypto
na true.
System Linux musi być w stanie rozwiązać domyślne rekordy DNS SRV AD.
Następujące porty zapory muszą być otwarte na serwerze AD, dostępne z klienta Linux.
Port źródłowy | Docelowy | Protokół | Usługa |
---|---|---|---|
1024:65535 | 53 | TCP i UDP | DNS |
1024:65535 | 389 | TCP i UDP | LDAP |
1024:65535 | 636 | TCP | LDAPS |
1024:65535 | 88 | TCP i UDP | Kerberos |
1024:65535 | 464 | TCP i UDP | Zmiana/ustawienie hasła Kerberos (kadmin) |
1024:65535 | 3268 | TCP | Globalny katalog LDAP |
1024:65535 | 3269 | TCP | Globalny katalog LDAP SSL |
1024:65535 | 123 | UDP | NTP/Chrony (Opcjonalnie) |
1024:65535 | 323 | UDP | NTP/Chrony (Opcjonalnie) |
Wymagania dotyczące zbiorów
Ta rola wymaga dodatkowych modułów z zewnętrzych zbiorów. Użyj następującego polecenia, aby je zainstalować:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Zmienne roli
Wymagane zmienne
ad_integration_realm
Realm Active Directory lub nazwa domeny, do której należy dołączyć
ad_integration_password
Hasło użytkownika używanego do autoryzacji podczas dołączania maszyny do realm. Nie używaj tekstu jawnego - użyj Ansible Vault, aby zaszyfrować wartość.
Opcjonalne zmienne
ad_integration_user
Nazwa użytkownika używanego do autoryzacji podczas dołączania maszyny do realm.
Domyślnie: Administrator
ad_integration_join_to_dc
Można podać nazwę hosta kontrolera domeny Active Directory (nie używaj adresu IP), aby dołączyć bezpośrednio przez ten kontroler domeny.
Domyślnie: Nie ustawione
ad_integration_force_rejoin
Pozostaw aktualną domenę przed wykonaniem dołączenia. Może być to konieczne, jeśli keytab nie może uwierzytelnić konta maszyny do domeny AD.
Domyślnie: fałsz
ad_integration_auto_id_mapping
Prowadź automatyczne mapowanie UID/GID dla użytkowników i grup, ustaw na fałsz
, aby polegać na atrybutach POSIX już obecnych w Active Directory.
Domyślnie: prawda
ad_integration_client_software
Tylko dołączaj do realm, dla których możemy użyć podanego oprogramowania klienckiego. Możliwe wartości to sssd lub winbind. Nie wszystkie wartości są obsługiwane dla wszystkich realm.
Domyślnie: Automatyczny wybór
ad_integration_membership_software
Oprogramowanie do użycia podczas dołączania do realm. Możliwe wartości to samba lub adcli. Nie wszystkie wartości są obsługiwane dla wszystkich realm.
Domyślnie: Automatyczny wybór
ad_integration_computer_ou
Wyróżniająca nazwa jednostki organizacyjnej do utworzenia konta komputera. Może być względna do Root DSE lub pełna LDAP DN.
Domyślnie: Domyślny kontener komputera AD
ad_integration_manage_timesync
Jeśli prawda, rola ad_integration użyje fedora.linux_system_roles.timesync. Wymaga podania wartości dla ad_integration_timesync_source
jako źródła czasu.
Domyślnie: fałsz
ad_integration_timesync_source
Nazwa hosta lub adres IP źródła czasu, z którym ma być zsynchronizowany zegar systemowy. Podanie tej zmiennej automatycznie ustawia ad_integration_manage_timesync
na prawda.
ad_integration_manage_crypto_policies
Jeśli prawda, rola ad_integration użyje fedora.linux_system_roles.crypto_policies w razie potrzeby
Domyślnie: fałsz
ad_integration_allow_rc4_crypto
Jeśli prawda, rola ad_integration ustawi politykę kryptograficzną pozwalającą na szyfrowanie RC4. Podanie tej zmiennej automatycznie ustawia ad_integration_manage_crypto_policies
na prawda.
Domyślnie: fałsz
ad_integration_manage_dns
Jeśli prawda, rola ad_integration użyje fedora.linux_system_roles.network, aby dodać podany serwer DNS (patrz poniżej) z ręczną konfiguracją DNS do istniejącego połączenia. Jeśli prawda, wymagane są następujące zmienne:
ad_integration_dns_server
- Serwer DNS do dodaniaad_integration_dns_connection_name
- Nazwa istniejącego połączenia sieciowego do skonfigurowaniaad_integration_dns_connection_type
- Rodzaj istniejącego połączenia sieciowego do skonfigurowania
ad_integration_dns_server
Adres IP serwera DNS do dodania do istniejącej konfiguracji sieciowej. Ma zastosowanie tylko wtedy, gdy ad_integration_manage_dns
jest prawdziwe.
ad_integration_dns_connection_name
Opcja nazwy identyfikuje profil połączenia, który ma być skonfigurowany przez rolę sieciową. Nie jest to nazwa interfejsu sieciowego, dla którego odnosi się profil. Ma zastosowanie tylko wtedy, gdy ad_integration_manage_dns
jest prawdziwe.
ad_integration_dns_connection_type
Rodzaj połączenia sieciowego, takiego jak ethernet, bridge, bond itp., rola sieciowa zawiera listę możliwych wartości. Ma zastosowanie tylko wtedy, gdy ad_integration_manage_dns
jest prawdziwe.
ad_dyndns_update
Jeśli prawda, SSSD zostanie skonfigurowane do automatycznego aktualizowania serwera DNS AD o adres IP klienta.
Domyślnie: fałsz
ad_dyndns_ttl
Opcjonalnie. TTL, w sekundach, do zastosowania w rekordzie DNS klienta podczas jego aktualizacji. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Uwaga: To nadpisze TTL ustawiony przez administratora na serwerze.
Domyślnie: 3600
ad_dyndns_iface
Opcjonalnie. Interfejs lub lista interfejsów, których adresy IP powinny być używane do dynamicznych aktualizacji DNS. Specjalna wartość "*" oznacza, że wszystkie adresy IP z wszystkich interfejsów powinny być używane. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Domyślnie: Użyj adresów IP interfejsu, który jest używany do połączenia LDAP AD.
ad_dyndns_refresh_interval
Opcjonalnie. Jak często, w sekundach, wykonywane będą okresowe aktualizacje DNS oprócz momentu, gdy zaplecze jest online. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Uwaga: najniższa dopuszczalna wartość to 60 sekund. Jeśli określona wartość jest mniejsza niż 60, sssd przyjmie tylko najniższą wartość.
Domyślnie: 86400
ad_dyndns_update_ptr
Opcjonalnie. Jeśli prawda, rekord PTR również powinien być jawnie aktualizowany. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Domyślnie: prawda
ad_dyndns_force_tcp
Opcjonalnie. Jeśli prawda, narzędzie nsupdate powinno domyślnie używać TCP do komunikacji z serwerem DNS. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Domyślnie: fałsz
ad_dyndns_auth
Opcjonalnie. Jeśli prawda, uwierzytelnienie GSS-TSIG będzie używane do bezpiecznych aktualizacji z serwerem DNS podczas aktualizacji rekordów A i AAAA. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Domyślnie: prawda
ad_dyndns_server
Opcjonalnie. Serwer DNS do użycia podczas wykonywania aktualizacji DNS, gdy ustawienia autodetekcji zawiodą. Ma zastosowanie tylko wtedy, gdy ad_dyndns_update
jest prawdziwe.
Domyślnie: Żaden (niech nsupdate wybierze serwer).
ad_integration_join_parameters
Dodatkowe parametry (jako ciąg), które są dostarczane bezpośrednio do polecenia dołączenia do realm. Przydatne, jeśli potrzebna jest specjalna konfiguracja, taka jak --user-principal=host/name@REALM lub --use-ldaps. Zobacz man realm po szczegóły. Przykład: ad_integration_join_parameters: "--user-principal host/client007@EXAMPLE.COM"
ad_integration_sssd_settings
Lista ustawień, które mają być zawarte w sekcji [sssd]
pliku sssd.conf. Zobacz strony man sssd.conf po szczegóły.
Przykład:
ad_integration_sssd_settings:
- key: "configuration_name"
value: "configuration_value"
ad_integration_sssd_custom_settings
Lista niestandardowych ustawień, które mają być zawarte w sekcji [domain/$REALM]
pliku sssd.conf. Zobacz strony man sssd.conf po szczegóły.
Przykład:
ad_integration_sssd_custom_settings:
- key: "configuration_name"
value: "configuration_value"
ad_integration_preserve_authselect_profile
To wartość logiczna, domyślnie fałsz
. Jeśli prawda
, skonfiguruj realmd.conf, aby usunąć polecenie authselect
z sssd-enable-logins
, aby uniknąć nadpisania wcześniejszych zmian PAM/nsswitch, aż do
RHEL-5101 zostanie rozwiązana.
Przykładowy Playbook
Poniżej znajduje się przykładowy playbook do setupu bezpośredniej integracji z Active Directory w domenie AD domain.example.com
, dołączenie zostanie wykonane przez użytkownika Administrator z hasłem przechowywanym w sejfie. Przed dołączeniem zostanie ustawiona polityka kryptograficzna dla wsparcia AD z zezwoleniem na szyfrowanie RC4.
- hosts: all
vars:
ad_integration_realm: "domain.example.com"
ad_integration_password: !vault | …zabezpieczone hasło…
ad_integration_manage_crypto_policies: true
ad_integration_allow_rc4_crypto: true
roles:
- linux-system-roles.ad_integration
rpm-ostree
Zobacz README-ostree.md
Licencja
MIT.
Informacje o autorze
Justin Stephenson (jstephen@redhat.com)
Direct AD Integration Role
ansible-galaxy install linux-system-roles.ad_integration