Seguridad

Integración de Couchbase Server con Okta: Guía paso a paso para una autenticación sin fisuras

Bienvenido a esta completa guía sobre la integración de Okta con Couchbase Server. 

En este artículo, le guiaremos paso a paso en el proceso de configuración de un flujo de autenticación seguro y sin fisuras utilizando Okta como el Proveedor de identidad (IdP) y Couchbase Servidor como Proveedor de servicios SAML (SP). Al final de esta guía, tendrás una configuración SSO completamente funcional, permitiendo a los usuarios iniciar y cerrar sesión en la interfaz de usuario del servidor Couchbase usando SAML.

Requisitos previos

Antes de profundizar en los entresijos de la integración de SAML, es crucial tener una sólida comprensión de los fundamentos de SAML y las técnicas de depuración. Si aún no lo has hecho, te recomiendo encarecidamente que vuelvas a leer mi artículo anterior sobre los fundamentos de SAML y su proceso de depuración. Equipado con ese conocimiento básico, encontrará este artículo sobre la integración de SAML mucho más esclarecedor y fácil de comprender. Dedicar tiempo a comprender los conceptos básicos mejorará sin duda su experiencia y comprensión a medida que profundicemos en el tema.

Antes de pasar a los pasos de configuración, es esencial que te asegures de que tienes todo lo que necesitas para un proceso de configuración sin problemas. A continuación se indican los requisitos previos que debes tener.

Programas y cuentas necesarios

    1. Cuenta de desarrollador de Okta: Necesitará una cuenta de desarrollador de Okta para configurar Okta como su proveedor de identidad. Si no tiene una, puede registrarse para obtener una cuenta gratuita aquí.
    2. Servidor Couchbase: Asegúrese de tener Administración completa o al menos Usuario externo Seguridad Admin acceso. Esto es crucial para configurar los ajustes de SAML en Couchbase Server.
    3. Editor de texto: Un editor de texto como Visual Studio Code, Sublime Text o Notepad++ será útil para editar archivos XML o scripts, si es necesario.

Conocimientos y competencias necesarios

    1. Conocimientos básicos de SAML: Se valorará la familiaridad con conceptos de SAML como aserciones, IdP, SP y SSO.
    2. Conceptos básicos de XML: Dado que SAML utiliza aserciones basadas en XML, una comprensión básica de XML le ayudará en el proceso de configuración.

Datos necesarios

    1. URL del servidor Couchbase: Asegúrese de que su servidor Couchbase es accesible a través de Internet y que conoce la URL externa.
    2. Clave de firma y certificado: Dispone de una Clave Privada y un Certificado y, opcionalmente, de un archivo de Cadena que puede cargar y que se utilizará para firmar y descifrar los mensajes SAML.

Opcional pero útil

    1. Herramientas de red: Herramientas como curl o Postman pueden ser útiles para probar peticiones HTTP y aserciones SAML.
    2. Herramientas de depuración: Las herramientas de depuración basadas en navegador o los plugins pueden ayudar en la resolución de problemas de respuestas y peticiones SAML, tales como Rastreador Saml.
    3. Herramientas de formación de certificados: Navegador Herramienta para certificados X.509 para formatear certificados. 

Si se asegura de tener estos prerrequisitos, estará preparado para seguir el resto de esta guía. En la siguiente sección, le proporcionaremos una visión general de cómo funciona la autenticación SAML para que entienda mejor lo que va a configurar.

 

Configuración de Okta como IdP

Ahora que hemos cubierto lo básico, es hora de configurar Okta para que actúe como tu proveedor de identidad (IdP). Necesitamos empezar con el IdP ya que el servidor Couchbase espera un archivo de metadatos o URL para habilitar SAML.

Crear una nueva aplicación SAML en Okta

    1. Inicie sesión en la consola para desarrolladores de Okta: Vaya a su consola de desarrollador de Okta e inicie sesión.
    2. Ir a Aplicaciones: En el cuadro de mandos, haga clic en el botón Aplicaciones ficha.

    3. Añadir aplicación: Haga clic en el botón Crear integración de aplicaciones para crear una nueva aplicación.
    4. Seleccione SAML 2.0:  Elija SAML 2.0 como método de inicio de sesión.
    5. Haga clic en Siguiente para pasar a la configuración de la aplicación.

Configurar los ajustes de la aplicación SAML en Okta

    1. Ajustes generales:
      • Nombre: Introduzca un nombre para la aplicación. Utilizaré: couchbase
    2. Haga clic en Siguiente
    3. Configuración SAML:
      • URL de inicio de sesión único (URL ACS): En este punto utilizaremos una marcador de posición: https://www.nowhere.comya que aún no disponemos de esta URL. Más adelante volveremos para terminar la configuración del ACS.
      • URI de la audiencia (SP Entity ID): Establezca el ID de entidad para el servidor Couchbase. Este es un identificador único que Okta utilizará para reconocer tu servicio. Yo usaré "couchbase-demo-integration".
      • Nombre Formato ID: Normalmente se establece en "Unspecified" o "EmailAddress", dependiendo de sus necesidades. Yo utilizaré "Unspecified" para esta configuración.
      • Nombre de usuario de la solicitud: Elija cómo se asignarán los nombres de usuario (normalmente "Correo electrónico" o "Nombre de usuario de Okta").

    4. Acabado: Pulse "Finalizar" o "Siguiente" hasta completar la configuración de la aplicación.

Descargar metadatos de Okta

    1. Ver instrucciones de configuración: Después de crear la solicitud, vaya a la pestaña "Iniciar sesión" y haga clic en "Más detalles".


    2. Mantenga abierta esta página: Por favor, mantenga esta página abierta ya que copiaremos los campos de esta página cuando estemos configurando el servidor Couchbase en el siguiente paso.

Configurar Couchbase Server para que actúe como SP

Ahora que tienes Okta configurado como Proveedor de Identidad (iDP), es el momento de preparar el servidor Couchbase para actuar como Proveedor de Servicios SAML (SP). Esta sección te guiará a través de los pasos iniciales de instalación y configuración.

Configuración inicial

    1. Inicie sesión en la interfaz de usuario de su servidor Couchbase: Accede a la interfaz de administración del servidor Couchbase. Aquí es donde configurarás los ajustes de SAML.

    2. Haga clic en Seguridad: Seleccione seguridad en el menú de navegación de la izquierda.
    3. Haga clic en la pestaña SAML: en la parte superior Localice la pestaña SAML y haga clic en ella. Se abrirá la página de configuración de SAML.

    4. Activar la autenticación SAML: Debajo del texto hay una casilla de verificación. Active esta opción.

Configuración de metadatos

    1. ID de la entidad SP: Establezca el ID de entidad para el servidor Couchbase. Este es un identificador único que Okta utilizará para reconocer su servicio. Utilice el mismo Entity ID que utilizó en la pantalla de Okta: couchbase-demo-integration
    2. Detalle de la organización: Rellene los campos Org Name y contact con sus datos.
    3. SP Tipo de URL base: Seleccione  URL personalizada y utilice la url a la que su servicio es accesible desde internet. Especificaré http://127.0.0.1:8091 ya que estoy ejecutando el servidor Couchbase localmente.
    4. Firmar metadatos: Asegúrese de que el Firmar metadatos utilizando los certificados especificados a continuación está activado.

Gestión de certificados

    1. Cargar clave privada: Abra la sección Clave y certificado y cargue su clave privada.
    2. Cargar certificado: cargue también su certificado.
    3. Cadena de certificados: Opcionalmente, si necesita una cadena de certificados, por favor cárguela también.

Configuración del proveedor de identidades

    1. Metadatos abiertos: Abrir la sección de metadatos de esta configuración

    2. Configurar metadatos IDP: Vuelva a la pantalla de configuración de Okta y copie el archivo URL de metadatos
    3. Ábrelo: Pegar la url en una nueva ventana del navegador
    4. Copia el contenido: Seleccione todo el archivo y copie el contenido en el portapapeles
    5. Pegue el XML: Vuelva al servidor Couchbase y cambie los metadatos Load IDP de URL a Archivo y pegue el XML en el área de texto:

      Vale la pena señalar que tienes la opción de cargar directamente los metadatos del Proveedor de Identidad especificando su URL. Si eliges este enfoque, asegúrate de que los certificados de Autoridad de Certificación (CA) correspondientes se cargan también, de lo contrario el servidor Couchbase no podrá descargar los metadatos del IdP.
    6. Activar Verificar par remoto: Active la casilla Verificar par remoto para asegurarse de que está activada.

    7. Huellas dactilares de confianza: Asegúrese de activar todos los botones de validación de huellas dactilares:
    8. Huellas dactilares abiertas: Vuelva a la pantalla de Okta y abra la sección Huella digital del certificado.
    9. Copiar huella dactilar: Copie la huella SHA1 (formateada) en el portapapeles y péguela en el área de texto Trusted Fingerprints de Couchbase.


    10. Cambiar formato de ID de nombre: Okta utiliza por defecto Sin especificar. Necesitas asegurarte de que coinciden en Okta y Couchbase Server. Cambiaré Couchbase de persistente a sin especificar cambiando este campo por urn:oasis:names:tc:SAML:1.1:nameid-format:sin especificar para que coincida con el predeterminado de Okta. 
    11. Guardar configuración: Haga clic en Guardar para persistir la configuración hasta el momento.

Configuración de Okta como IdP continuación...

Ahora que tienes Couchbase, y tienes el endpoint ACS, necesitas volver a Okta para terminar la configuración.

Cambiar marcador de posición

Configuración SAML:

    • Ir a General: Vuelva a Okta y abra la pestaña General
    • Abrir la configuración SAML: Desplácese hasta Configuración SAML y pulse Editar enlace
    • Siguiente: Haga clic en Siguiente para ir a la pestaña Configuración SAML
    • URL de inicio de sesión único (URL ACS): Introduce la URL del servicio de consumo de aserciones (ACS) que configuraste en el servidor Couchbase. Tienes que copiar la "URL de consumo SP actual" de la interfaz de usuario del servidor Couchbase y pegar el valor en este campo.
    • URI de la audiencia (SP Entity ID): En este punto es necesario comprobar si el "SP Entity ID" en el servidor Couchbase es el mismo que el "Audience URI" en Okta.
    • Acabado: Pulse primero "Siguiente" y después "Finalizar" en la parte inferior de la pantalla para guardar los cambios.  

Asignar usuarios a la aplicación

    1. Ir a Asignaciones: Navegue hasta el Asignaciones en su aplicación.
    2. Asignar usuarios: Haga clic en Asignar y luego Asignar a personas para añadir usuarios que utilizarán esta configuración SAML SSO.
    3. Hecho: Confirme la asignación. 

Cargar certificado SP y habilitar cierre de sesión

    1. Configuración SAML abierta: Volver a la pantalla de configuración de SAML en la interfaz de usuario del servidor Couchbase. 
    2. Guardar certificado SP: Haga clic en el botón Descargar metadatos

    3. Abrir expediente: Abra el archivo de metadatos que acaba de descargar en un editor de texto
    4. Extraer certificado: Buscar en <KeyDescriptor> dentro de este archivo, dentro de que se encuentra el <X509Certificate> que contiene el certificado.
    5. Certificado de formato: Abrir https://www.samltool.com/format_x509cert.php o una herramienta similar para formatear este certificado e incluir cabeceras.

    6. Guardar certificado: Guarde el certificado formateado en un nuevo archivo utilizando un editor de texto de su elección. 
    7. Ir a Okta: Vuelve a tu consola Okta y abre la aplicación
    8. Ir a General: Vuelva a Okta y abra la pestaña General
    9. Abrir la configuración SAML: Desplácese hasta Configuración SAML y pulse Editar enlace
    10. Siguiente: Haga clic en Siguiente para ir a la pestaña Configuración SAML
    11. Mostrar Avanzado: Haga clic en Mostrar configuración avanzada

    12. Navegue hasta Certificado de firma: Desplácese hasta el campo Certificado de firma 
    13. Cargar certificado: Sube el certificado que guardaste en el paso 6
    14. Activar solicitudes firmadas: Debajo del campo Cargar certificado, encontrará la opción Habilitar solicitud firmada. Debe activar la casilla Validar solicitudes SAML con certificados de firma para que el iDP pueda validar las SAMLRequests recibidas de Couchbase.

    15. Activar el cierre de sesión único: También es posible habilitar el cierre de sesión único. En este caso, el servidor Couchbase cerrará la sesión del usuario en el iDP cuando el usuario haga clic en el botón de cierre de sesión en la interfaz de usuario del servidor Couchbase.
      • Primero tienes que ir al servidor Couchbase y copiar la URL de cierre de sesión

      • Péguelo en el campo Single Logout URL en Okta
      • Copie también el ID de la entidad en el campo Emisor del SP

      • Ten en cuenta que el cierre de sesión sólo funcionará si vuelves a Okta y copias la información de metadatos de nuevo y la actualizas en el servidor Couchbase, ya que los metadatos originales no tenían habilitado el cierre de sesión.
    16. Acabado: Pulse primero "Siguiente" y después "Finalizar" en la parte inferior de la pantalla para guardar los cambios. 

Siguiendo estos pasos, deberías haber configurado con éxito Okta como el Proveedor de Identidad (IdP) para tu Proveedor de Servicio (SP) SAML. La siguiente sección cubrirá cómo mapear atributos de usuario entre Okta y el servidor Couchbase.

 

Mapeo de usuarios Okta a usuarios Couchbase Server

Después de configurar con éxito Okta como tu proveedor de identidad (IdP) y el servidor Couchbase como el proveedor de servicios (SP), el siguiente paso es asegurarse de que los atributos de usuario están correctamente mapeados entre los dos. El mapeo de atributos es crucial para una experiencia de usuario fluida y para asegurar que la información necesaria del usuario esté disponible en tu aplicación.

Asignación de usuario a usuario

La forma más sencilla de mapear usuarios es crear usuarios externos en el servidor Couchbase que coincidan con los usuarios en Okta. En este ejemplo hice justamente eso. 

    1. Buscar correo electrónico en Okta: Vuelva a su panel de Okta y busque la dirección de correo electrónico de su usuario.
    2. Abrir la interfaz de usuario del servidor Couchbase: Abrir la interfaz de usuario del servidor Couchbase
    3. Haga clic en Seguridad: A la izquierda encontrará el enlace de seguridad
    4. Abrir la pestaña Usuarios: En la parte superior encontrará la pestaña Usuarios/Grupos, haga clic en ella para listar los usuarios en Couchbase Server:
    5. Añadir usuario: Haga clic en el botón Añadir usuario en la esquina superior derecha
    6. Usuario externo: Debes asegurarte de configurar tu usuario como "Externo".  consulte nuestra documentación.
    7. Rellena el nombre de usuario: Copie el nombre de usuario de Okta en este campo

    8. Establecer roles: En la parte derecha debe seleccionar las funciones exactas que debe tener su usuario
    9. Crear grupos: (Opcional) También puede añadir su usuario externo a cualquier grupo del servidor Couchbase que haya especificado anteriormente

Asignación de usuarios a grupos

Otra forma de mapear usuarios es crear grupos en el servidor Couchbase que coincidan con los grupos en Okta.

    1. Ir a Okta: Vuelva a su consola Okta y 
    2. Crear un grupo: Cree un grupo en Okta llamado prueba
    3. Abrir la aplicación: Seleccione la aplicación que ha configurado anteriormente.
    4. Ir a General: Vuelva a Okta y abra la pestaña General
    5. Abrir la configuración SAML: Desplácese hasta Configuración SAML y pulse Editar enlace
    6. Siguiente: Haga clic en Siguiente para ir a la pestaña Configuración SAML
    7. Crear un mapa de grupo: Desplácese hacia abajo hasta las aserciones de atributos de grupo y cree una nueva asignación. En este caso estoy creando una aserción llamada grupos
    8. Ir a la interfaz de usuario del servidor Couchbase: Vuelva a la interfaz de usuario del servidor Couchbase y abra la configuración de SAML.
    9. Abrir la configuración del inicio de sesión único: Desplácese hacia abajo y abra Configuración > Inicio de sesión único.
    10. Configurar la asignación de grupos: Introduzca el nombre de la solicitud de grupo que ha creado en Okta.

Necesitas asegurarte de que tienes un grupo de servidor Couchbase que coincida con el nombre de tu grupo Okta para que esto funcione. Una vez creados los grupos, podrás iniciar sesión con un usuario de Okta en Couchbase, donde los roles de Couchbase se deducirán de la asignación de grupos.

 

Conclusión

¡Enhorabuena! Si has seguido a lo largo de esta guía completa, ahora deberías tener una configuración completamente funcional de Single Sign-On (SSO) y Single Logout (SLO) basada en SAML entre Okta y el servidor Couchbase.

En resumen, la integración del servidor Couchbase con Okta a través de SAML no sólo agiliza el proceso de autenticación, sino que también mejora la seguridad, proporcionando una experiencia de usuario sin problemas y sin comprometer la integridad de los datos. Hemos recorrido los pasos esenciales para configurar esta conexión, y espero que encuentres esta guía útil. Si encuentra algún problema o tiene más preguntas, no dude en ponerse en contacto con nosotros a través de nuestros canales de asistencia.

 

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Istvan Orban

Istvan Orban es el Principal Product Manager de Couchbase y vive en el Reino Unido. Istvan tiene una amplia experiencia como ingeniero de software de pila completa, líder de equipo e ingeniero Devops. Su enfoque principal es la seguridad y Single Sign On. Istvan ha liderado varios proyectos a gran escala en sus 20 años de carrera profesional.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.