criecm.openldap
Nazwa roli
Instalacja serwera openldap
Wymagania
FreeBSD 11/12, Debian 8(+?)
Zmienne roli (domyślne)
openldap_schemas([core, cosine, inetorgperson, nis]) Schematy LDAP do uwzględnienia w konfiguracji. Jeśli plik istnieje w files/openldap/{{name}}.schema, zostanie skopiowany.openldap_slave_rid(0) Wartość dla 'rid' slave'a, odpowiednia dla host_vars (musi być unikalna). Reszta konfiguracji może pozostać unikalna w playbooku lub group_vars.slapd_rc_flags("-h 'ldap:/// ldaps:///'")openldap_db_engine(mdb - hdb dla OpenBSD)openldap_db_maxsize(1073741824)openldap_bases([]) Lista baz LDAP. Jedna baza może mieć: (składnia slapd.conf)database(openldap_db_engine)maxsize(openldap_db_maxsize) szacowana wielkość bazy danych w RAMrootdn()suffix()directory(openldap_datadir, zależne od systemu) musisz to zdefiniować, jeśli jest więcej niż jedna bazaoverlays ([])lista nazw nakładek (moduł zostanie załadowany w razie potrzeby). Dodanie "syncrepl" tutaj czyni serwerem głównym syncrepl.includes([]) Lista plików do uwzględnienia, ścieżka względna do:- w playbooku: playbook/files/openldap/ jako źródło
- cel:
openldap_confdir/
slave: dict ({}) Czyni ten serwer w slave (protokół syncrepl).rid(openldap_slave_rid) *provider() *searchbase(suffix)binddn() *credentials() *bindmethod(simple)scope(sub)schemachecking(on)type(refreshAndPersist)retry("60 10 120 +")interval(00:00:00:15)tls_cacert(ldap_tls_cacert)updateref()
indexes(["objectClass","pres,eq"]) (+ ["entryUUID,entryCSN","eq"] jeśli slave) Lista par nazwa_atrybutu(,s…), typ_uzyskania(na). "objectClass" i "entryUUID,entryCSN" (jeśli slave) będą zawsze dodawane. Może być generowane z:
grep ^index openldap/templates/slapd.conf.j2|sed 's/index *//; s/\([^ ]*\) *\([^ ]*\) *$/ - [ "\1", "\2" ]/'
TLS
ldap_tls_cacert() ścieżka do pliku certyfikatu CA Jeśli ścieżka absolutna (zaczynająca się od /), ścieżka do istniejącego pliku certyfikatu CA (dzielonego z rolą ldap_client).
Pliki są względne do openldap/inventory_hostname dla źródła.
Idź do openldap_confdir/ssl/ na docelową lokalizację.
openldap_tls_cert() Jeśli zdefiniowane, nazwa certyfikatu serwera.openldap_tls_key() Jeśli zdefiniowane, nazwa klucza serwera.openldap_tls_cacert(ldap_tls_cacert) Ścieżka do pliku do skopiowania doopenldap_confdir/ca.crt, nadpisujeldap_tls_cacert.
Zależności
Przykładowy Playbook
- hosts: servers
roles:
- criecm.openldap
vars:
openldap_schemas:
- core
- cosine
- nis
- inetorgperson
- rfc2739
ppolicy_default: cn=defppolicy,ou=policies,dc=at,dc=home
openldap_bases:
rootdn: cn=admin
suffix: dc=at,dc=home
includes: [ slapd.access ]
overlays:
- dynlist
- ppolicy
- smbk5pwd
indexes:
- [ "uid,uidNumber,gidNumber,memberUID", "pres,eq" ]
slave:
rid: 675
provider: ldaps://master.ldap.univ.fr:636
binddn: cn=bind,dc=dn
credentials: bindpw
Licencja
BSD
ansible-galaxy install criecm.openldap