Skip to main content

Integración con Active Directory

Una vez haya realizado login con el usuario administrador, es momento de integrar bookstack con el dominio. Asegure que el servidor que ejecuta bookstack tiene permitida la comunicación por el puerto 389 y 636 hacia los servidores de dominio de Windows.

Cambie el metodo de autenticación

AUTH_METHOD=ldap

Configure la IP del servidor de dominio

LDAP_SERVER=IP_SERVIDOR_LDAP:389
LDAP_BASE_DN="ou=UNIDAD_ORGANIZATIVA,dc=DOMINIO,dc=ORG"

Cree un usuario delegado en el dominio con permisos de lectura en la unidad de Usuarios (solo lectura de datos!)

LDAP_DN="CN=USARIO DELEGADO,OU=UNIDAD_ORGANIZATIVA,DC=DOMINIO,DC=ORG"
LDAP_PASS="******************"

Configure los filtros

LDAP_USER_FILTER=(&(sAMAccountName=${user}))
LDAP_VERSION=3
LDAP_ID_ATTRIBUTE=BIN:objectGUID
LDAP_EMAIL_ATTRIBUTE=mail
LDAP_DISPLAY_NAME_ATTRIBUTE=cn
LDAP_THUMBNAIL_ATTRIBUTE=null
LDAP_START_TLS=false

Si quiere gestionar los permisos a través de los grupos de dominio añada

LDAP_USER_TO_GROUPS=true
LDAP_GROUP_ATTRIBUTE="memberOf"
LDAP_REMOVE_FROM_GROUPS=true

La configuración al final del fichero debe quedar parecida a la siguiente

####################################
# LDAP SETTINGS
####################################
# General auth
AUTH_METHOD=ldap
LDAP_SERVER=IP_SERVIDOR_LDAP:389
LDAP_BASE_DN="ou=UNIDAD_ORGANIZATIVA,dc=DOMINIO,dc=ORG"
LDAP_DN="CN=BOOKSTACK LDAP,OU=LDAP-USERS,OU=USUARIOS,DC=tram,DC=local"
LDAP_PASS="******************"
LDAP_USER_FILTER=(&(sAMAccountName=${user}))
LDAP_VERSION=3
LDAP_ID_ATTRIBUTE=BIN:objectGUID
LDAP_EMAIL_ATTRIBUTE=mail
LDAP_DISPLAY_NAME_ATTRIBUTE=cn
LDAP_THUMBNAIL_ATTRIBUTE=null
LDAP_START_TLS=false
LDAP_USER_TO_GROUPS=true
LDAP_GROUP_ATTRIBUTE="memberOf"
LDAP_REMOVE_FROM_GROUPS=true

Guarde el fichero, reinicie apache y pruebe a iniciar sesión con su usuario de dominio.

Si todo ha funcionado correctamente, pronto se percatará de que no tiene acceso a la parte de administrador.

Si ha configurado la sincronización de grupos de Active Directory en el fichero .env, cree un grupo en el AD, por ejemplo BOOKSTACK-ADMINSe incluya a todos los usuarios que quiera que sean administradores de bookstac dentro del grupo.

Vuelva al servidor web y modifique de nuevo el fichero .env, comentando la linea

AUTH_METHOD=ldap -> #AUTH_METHOD=ldap

Reinicie apache y vuelva a iniciar sesión con el administrador local.

En Ajustes > Roles, cree un nuevo ROL que se llame EXACTAMENTE igual que el grupo que ha creado en el AD.

Ha de ser exactamente igual! Mayusculas y minusculas!!! Asigne a ese rol todos los permisos, tal y como tiene el rol Admin.

Guarde los ajustes y vuelva a activar el metodo de autenticación LDAP.

Reinicie el servicio de apache y inicie sesión con el usuario de dominio. Con su sesión de dominio ahora debería poder ver el boton de ajustes y poder realizar exactamente las mismas tareas que con el usuario admin local.