El inicio de sesión único (SSO) es un proceso de autenticación de usuarios que ahorra tiempo y es muy seguro. El SSO permite que los usuarios accedan a varias aplicaciones con una sola cuenta y cierren la sesión con un solo clic.
TalentLMS respalda el SSO. Para proporcionar servicios SSO para tu dominio, TalentLMS actúa como proveedor de servicio (SP) a través del estándar SAML (Lenguaje de Marcado para Confirmaciones de Seguridad).
Nota: El SSO está disponible con los planes de suscripción Basic, Plus y Premium. |
Necesitas un proveedor de identidades (IdP) de ADFS 2.0 para gestionar el proceso de inicio de sesión y proporcionar las credenciales de tus usuarios a TalentLMS.
La información que necesita TalentLMS es:
- Un identificador único para cada usuario.
- El nombre y apellido del usuario.
- El correo electrónico del usuario.
Cuando los usuarios se autentican a través de tu IdP, este gestiona los detalles de su cuenta. Cualquier cambio realizado en esos detalles se sincroniza con TalentLMS. TalentLMS no almacena ninguna contraseña.
Para configurar el SSO con un ADFS
Paso 1: Configurar ADFS 2.0
Paso 2: Añadir un usuario de la relación de confianza en ADFS 2.0
Paso 3: Definir las reglas de reclamación de ADFS 2.0
Paso 4: Configurar las políticas de autenticación
Paso 5: Habilitar el SSO de SAML en tu dominio de TalentLMS
Ahora sí, ¡empecemos!
Paso 1: Configurar tu IdP de ADFS 2.0
Nota: En la siguiente guía, utilizamos la URL "win-0sgkfmnb1t8.adatum.com" como el dominio de tu proveedor de identidades de ADFS 2.0. No olvides reemplazarlo por el dominio real de tu IdP de ADFS 2.0 en todos los pasos. |
1. Ve a Inicio > Herramientas administrativas > Gestión de ADFS 2.0. En la lista anidada de varios niveles, haz clic derecho en Servicio. Luego, haz clic en Editar Propiedades del Servicio de Federación.
2. Ve a la pestaña General. El identificador del Servicio de Federación (win-0sgkfmnb1t8.adatum.com/adfs/services/trust) es la URL del proveedor de identidades. Lo necesitarás más adelante en la página de configuración del inicio de Single Sign-On (SSO) de TalentLMS. Anótalo.
3. En la pestaña General, probar los demás valores para confirmar que coinciden con los ajustes de DNS de tu servidor y haz clic en OK.
4. En la lista anidada de varios niveles, haz clic en Certificados. En el panel de la derecha, ve a la sección firma de tokens y haz clic derecho en el certificado. Haz clic en Ver certificado.
5. Ve a la pestaña Detalles y haz clic en Copiar a archivo... para iniciar el Asistente de Exportación de Certificados.
6. En el Asistente de Exportación de Certificados, haz clic en Siguiente. Selecciona el formato X.509 (.cer) binario codificado en DER y vuelve a hacer clic en Siguiente. Elige una carpeta de destino en tu disco local para guarn certificado en formato PEM, por lo que debes convertir tu certificado de DER a PEM. Puedes utilizar cualquier herramienta disponible o una aplicación en línea como www.sslshopper.com/ssl-converter.html.
Nota: TalentLMS funciona con certificados RSA. Los certificados DSA no son compatibles. |
Paso 2: Añadir un usuario de la relación de confianza en ADFS 2.0
En primer lugar, debes definir los puntos finales de TalentLMS en tu IdP de ADFS 2.0. Puedes hacerlo manualmente o importar el XML de metadatos proporcionado por TalentLMS. Sugerimos importar el XML de metadatos porque no supone ningún problema.
Puedes encontrar el archivo XML en la siguiente URL (simplemente reemplaza"company.talentlms.com" por tu dominio de TalentLMS):
company.talentlms.com/simplesaml/module.php/saml/sp/metadata.php/company.talentlms.com
¿No puedes acceder a la URL para descargar el archivo XML de metadatos? Copia el contenido del archivo XML de metadatos del bloque de código siguiente y reemplaza "empresa.talentlms.com" por el nombre de tu dominio de TalentLMS.
<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="company.talentlms.com">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol">
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://company.talentlms.com/simplesaml/module.php/saml/sp/saml2-logout.php/company.talentlms.com"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://company.talentlms.com/simplesaml/module.php/saml/sp/saml2-logout.php/company.talentlms.com"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://company.talentlms.com/simplesaml/module.php/saml/sp/saml2-acs.php/company.talentlms.com" index="0"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://company.talentlms.com/simplesaml/module.php/saml/sp/saml1-acs.php/company.talentlms.com" index="1"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://company.talentlms.com/simplesaml/module.php/saml/sp/saml2-acs.php/company.talentlms.com" index="2"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://company.talentlms.com/simplesaml/module.php/saml/sp/saml1-acs.php/company.talentlms.com/artifact" index="3"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
Ahora, vamos a añadir un usuario de la relación de confianza:
1. En la lista anidada de varios niveles, en Relaciones de confianza, haz clic derecho en Usuarios de la relación de confianza y haz clic en Añadir usuario de la relación de confianza... para iniciar el asistente.
2. Haz clic en Empezar. Haz clic en Importar datos acerca del usuario de la relación de confianza desde un archivo. Haz clic en Navegar y obtén el archivo XML de metadatos de TalentLMS de tu disco local.
3. Haz clic en Siguiente. Haz caso omiso al mensaje que aparece y escribe un nombre para mostrar distintivo (p.ej., Talentlms). Ese es el nombre de tu usuario de la relación de confianza. Vuelve a hacer clic en Siguiente.
4. Selecciona Permitir que todos los usuarios accedan al usuario de la relación de confianza y haz clic en Siguiente para completar el proceso.
5. En la columna mostrar nombre, haz clic derecho en el usuario de la relación de confianza que acabas de crear (p.e.j., TalentLms) y haz clic en Propiedades.
6. Ve a la pestaña Avanzado, selecciona SHA-1 en la lista desplegable Algoritmo de hash seguro y haz clic en OK.
Paso 3: Definir las reglas de reclamación de ADFS 2.0
A continuación, define las reglas de reclamación para establecer una comunicación adecuada entre tu IdP de ADFS 2.0 y TalentLMS.
1. En el panel de usuarios de la relación de confianza, bajo la columna mostrar nombre, haz clic derecho en el usuario de la relación de confianza que acabas de crear (p.ej., TalentLms) y haz clic en Editar reglas de reclamación...
2. Ve a la pestaña Reglas de transformación de emisión y haz clic en Añadir reglas para iniciar el asistente Añadir regla de reclamación de transformación.
3. En el panel Elegir tipo de regla, elige Enviar atributo LDAP como reclamaciones y haz clic en Siguiente.
4. En el panel Configurar regla de reclamación, escribe el nombre de la regla de reclamación (p.ej., Obtener atributos LDAP) en el campo correspondiente.
5. En la lista desplegable Tienda de atributos, elige Active Directory. En la sección Mapeo de atributos LDAP a los tipos de reclamación salientes, elige los siguientes valores de las listas desplegables correspondientes:
- Atributo LDAP: E-Mail-Addresses, Tipo de reclamación saliente: E-Mail-Address
- Atributo LDAP: Given-Name, Tipo de reclamación saliente: Given-Name
- Atributo LDAP: Surname, Tipo de reclamación saliente: Surname
- Atributo LDAP: User-Principal-Name, Tipo de reclamación saliente: UPN
Haz clic en Finalizar.
6. Añade una segunda regla siguiendo los mismos pasos. Cuando llegues al paso 3.3, elige Transformar una reclamación entrante y haz clic en Siguiente.
7. Escribe el Nombre de la regla de reclamación en el campo correspondiente (p.ej., Enviar correo electrónico a ID de nombre) y establece:
- El tipo de reclamación entrante como Dirección de correo electrónico (igual que en la regla anterior).
- El tipo de reclamación saliente como ID de nombre.
- El formato de ID de nombre saliente como Correo electrónico.
Haz clic en Finalizar.
Paso 4: Configurar las políticas de autenticación de ADFS 2.0
Para asegurarte de que funcione correctamente el cierre de sesión único (SLO), especialmente cuando varios usuarios inician sesión en la misma computadora o dispositivo, debes configurar los ajustes de autenticación para el usuario de la relación de confianza que acabas de crear:
1. En la lista anidada de varios niveles en Políticas de autenticación, haz clic en Por usuario de la relación de confianza.
2. Haz clic derecho en el usuario de la relación de confianza que acabas de crear (p.ej., Talentlms) y haz clic en Editar autenticación primaria personalizada.
3. Ve a la pestaña Principal, marca la opción Los usuarios deben proporcionar sus credenciales cada vez que inicien sesión y haz clic en OK.
Paso 5: Habilitar el SSO de SAML 2.0 para tu dominio de TalentLMS
1. Inicia sesión en tu cuenta de TalentLMS como Administrador, ve a Inicio > Cuenta y ajustes > Usuarios y haz clic en Inicio de sesión único (SSO).
Los detalles de tu IdP de ADFS 2.0 requeridos para los siguientes pasos se pueden recuperar desde el archivo XML de metadatos del IdP. Puedes obtener el archivo desde la siguiente URL (simplemente reemplaza "win-0sgkfmnb1t8.adatum.com" por el dominio de tu proveedor de identidades de ADFS 2.0):
win-0sgkfmnb1t8.adatum.com/FederationMetadata/2007-06/FederationMetadata.xml
2. Tipo de integración SSO: En la lista desplegable, selecciona SAML2.0.
3. Proveedor de identidades (IdP): Escribe la URL de tu proveedor de identidades de ADFS 2.0 (es decir, el identificador del servicio de federación que has anotado en el paso 1.2):
win-0sgkfmnb1t8.adatum.com/adfs/services/trust.
4. Certificado de huella digital: Ubica tu certificado PEM (consulta el paso 1) en tu disco local, ábrelo en un editor de texto y copia el contenido del archivo. Haz clic en Ο pega tu certificado SAML (formato PEM) para abrir el área de texto del certificado SAML. Ahora pega el certificado PEM en el área de texto. Haz clic en Guardar y comprobar tu configuración para que se calcule la huella digital SHA-1 del certificado.
Nota: TalentLMS funciona con certificados RSA. Los certificados DSA no son compatibles. |
5. URL de entrada remota: La URL del servidor de tu IdP a la que TalentLMS redirecciona a los usuarios para que inicien sesión. Escribe:
win-0sgkfmnb1t8.adatum.com/adfs/ls.
6. URL de salida remota: La URL en el servidor de tu IdP a la que TalentLMS redirecciona a los usuarios para que cierren la sesión. Tipo:
win-0sgkfmnb1t8.adatum.com/adfs/ls/?wa=wsignout1.0.
Los campos restantes se utilizan para nombrar las variables SAML que contienen los datos del usuario requeridos por TalentLMS y proporcionados por tu IdP.
Nota: Evita el uso de guiones bajos ( _ ) en los nombres de las variables (p.ej., givenname en lugar de given_name). |
7. TargetedID: El nombre de usuario de cada cuenta de usuario que actúa como identificador único del usuario (es decir, el atributo LDAP User-Principal-Name tal y como se define en las reglas de reclamación del paso 3.5). Escribe:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
8. Nombre: El nombre del usuario (es decir, el atributo LDAP Given-Name definido en las reglas de reclamación del paso 3.5). 9. Escribe:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
9. Apellido: El apellido del usuario (es decir, el atributo LDAP Surname tal y como se define en las reglas de reclamación del paso 3.5). Escribe:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
10. Correo electrónico: La dirección de correo electrónico del usuario (es decir, el atributo LDAP E-Mail-Addresses tal y como se define en las reglas de reclamación del paso 3.5). Escribe:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Nota: Asegúrate de que todos los usuarios tengan direcciones de correo electrónico válidas. El atributo de correo electrónico es fundamental para establecer la comunicación entre tu IdP de ADFS 2.0 y TalentLMS. |
11. Grupo: Los nombres de los grupos a los que pertenece el usuario. A esta variable (es decir, http://schemas.xmlsoap.org/claims/Group) se le puede asignar un único valor de cadena o una matriz de valores de cadena para más de un nombre de grupo. Cuando hay un grupo con el mismo nombre en tu dominio de TalentLMS, el usuario se añade automáticamente a ese grupo en su primer inicio de sesión. El usuario también se matricula en todos los cursos asignados a ese grupo.
Nota: Para forzar el registro de grupos en cada inicio de sesión, marca la casilla Añadir grupos asignados con cada login. Los usuarios se asignan automáticamente a los nuevos grupos enviados por tu IdP en cada inicio de sesión, pero no se eliminan de los grupos no incluidos en esa lista |
12. Campos personalizados: Puedes seleccionar los campos personalizados de TalentLMS y hacer que se muestren con la información derivada desde tu IdP (Proveedor de identidades). Para más información échale un vistazo a este artículo.
13. Haz clic en Guardar y comprobar tu configuración. Si todo está correcto, recibirás un mensaje de conclusión exitosa que contiene todos los valores extraídos de tu IdP.
Coincidencia de cuentas de usuario
En el momento de escribir este artículo, TalentLMS proporciona un mecanismo pasivo para la coincidencia de cuentas de usuario. Esto significa que las cuentas de usuario de TalentLMS existentes se comparan con las cuentas de usuario de SSO en función de su nombre de usuario.
La coincidencia de cuentas de usuario se puede lograr sólo cuando el nombre de usuario proporcionado por tu IdP es exactamente el mismo que el nombre de usuario de la cuenta de TalentLMS existente. En ese caso, la cuenta de TalentLMS del usuario sigue siendo la misma durante el proceso de SSO. Sin embargo, los valores del nombre, el apellido y el correo electrónico del usuario se extraen de tu IdP y reemplazan a los existentes.
Cuando el nombre de usuario proporcionado por tu IdP para un usuario de TalentLMS existente es diferente de su nombre de usuario de TalentLMS, se crea una nueva cuenta para el nombre de usuario proporcionado por el IdP. En ese caso, se atribuyen dos cuentas diferentes a la misma persona.
Para asegurarte de que funcione correctamente la coincidencia de cuentas de usuario, configura tu IdP para enviar los mismos nombres de usuario para todas las cuentas de usuario de TalentLMS existentes. El nombre de la variable SAML que contiene el nombre de usuario es el que se escribe en el campo TargetedID de la página de configuración Single Sign-On (SSO) de TalentLMS (consulta el paso 5.7).
Perfil de usuario
Tus usuarios pueden cambiar la información de su perfil en TalentLMS, pero no se recomienda hacerlo. Cambiar el nombre, el apellido y el correo electrónico sólo afecta a su sesión actual. La próxima vez que el usuario inicie sesión, esos valores se extraerán de tu servidor IdP y reemplazarán a los que se han modificado. Si se cambia el nombre de usuario, se produce una falta de coincidencia entre los usuarios, ya que los usuarios de TalentLMS coinciden con los de tu IdP en función del valor del nombre de usuario.
Sugerimos que notifiques a tus usuarios cómo afecta el proceso de SSO a tu dominio de TalentLMS y les aconsejes que eviten cambiar su nombre, apellido, correo electrónico y, sobre todo, su nombre de usuario en su perfil de TalentLMS.
Cuando tus usuarios se autentican sólo a través de SSO, se considera una buena práctica desactivar las actualizaciones del perfil para aquellos usuarios. Para ello:
1. Inicia sesión en tu cuenta de TalentLMS como Administrador y ve a Tipos de usuario > Learner-Type > General > Perfil.
2. Si están marcados, desmarca los permisos de Actualización y Cambio de contraseña (1).
Nota: Para obtener más información sobre los tipos de usuarios de TalentLMS, consulta este artículo. |
¡Lo lograste!
Tu dominio de TalentLMS está configurado para proporcionar servicios SSO. Tus usuarios pueden iniciar sesión en tu dominio de TalentLMS con el nombre de usuario y la contraseña que almacena tu proveedor de identidades de ADFS 2.0.