Para autenticar a los usuarios del SSO, Dashlane necesita el servicio del Conector del SSO. El Conector del SSO debe alojarse en un entorno controlado por su organización.
La mayoría de los clientes de Dashlane deciden implementar uno de los conectores del SSO preconfigurados en Azure o en AWS.
En este artículo, se explica cómo configurar el conector del SSO en un equipo con Linux.
Contenido
Requisitos del Conector del SSO
Linux/Docker
Necesitará una máquina (virtual) que ejecute una distribución Linux que admita Docker.
Conexión de red
El Conector del SSO aprovecha el TCP/443 para comunicarse con los servidores de Dashlane (*.dashlane.com) y con los clientes de usuarios finales. Para los clientes de usuarios finales, el Conector del SSO debe comunicarse a través de una URL de HTTPS (como https://ssoconnector.mycompany.com). Si se usa un proxy o un equilibrador de carga, la instancia del Docker que ejecuta el Conector del SSO puede usar un puerto que no sea el 443. Por ejemplo, si se usa un equilibrador de carga para ejecutar múltiples instancias del Conector del SSO, el equilibrador de carga debe anunciarse en el puerto 443, mientras que el Conector del SSO puede anunciarse en cualquier puerto (el predeterminado es 3000). Si se tiene acceso directo al Conector del SSO, necesitará el certificado SSL correspondiente para el dominio.
Archivo de configuración
El archivo de configuración descargado de la Consola de administración de Dashlane se usa para configurar el Conector del SSO. Debe agregar ciertos datos en la Consola de administración para que el archivo de configuración pueda generarse y, después, descargarse. Esto incluye lo siguiente:
- Los metadatos de SAML del proveedor de identidad.
- El punto de conexión del Conector del SSO, que es el punto de conexión desde el que puede accederse al Conector del SSO (por ejemplo, https://ssoconnector.mycompany.com).
- La clave del Conector del SSO generada desde la Consola de administración de Dashlane, que es la clave única que permite que Dashlane tenga una arquitectura de conocimiento cero. Nota: Si esta clave se pierde, se perderán todos los datos del usuario. Asegúrese de guardar la clave en un lugar seguro, que no olvide.
Implementación del Conector del SSO en una máquina virtual
Los pasos de alto nivel para implementar el Conector del SSO incluyen lo siguiente:
- Implementar una VM con una distribución Linux que admita Docker. Instalar Docker, según se explica en las guías de instalación de Docker. En nuestro ejemplo, implementamos una VM de Ubuntu Linux.
- Agregar un registro A a su DNS para el conector del SSO (por ejemplo, ssoconnector.mycompany.com).
- Transferir el archivo de configuración del SSO (y hacer las modificaciones necesarias para la configuración del SSL).
- Ejecutar un comando de Docker para crear una instancia del servicio.
Configure una máquina Ubuntu Linux e instale Docker
- SSH en su máquina Linux. Esto exigirá que la máquina y la configuración de red abra el tráfico entrante al puerto 22.
- Como administrador de la máquina, instale Docker. Para los entornos de producción que usan Ubuntu, puede seguir el método de instalación que emplea el repositorio, tal como se muestra aquí. Puede utilizar un usuario (o una cuenta de servicio) de Linux para ejecutar Docker.
- Configure su DNS y las capas de red para redirigir el tráfico de manera adecuada desde el punto de conexión de su Conector del SSO (https://ssoconnector.mycompany.com) hasta la VM.
Configure el Conector del SSO (con un proxy o equilibrador de carga presente)
Para esta configuración, se supone que otro servicio, como un equilibrador de cargas, gestionará la encriptación de SSL. Si no hay proxy ni equilibrador de carga, consulte la próxima sección.
- Transfiera el archivo de configuración del Conector del SSO a su máquina Linux.
- Modifique el siguiente comando como corresponda y ejecútelo para iniciar el servicio del Conector del SSO.
- Actualice <PORT USED BY PROXY> con el número de puerto que el Proxy está escuchando.
- Actualice <PATH TO CONFIG FILE> con la ruta de acceso local al archivo de configuración del Conector del SSO que transfirió.
docker run -p <PORT USED BY PROXY>:3000 --name dashlane-sso-connector --env-file=<PATH TO CONFIG FILE> --restart=always --privileged=false dashlane/sso-connector:latest
Por ejemplo:
docker run -p 8080:3000 --name dashlane-sso-connector --env-file=/home/usr/dashlane-sso-config.env --restart=always --privileged=false dashlane/sso-connector:latest
Opción Descripción Enlace a la documentación de Docker -p Se usa para vincular puertos que escuchará el servicio del Conector del SSO. 3000 es el puerto predeterminado y puede cambiarse a cualquier valor. Enlace de referencia --name Nombre dado al contenedor Enlace de referencia --env-file La ruta de acceso local al archivo de configuración del Conector del SSO que tiene todas las variables de entorno necesarias. Enlace de referencia --restart=always El contenedor del docker se reiniciará si el equipo se reinicia accidentalmente. Enlace de referencia --privileged=false Garantiza que el acceso privilegiado a la máquina no se use, ya que no es necesario ejecutar el Conector del SSO. Enlace de referencia dashlane/sso-connector:latest La imagen que se descarga del repositorio oficial de Docker que tiene el paquete más reciente del Conector del SSO. Enlace de referencia
- Si al ejecutar el comando, se logra que el Conector del SSO se ejecute correctamente, pase a la sección "Configuración correcta del Conector del SSO" que aparece más abajo. De lo contrario, diríjase a la siguiente sección "Resolución de problemas del Conector del SSO". Un resultado exitoso se verá así:
Configure el Conector del SSO (sin un proxy o equilibrador de cargas presente)
Si el Conector del SSO también administrará el certificado SSL (cuando no se está usando un proxy o el equilibrador de carga), haga lo siguiente:
- Transfiera el archivo de configuración del Conector del SSO a su máquina Linux.
- Copie el certificado SSL y su clave privada correspondiente a la máquina Linux.
- Edite el archivo de configuración del Conector del SSO y agregue las siguientes dos variables de entorno al final de la fila.
DASHLANE_SSO_SSL_CERTIFICATE=/certificate.crt
DASHLANE_SSO_SSL_PRIVATE_KEY=/private.keyEl archivo se ve similar a esto:
- Modifique el comando siguiente de manera correcta y ejecútelo para iniciar el servicio del Conector del SSO:
- Actualice <PATH TO CONFIG FILE> con la ruta de acceso local al archivo de configuración del Conector del SSO que transfirió.
- Actualice <PATH TO SSL CERTIFICATE> con la ruta de acceso local al certificado SSL.
- Actualice <PATH TO SSL CERTIFICATE> con la ruta de acceso local a la clave privada del certificado SSL.
docker run -p 443:3000 --name dashlane-sso-connector --env-file=<PATH TO CONFIG FILE> -v <PATH TO SSL CERTIFICATE>:/certificate.crt -v
<PATH TO SSL CERTIFICATE PRIVATE KEY>:/private.key --restart=always --privileged=false dashlane/sso-connector:latestPor ejemplo:
docker run -p 443:3000 --name dashlane-sso-connector --env-file=/home/usr/dashlane-sso-config.env -v /home/usr/certificate.crt:/certificate.crt -v /home/usr/private.key:/private.key --restart=always --privileged=false dashlane/sso-connector:latest
Opción Descripción Enlace a la documentación de Docker -p Se usa para vincular puertos que escuchará el servicio del Conector del SSO. 3000 es el puerto predeterminado y puede cambiarse a cualquier valor. 443 se usa para HTTPS. Enlace de referencia --name Nombre dado al contenedor Enlace de referencia --env-file La ruta de acceso local al archivo de configuración del Conector del SSO que tiene todas las variables de entorno necesarias. Enlace de referencia -v Monta un volumen de solo lectura para el contenedor, a fin de que el Conector del SSO pueda acceder a los archivos. Enlace de referencia --restart=always El contenedor del docker se reiniciará si el equipo se reinicia accidentalmente. Enlace de referencia --privileged=false Garantiza que el acceso privilegiado a la máquina no se use, ya que no es necesario ejecutar el Conector del SSO. Enlace de referencia dashlane/sso-connector:latest La imagen que se descarga del repositorio oficial de Docker que tiene el paquete más reciente del Conector del SSO. Enlace de referencia - Si, al ejecutar el comando, el Conector del SSO se ejecuta correctamente, vaya a la sección "Configuración correcta del Conector del SSO " que aparece más abajo. De lo contrario, diríjase a la siguiente sección "Resolución de problemas del Conector del SSO". Un resultado exitoso se verá así:
Si, en el futuro, debe actualizar el certificado SSL, siga los pasos que se explican más abajo para mantener y actualizar el conector del SSO. Asegúrese de usar el nuevo certificado SSL y la clave privada cuando vuelva a ejecutar la instrucción de configuración.
Configuración correcta del Conector del SSO
Descarga de los metadatos de SAML del Conector del SSO
Una vez que el Conector del SSO se ejecute correctamente, podrá descargar los metadatos de SAML del Conector del SSO. El enlace debe mostrarse en la salida y tendrá el siguiente formato:
https://{SSO connector endpoint}/saml/.
Necesitará esto para configurar su proveedor de identidad. Si va a la URL de los metadatos, se descargará el archivo de metadatos.
Ahora puede consultar el resto de la guía de configuración para su proveedor de identidad.
Opción avanzada: Ejecutar múltiples instancias para la alta disponibilidad y escalabilidad
La arquitectura del Conector del SSO no tiene estado. Pueden iniciarse múltiples instancias para que el servicio esté disponible y, si es necesario, para aumentar su capacidad.
Para ejecutar más instancias del Conector del SSO, debe implementar la imagen de Docker en otra máquina y garantizar que la clave del Conector del SSO dentro del archivo de configuración sea la misma en todas las instancias.
La clave del Conector del SSO debería haberse guardado de manera segura después de que se generó por primera vez cuando se implementó la primera instancia del Conector del SSO. Si la clave no se guardó, es posible que pueda encontrarla en el archivo de configuración descargado durante la configuración de la primera instancia. Si el archivo de configuración inicial tampoco está disponible, no se podrán crear más instancias del Conector del SSO.
Mantener y actualizar el Conector del SSO
Continuaremos actualizando el Conector del SSO. Para asegurarse de recibir las últimas actualizaciones, deberá tomar la última imagen del Docker Hub, detener la instancia de ejecución, eliminarla y ejecutar la instancia nuevamente. Recomendamos hacer esto una vez por mes.
Para actualizar la imagen de Docker, ejecute el comando siguiente:
docker pull dashlane/sso-connector
Ejecute el siguiente comando para detener el contenedor:
docker stop $(docker ps -a --filter "name=dashlane-sso-connector")
Ejecute lo siguiente para eliminar el contenedor existente:
docker rm $(docker ps -a --filter "name=dashlane-sso-connector")
Vuelva a ejecutar el contenedor para la configuración que tiene siguiendo los pasos de configuración y, así, ahora usará la última imagen.
- Configurar el conector del SSO con un equilibrador de carga o proxy
- Configurar el conector del SSO sin un equilibrador de carga o proxy
Resolución de problemas del Conector del SSO
Permiso denegado
Se negó el permiso al intentar conectarse al socket daemon de Docker en unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: conectar: permiso denegado
Debe subir a administrador para ejecutar el comando de docker. Agregue sudo antes del comando.
sudo docker <resto del comando>
Contenedor en uso
docker: Respuesta de error de daemon: Conflicto. El contenedor "container_id" ya está usando el nombre del contenedor "/dashlane-sso-connector". Debe eliminar el contenedor (o cambiarle el nombre) para poder volver a usar ese nombre.
Primero debe detener el contenedor y, luego, eliminarlo. Puede usar el siguiente comando para detener el contenedor:
docker stop $(docker ps -a --filter "name=dashlane-sso-connector")
Ejecute lo siguiente para eliminar el contenedor existente:
docker rm $(docker ps -a --filter "name=dashlane-sso-connector")
Códigos de error
Error | Solución |
INVALID_KEY_UUID | Una vez que ejecute el Conector del SSO correctamente, registramos el ID de la clave del Conector del SSO. Este error aparece cuando usted intenta crear una instancia del Conector del SSO otra vez, pero con una clave del Conector del SSO que no coincide con el ID registrado. Asegúrese de usar la misma clave que antes. |