Este blog se publicó originalmente en el blog personal de Roi Katz. Por favor, pulse aquí para encontrar el post original.
Hola a todos.
Así que quieres autenticar el acceso de los usuarios a Couchbase a través de tu servicio LDAP de Active Directory.
Couchbase tiene esa capacidad.
En realidad, puede asignar a cada usuario uno de los tres niveles de permisos de acceso (como en la versión 4.1)
- Administración completa
- Sólo lectura
- Sin acceso
Asumo lo siguiente:
- Ya dispone de un Directorio Activo
Si no es así, consulte aquí o aquí para obtener instrucciones de configuración.
- Ya tiene instalado Couchbase (en una distribución Linux)
Si no es así, consulte esas guías: RHEL o Debiun
En cuanto a la v4.1 de Couchbase, sólo las distros Linux soportan el LDAP, no está disponible en Windows ni MacOS.
Mi configuración aquí es un Azure Windows server 2012 R2 VM con Active Directory y un local Ubuntu 14.04.3 LTS VM con Couchbase v4.1 instalado.
En la configuración de tu Linux Couchbase encontrarás una pestaña llamada LDAP Auth Setup
Para entender completamente cómo funciona la autenticación LDAP con Couchbase, por favor lea el manual de Couchbase documentación.
Así que lo primero es instalar el saslauthd
Presta atención si estás usando RHEL o Ubutntu, las rutas e instrucciones son un poco diferentes.
Versión TL;DR en Ubuntu
- sudo apt-get update
- sudo apt-get install sasl2-bin
- sudo nano /etc/default/saslauthd
- Cambiar START=yes, MECHANISMS="ldap"
- Guardar y salir (ctrl+x)
- cambiar a sudo (sudo -u)
- cambia los permisos de /var/run/saslauthd y /var/run/saslauthd/mux a 755 para que el usuario couchbase pueda acceder a ellos.
- cd a la carpeta /etc
- si saslauthd.conf no existe - tócalo y añade permisos 755.
- configure el archivo de la siguiente manera:
|
1 2 3 4 5 6 7 8 9 10 11 |
ldap_servers: ldap://yourmachineaddress:389 ldap_search_base: dc=couchbase,dc=org ldap_filter: (sAMAccountName=%u) ldap_bind_dn: CN=[admin user],CN=Users,DC=couchbase,DC=org ldap_password: [admin password] ldap_auth_method: bind ldap_version: 3 ldap_use_sasl: no ldap_restart: yes ldap_deref: no ldap_start_tls: no |
servidores_ldap es su servidor AD
ldap_search_base es en qué dominio desea buscar usuarios (aquí es couchbase.org en AD)
ldap_filter es lo que quiere devolver
ldap_bind_dn es un usuario con privilegios de administrador que puede buscar en el árbol de usuarios de AD.
ldap_contraseña la contraseña del usuario admin
- Abrir Puertos de Active Directory para LDAP, 389 (TCP+UDP), 3268,3269, 636 (UDP)
- Puede probar su conexión de directorio activo con JXplorer
- Reinicie el servicio salsauthd - sudo service saslauthd restart
- ¡Pruébalo! - sudo -u couchbase /usr/sbin/testsaslauthd -u -p mypassword -f /var/run/saslauthd/mux
- si tienes permisos y lo configuras todo como arriba deberías obtener un mensaje de éxito. el nombre de usuario y la contraseña aquí son los que quieres comprobar, no el ldap admin.
¡Ahora vamos a usarlo en la consola de Couchbase!
- Inicie sesión en la consola de gestión de su clúster y pulse configuración -> configuración LDAP Auth.
- Activar LDAP
- Elija su comportamiento por defecto - si no especifica el nombre de usuario en ninguna parte
- Escriba algunos usuarios o grupos en cada casilla
- Guardar
- Pruébelo (a la derecha)
- Si todo va bien, debería aparecer algo como "el usuario 'x' tiene acceso de 'Administrador completo' porque he incluido a ese usuario en la lista de 'Administrador completo'".
- Ahora cierre la sesión e intente iniciar sesión con las credenciales de Active Directory.
Si me equivoco con la contraseña, no podré acceder, como era de esperar.
En caso de que su servidor AD sea inaccesible, podrá seguir accediendo a través de sus cuentas Couchbase habituales.
Eso es todo. Espero que les haya gustado.
Roi.




Podríamos tener una versión actualizada de esto para la Versión 5. Acabamos de configurarlo en un clúster RedHat y la pestaña "LDAP Auth Setup" ya no existe.
En preparación.
Mientras tanto utilice couchbase-cli ldap-setting con ldap-enabled 1 flag para habilitar ldap.