Mauro Torrez 21df3a4974 fix
2019-09-26 00:09:25 -03:00
2019-05-25 18:03:14 -03:00
2019-09-26 00:07:09 -03:00
2019-05-25 18:26:35 -03:00
fix
2019-09-26 00:09:25 -03:00
2019-05-25 17:36:24 -03:00
2019-04-07 23:44:01 -03:00
2019-04-08 03:03:26 +00:00

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:

  1. Configuración general: setea clave del administrador cn=admin,cn=config y carga esquemas.

  2. Configuración de provider delta-syncrepl: configura los módulos accesslog y syncprov en el provider de replicación.

  3. Configuración de dominios: Hace un loop sobre cada dominio especificado en openldap_domains, configurando entradas de las base de datos en cn=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 variable openldap_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 variable openldap_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 en files/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 base cn=accesslog.

Credenciales

  • openldap_admin_password (password): Clave del usuario administrador cn=admin,cn=config.

  • openldap_accesslog_admin_dn (cn=admin,dc=example,dc=com): DN del usuario administrador para la base cn=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ón mi.dominio.com. Para este ejemplo se crea la organizacion dc=mi,dc=ejemplo,dc=com.

  • admincn (admin): cn del administrador, cuyo DN vendrá dado por cn=admin,dc=mi,dc=ejemplo,dc=com.

  • adminpw (password): clave del administrador del dominio. Se recomienda cambiar este valor, o setear la variable adminpw_id.

  • adminpw_id: ID de la clave del administrador en Rattic. Sobreescribe el valor de adminpw con la clave obtenida de Rattic.

  • access: lista con permisos de acceso. Por defecto toma el valor de la variable openldap_default_db_access.

  • ou: unidades organizacionales del dominio. Por defecto toma el valor de la variable openldap_default_domain_ous.

  • Si bien se crea un usuario admin para los subdominios, éstos por defecto no tienen permiso alguno.

Description
OpenLDAP dentro de un container Docker.
Readme 416 KiB
Languages
Python 63%
Shell 33.1%
Dockerfile 3.9%