Rol openldap-docker
Este rol configurar un servicio OpenLDAP dentro de un container Docker. Permite un esquema de replicación delta-syncrepl deltasync.
El rol efectúa a grandes rasgos las siguientes tareas:
-
Configuración general: setea clave del administrador
cn=admin,cn=config
y carga esquemas. -
Configuración de provider delta-syncrepl: configura los módulos
accesslog
ysyncprov
en el provider de replicación. -
Configuración de dominios: Hace un loop sobre cada dominio especificado en
openldap_domains
, configurando entradas de las base de datos encn=config
y clientes de replicación del dominio.
La siguientes consideraciones deben ser tenidas en cuenta al usar este rol:
-
Se deben especificar primero los dominios más generales (
ejemplo.com.ar
) y luego los más específicos (sub.ejemplo.com.ar
). -
La base
cn=accesslog
del provider requiere que se especifique un usuario administrador en la variableopenldap_accesslog_admin_dn
. Este usuario debe pertenecer a alguno de los dominios configurados en el servidor. -
Se debe setear una clave para el usuario administrador
cn=admin,cn=config
en la variableopenldap_admin_password
.
Configuración del rol
Las variables a continuación determinan el comportamiento del rol. El valor por defecto se muestra entre paréntesis.
Configuraciones generales
-
openldap_schemas
: Schemas a cargar. Cada schema personalizado se debe agregar el LDIF correspondiente enfiles/schemas/NOMBRE.ldif
dentro del rol. Valor por defecto:- core - cosine - nis - inetorgperson - misc
-
openldap_create_dit_entries
(yes
): Especifica si se debe crear el DIT: dominios, usuarios administradores, OUs, para cada dominio.
Replicación
A no ser que se seteen las variables a continuación, el rol no configura replicación alguna.
-
openldap_provider
(no
): En un esquema de replicación, el host es provider. -
openldap_consumer
(no
): En un esquema de replicación, el host es consumer. -
openldap_replicator_base
(dc=example,dc=com
): DN base a partir del cual se replica. -
openldap_accesslog_dir
(/var/lib/ldap/accesslog
): Directorio donde crear la basecn=accesslog
.
Credenciales
-
openldap_admin_password
(password
): Clave del usuario administradorcn=admin,cn=config
. -
openldap_accesslog_admin_dn
(cn=admin,dc=example,dc=com
): DN del usuario administrador para la basecn=accesslog
. Se debe setear en el provider. -
openldap_replicator_dn
(cn=replicator,dc=example,dc=com
): DN del usuario usado para replicación. Se debe setear en el provider y en el consumer. -
openldap_replicator_password
(password
): Clave del usuario usado para replicación. Se debe setear en el provider y en el consumer.
Valores por defecto para los dominios
-
openldap_default_db_access
: Lista con permisos de acceso. Valor por defecto:- {0}to attrs=userPassword by self write by anonymous auth by * none" - {1}to attrs=shadowLastChange by self write by * read" - {2}to * by * read"
-
openldap_default_db_index
: Lista con índices del dominio. Valor por defecto:- cn,uid eq - member,memberUid eq - objectClass eq - uidNumber,gidNumber eq
-
openldap_default_db_limits
: Límites de acceso al dominio. Valor por defecto:[]
(lista vacía) -
openldap_default_domain_ous
: OUs a crear dentro del dominio. Valor por defecto:- Alias - Group - People
Configuración de dominios
La configuración de los dominios se setea en la variable
openldap_domains
([]
). Esta variable es una lista de
diccionarios en la que cada item representa un dominio.
Cada dominio (diccionario) tiene las siguientes claves:
-
name
: Obligatorio. Nombre del dominio en notaciónmi.dominio.com
. Para este ejemplo se crea la organizaciondc=mi,dc=ejemplo,dc=com
. -
admincn
(admin
): cn del administrador, cuyo DN vendrá dado porcn=admin,dc=mi,dc=ejemplo,dc=com
. -
adminpw
(password
): clave del administrador del dominio. Se recomienda cambiar este valor, o setear la variableadminpw_id
. -
adminpw_id
: ID de la clave del administrador en Rattic. Sobreescribe el valor deadminpw
con la clave obtenida de Rattic. -
access
: lista con permisos de acceso. Por defecto toma el valor de la variableopenldap_default_db_access
. -
ou
: unidades organizacionales del dominio. Por defecto toma el valor de la variableopenldap_default_domain_ous
. -
Si bien se crea un usuario admin para los subdominios, éstos por defecto no tienen permiso alguno.