criecm.openldap
役割名
OpenLDAPサーバーのインストール
要件
FreeBSD 11/12、Debian 8(+?)
役割の変数(デフォルト)
openldap_schemas
([core, cosine, inetorgperson, nis]) 設定に含めるLDAPスキーマ files/openldap/{{name}}.schemaにファイルが存在する場合、それをコピーしますopenldap_slave_rid
(0) スレーブの'rid'の値(host_varsに適しています、ユニークである必要があります) 残りの設定はplaybookまたはgroup_varsでユニークであれば問題ありませんslapd_rc_flags
("-h 'ldap:/// ldaps:///'")openldap_db_engine
(mdb - OpenBSDではhdb)openldap_db_maxsize
(1073741824)openldap_bases
([]) LDAPのベース辞書のリスト 一つのベースは次のように定義できます(slapd.confの構文):database
(openldap_db_engine
)maxsize
(openldap_db_maxsize
) データベースの推定サイズ(RAM内)rootdn
()suffix
()directory
(openldap_datadir
, システム依存) 複数のデータベースがある場合は定義する必要がありますoverlays ([])
オーバーレイ名のリスト(必要に応じてモジュールが読み込まれます) ここに"syncrepl"を追加すると、syncreplマスターになりますincludes
([]) 含めるファイルのリスト、相対パス:- playbook内:playbook/files/openldap/がソース
- 宛先:
openldap_confdir
/
slave
: 辞書 ({}) このサーバーをスレーブにします(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"]も追加) 属性名(,s…)と検索タイプのペアのリスト "objectClass"と"entryUUID,entryCSN"(スレーブの場合)は常に追加されます 次のコマンドで生成できます:
grep ^index openldap/templates/slapd.conf.j2|sed 's/index *//; s/\([^ ]*\) *\([^ ]*\) *$/ - [ "\1", "\2" ]/'
TLS
ldap_tls_cacert
() CA証明書ファイルへのパス 絶対パス(/で始まる)である場合、既存のCA証明書ファイルのパス(ldap_client役割と共有)
ファイルはopenldap/inventory_hostname
に対して相対的で、宛先のopenldap_confdir
/ssl/に移動します
openldap_tls_cert
() 定義されている場合、サーバー証明書の名前openldap_tls_key
() 定義されている場合、サーバーキーの名前openldap_tls_cacert
(ldap_tls_cacert
)openldap_confdir
/ca.crtにコピーするファイルへのパスで、ldap_tls_cacert
を上書きします
依存関係
実例プレイブック
- 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
bindmethod: simple
ライセンス
BSD