Shibboleth es un producto gratuito y de código abierto que ofrece una solución de identidad federada para conectar a los usuarios con aplicaciones, tanto dentro como fuera de las instituciones. El marco flexible de proveedor de módulos SSO de Lumina está diseñado para admitir una amplia variedad de soluciones de identidad, lo que permite la integración completa de Shibboleth en su infraestructura en unos pocos pasos sencillos.
Descripción general
Este documento tiene como objetivo guiar a los usuarios sobre cómo integrar el servidor IDP de Shibboleth de su institución como un sistema SSO para que los usuarios inicien sesión en Lumina mediante el protocolo SAML 2.0. Una vez configurado correctamente, los usuarios podrán realizar un inicio de sesión iniciado por el proveedor de servicios (SP), ser redirigidos al proveedor de identidad (IDP) y que se les soliciten sus credenciales, autenticarse correctamente y luego ser redirigidos de vuelta a Lumina, donde iniciarán sesión como usuarios.
Configuración de Shibboleth
La configuración consiste en crear los metadatos del SP para Lumina y agregarlos como proveedor de metadatos del SP para el IDP de Shibboleth. Luego, configurar Lumina para que se comunique con el IDP le permitirá probar y activar el nuevo sistema SSO.
Para obtener instrucciones sobre cómo crear los metadatos del SP, haga clic aquí.
Nota: En algunos pasos, <organization> debe reemplazarse por el DNS comodín de la organización asociada con Lumina. Por ejemplo, para “https://hudson.yuja.com”, <organization> se reemplazaría por “hudson”.
Creación de los metadatos del SP
- Vaya a https://www.samltool.com/sp_metadata.php.
-
Ingrese los siguientes parámetros:
Parámetro Valor EntityId https://<organization>.yuja.com Attribute Consume Service Endpoint
(HTTP-POST)
https://<organization>.yuja.com/D/SamlReceiveResponse NameId Format urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress AuthnRequestsSigned False WantAssertionsSigned True - Deje el resto de los campos vacíos y luego haga clic en BUILD SP METADATA.
- Copie el texto del campo de texto SP Metadata.
- Abra cualquier editor de texto. Pegue el texto copiado y guárdelo como un archivo .xml. Guarde el archivo .xml en una ubicación conveniente, ya que lo necesitará en el siguiente paso.
Configuración del IDP de Shibboleth
- En el directorio de su IDP de Shibboleth, abra %IDP_HOME%/conf/metadata-providers.xml en cualquier editor de texto.
- Dentro del elemento <MetadataProvider> con xsi:type=”ChainingMetadataProvider”, agregue el siguiente elemento, donde <someId> se reemplaza por cualquier cadena de identificador apropiada: <MetadataProvider id="<someId>" xsi:type="FilesystemMetadataProvider" metadataFile="C:\path\to\YuJa\metadata" />
- Asegúrese de que el IDP libere los siguientes atributos a Lumina en la respuesta SAML:
- Nombre principal (es decir, nombre de usuario)
- Nombre
- Apellido
- Correo electrónico
-
Rol
Nota: Lumina necesita los nombres de atributo usados en la respuesta SAML para aprovisionar y crear usuarios. Proporcione estos valores a Lumina después de la configuración.
La declaración de rol se usa para determinar si los usuarios se aprovisionan como estudiantes (el valor predeterminado) o si se les otorgan privilegios ampliados (instructor/administrador de TI). Los valores sugeridos para este campo son IT Manager e Instructor (para los usuarios a quienes desee otorgar privilegios de administrador de TI o de instructor, respectivamente), pero puede usar valores existentes o personalizados.
- Lumina no cifra las solicitudes de autenticación ni reconoce las respuestas cifradas. Por lo tanto, el IDP debe configurarse para que el cifrado sea opcional:
- Abra %IDP_HOME%/conf/idp.properties en cualquier editor de texto.
- Si es necesario, agregue la siguiente línea al archivo de propiedades: idp.encryption.optional = true
- Abra el archivo de metadatos del IDP, ubicado en %IDP_HOME%/metadata/idp-metadata.xml. Lo necesitará para configurar el lado de Lumina.
Configuración de SAML en Lumina
Una vez configurado el IDP, se debe configurar el SP para que se comunique con el IDP. Algunos de los parámetros de configuración se encuentran en los metadatos del IDP. Siga los pasos a continuación para integrar Shibboleth con Lumina.
- Inicie sesión en Lumina como administrador de TI y vaya a Panel de Administrador → Integraciones.
- En Seleccione la integración, elija SSO – Shibboleth (SAML).
-
Ingrese la siguiente información. Al crear por primera vez el sistema SSO, puede dejar en blanco los campos de aprovisionamiento de usuarios para usar primero la opción Probar inicio de sesión SAML y obtener los valores. Siempre puede ingresar los valores más adelante y guardar su configuración.
Atributo ¿Obligatorio? Descripción URL de SSO de Shibboleth Sí La URL que se usa para SSO. Es donde Lumina enviará los tokens AuthnRequest.
Se encuentra en los metadatos del IDP de Shibboleth en:
<IDPSSODescriptor> → <SingleSignOnService>
Busque la que tenga el enlace “SAML:2.0:bindings:HTTP-Redirect” y use el atributo “Location” de esa etiqueta.
Por ejemplo: https://idp.example.com/idp/profile/SAML2/Redirect/SSO
Formato de ID de nombre Sí El formato que usarán el SP y el IDP al comunicarse sobre un sujeto.
Se encuentra en los metadatos del IDP de Shibboleth en:
<IDPSSODescriptor> → <NameIDFormat> como el valor de esa etiqueta. Tenga en cuenta que, si está disponible, se debe priorizar y usar emailAddress.
Por ejemplo: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
URL de cierre de sesión remoto Actualmente no se admite Deje este valor en blanco. Huella digital del certificado de firma de Shibboleth No, pero se recomienda
encarecidamente
La huella digital única del certificado del IDP que se usa al firmar las respuestas SAML.
La huella digital no se encuentra de forma explícita en los metadatos, pero sí el certificado utilizado para firmar la SAMLResponse o la Assertion.
Consulte la sección titulada Cómo obtener la huella digital de un certificado de este documento para obtener más detalles.
Por ejemplo: 7j2mka9cfe2d09j23eefe01442f6a49d1222391f
Atributo de nombre No El nombre del atributo de la respuesta SAML** que describe el nombre de pila del usuario (es decir, el primer nombre).
Por ejemplo: urn:oid:2.5.4.42
Atributo de apellido No El nombre del atributo de la respuesta SAML** que describe el apellido del usuario. - Por ejemplo: urn:oid:2.5.4.4 Atributo de correo electrónico No El nombre del atributo de la respuesta SAML** que describe la dirección de correo electrónico del usuario.
Por ejemplo: urn:oid:0.9.2342.19200300.100.1.3
Atributo de rol No El nombre del atributo de la respuesta SAML** que describe el rol del usuario.
Por ejemplo: urn:oid:1.3.6.1.4.1.5923.1.1.1.5
Administrador de TI No Se puede usar una lista de valores separados por comas
Si el valor recibido en el atributo de rol coincide con alguno de estos valores, el usuario se aprovisionará como administrador de TI.
Por ejemplo: IT Manager
Instructor No Se puede usar una lista de valores separados por comas
Si el valor recibido en el atributo de rol coincide con alguno de estos valores, el usuario se aprovisionará como instructor.
Por ejemplo: Instructor o Instructor,Teacher,TA
Sincronizar datos automáticamente al iniciar sesión el usuario No Si está habilitado, cada vez que un usuario inicie sesión mediante Shibboleth, su información básica se actualizará según los datos recibidos en el token de respuesta SAML. Nota: Para obtener un ejemplo de respuesta SAML, siga primero las instrucciones de Complemento útil de Chrome para depurar tokens SAML en la sección Herramientas adicionales de este documento. Después de instalar el complemento, realice una prueba de inicio de sesión SAML como se describe en el paso 7 de esta sección, asegurándose de que el complemento esté abierto antes de iniciar sesión para que pueda leer el token de respuesta SAML.
- Haga clic en Crear.
- Haga clic en OK en la ventana emergente de confirmación.
- Si es necesario, puede actualizar los ajustes de configuración si cometió un error. Simplemente haga clic en Guardar para conservar los cambios.
- Para comprobar si la configuración es correcta, haga clic en Probar inicio de sesión SAML en la esquina superior derecha. Esto debería abrir una pestaña nueva y dirigirse a su servidor Shibboleth, donde se le solicitará iniciar sesión.
- Ingrese credenciales de inicio de sesión válidas e inicie sesión.
- Debería ser redirigido de vuelta a Lumina, con la sesión iniciada como un usuario nuevo. Cierre la sesión de la cuenta de usuario nueva y vuelva a iniciar sesión como administrador de TI; luego regrese a Panel de Administrador→ Integraciones → SSO – Shibboleth (SAML).
- Una vez que haya verificado que el SSO de Shibboleth funciona, puede optar por activar el nuevo esquema de autenticación para su institución. Active el nuevo esquema de autenticación solo después de realizar correctamente un inicio de sesión de prueba y cuando esté listo para ponerlo a disposición de todos los usuarios de su institución. Para ello, haga clic en Activar y luego en OK en el cuadro de diálogo de confirmación.
Integración dual con LTI
Si su organización ha habilitado tanto LTI como el acceso SSO de SAML, puede optar por vincular las dos integraciones. De forma predeterminada, un usuario que inicia sesión mediante LTI y SAML recibe una cuenta de Lumina independiente por cada inicio de sesión. Si su proveedor de LTI está configurado para autenticar a los usuarios con sus credenciales SAML, es posible vincular las dos cuentas, ya que el proveedor de LTI proporcionará a Lumina un identificador único del usuario en el sistema SAML.
- Configure su LMS para que pase un parámetro LTI personalizado llamado lis_person_sourcedid, que contiene el valor de SSO de coincidencia cruzada. Puede ser un correo electrónico, un ID de empleado u otro campo. Lumina usará esta función para vincular las dos técnicas de inicio de sesión a la misma cuenta.
- Obtenga el nombre de atributo específico utilizado en el token de respuesta SAML cuyo valor corresponde al identificador único que usa el proveedor de LTI. Por ejemplo, si el identificador único es el sAMAccountName del usuario, el atributo de enlace podría ser 'urn:oid:1.2.840.113556.1.4.221'. Consulte la configuración de atributos de su IDP para ver una lista de los valores posibles.
- Ingrese este valor en Atributo de enlace
- Haga clic en Guardar.
- Ahora, cuando inicie sesión por primera vez mediante Shibboleth (SAML), el sistema de Lumina buscará un vínculo con una cuenta LTI usando el valor del atributo de enlace. Si lo encuentra, la cuenta vinculada a Shibboleth se vinculará con la cuenta existente vinculada a LTI. De lo contrario, se aprovisionará una cuenta nueva de la forma habitual. Todos los inicios de sesión posteriores al primero seguirán vinculándose con la cuenta de Lumina creada o encontrada en el primer inicio de sesión.
Uso
Una vez que ambos lados se hayan configurado y el SSO de SAML se haya activado, es fácil probar y comprobar que todo se hizo correctamente.
- Vaya al dominio de Lumina de la organización (https://<organization>.yuja.com) y presione Iniciar sesión. Esto debería redirigir al usuario a la página de inicio de sesión del servidor IDP de Shibboleth.
- Ingrese credenciales válidas e inicie sesión.
- Una vez autenticado, el usuario debería ser redirigido de vuelta a Lumina.
Herramientas adicionales
Cómo obtener la huella digital de un certificado
La huella digital del certificado del IDP se usa con fines de seguridad adicionales cuando el SP verifica una respuesta SAML del IDP. Para obtener la huella digital del certificado, siga las instrucciones a continuación:
- En los metadatos del IDP de Google, extraiga el certificado X509. Debería estar ubicado en: <IDPSSODescriptor> →<KeyDescriptor use=”signing”> → <KeyInfo> → <X509Data> → <X509Certificate>
- Una vez que tenga el certificado, vaya al siguiente sitio web: https://www.samltool.com/fingerprint.php.
- Pegue el certificado en el cuadro de texto “X509 cert”.
- Asegúrese de que “sha1” esté seleccionado en el campo Algorithm.
- Haga clic en “Calculate Fingerprint”.
- Copie el valor “FingerPrint” generado. Este es el valor que se usa en la base de datos. La huella digital debe ser un arreglo de 20 bytes para “sha1”.
Complemento útil de Chrome para depurar tokens SAML
Si usa Chrome como navegador web, quizá desee instalar un complemento útil de SAML en: https://chrome.google.com/webstore/detail/saml-chrome-panel/paijfdbeoenhembfhkhllainmocckace?hl=en. Una vez instalado, simplemente abra las herramientas para desarrolladores del navegador (F12) y haga clic en la pestaña SAML. Ahora, al realizar un inicio de sesión iniciado por el SP, los tokens SAML enviados por el navegador se mostrarán en detalle. Esta herramienta puede ser muy útil para depurar solicitudes y respuestas SAML.