Configurar la autenticación Shibboleth

Esta sección describe cómo configurar Shibboleth para utiliza Service Desk o Asset Manager con la política de inicio de sesión Sólo Shibboleth.

Para obtener información más detallada y específica acerca de la configuración de Shibboleth, consulte la documentación de Shibboleth.

Shibboleth consta de dos partes:

  • Un Proveedor de identidades (IdP): aplicación web configurada para hablar con Active Directory. Muestra una página web de inicio de sesión en la que introducir las credenciales y confirmar la identidad con el sistema configurado.
  • Un Proveedor de servicios (SP): complemento del servidor web (por ejemplo, IIS o Apache) configurado para proteger determinadas rutas de sitios web (como /ServiceDesk.WebAccess). Redirige a los usuarios a su IdP para iniciar sesión y luego pasa la información de su identidad a la aplicación web, agregando encabezados a la solicitud HTTP. El SP y el IdP no necesitan comunicarse directamente, pero sí necesitan estar configurados para confiar entre ellos. El navegador web del usuario necesita disponer de visibilidad para ambos.

Si utiliza IIS, asegúrese de que el servidor web tiene instalada la Función de Windows de compatibilidad de gestión IIS6.

Los siguientes ejemplo incluyen direcciones de ejemplo, recuerde sustituirlas con sus propios valores.

Conectarse al IdP interno

El primer paso es conectar el IdP interno.

Para conectarse al IdP interno:

  1. Acceda a https://localhost/Shibboleth.sso/Metadata desde su servidor web para descargar un archivo XML que contiene información detallada acerca del SP.
  2. Guárdelo con un nombre único para su SP.
  3. En el servidor Shibboleth, copie el archivo XML del paso anterior en C:\Program Files (x86)\Shibboleth\IdP\metadata.
  4. Abra el archivo C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml en un editor de texto.
  5. Donde lo indique el comentario, agregue una línea, como se indica a continuación, con un ID único y la ruta al archivo de metadatos similar a:
Copiar
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
  1. Guarde y cierre el archivo.
  2. Reinicie el servicio Shibboleth 3 IdP Daemon y desconéctese del servidor.
  3. En el servidor web, acceda a C:\Program Files\Shibboleth\etc\shibboleth y abra shibboleth2.xml.
  4. En la sección <Sessions> sustituya la etiqueta <SSO> para que sea similar a:
Copiar
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
  1. En la sección <ApplicationDefaults> agregue una etiqueta <MetadataProvider> a:
Copiar
<MetadataProvider type="XML"
    uri="https://www.example.com/idp/shibboleth"
    backingFilePath="lab-shib01-idp-metadata.xml"
    reloadInterval="180000"/>
  1. Guarde el archivo y reinicie el servicio ISS y el Shibboleth 2 Daemon (predeterminado).

En la parte inferior de la lista de variables del servidor hay algunos valores relacionados con Shibboleth, incluido HTTP_EPPN, que confirma el nombre del usuario activo.

Hay más información acerca de la sesión en https://webserver/Shibboleth.sso/Session.

Cambio del nombre variable del servidor a HTTP_LANDESK_USER

El encabezado predeterminado que esperan las aplicaciones de Service Desk y Asset Manager para el nombre de usuario activo es HTTP_LANDESK_USER. Puede reemplazar esto en el archivo tps.config para que coincida con el nombre predeterminado (consulte Configuración de Web Access para que utilice una variable de servidor diferente) o puede volver a configurar Shibboleth.

Configurar y proteger Service Desk y Asset Manager

Cuando se asocia a los usuarios de Service Desk y Asset Manager con un inicio de sesión de red mediante el componente Administración de la consola, y se ajusta la Política de inicio de sesión tal y como se describe en Configuración de la política de inicio de sesión, puede proteger la instancia de Web Access.

Para proteger la instancia de Web Access:

  1. Acceda a C:\Program Files\Shibboleth\etc\shibboleth y abra shibboleth2.xml.
  2. En la sección <Host> agregue una nueva etiqueta <Path> con el nombre de la instancia de Web Access:
Copiar
<Host name="hd37f6c6dv3ctrh.example.com">
    <Path name="secure" authType="shibboleth" requireSession="true"/>
    <Path name="ServiceDesk.WebAccess" authType="shibboleth"
        requireSession="true"/>
</Host>
  1. Guarde el archivo y reinicie el servicio ISS y el Shibboleth 2 Daemon (predeterminado).
  2. Acceda a http://webserver/ServiceDesk.WebAccess.
    Ha iniciado sesión.

Web Access busca el valor HTTP_LANDESK_USER en dos lugares. En primer lugar busca en los encabezados HTTP que ha rellenado el SP de Shibboleth. Luego busca en la cadena de comandos de consulta de la URL, que muestra cómo puede probar la autenticación de Shibboleth sin una configuración de entorno integrado total.

Para probar Web Access con la cadena de consulta de URL, acceda a: http://webserver/ServiceDesk/WebAccess/[email protected].

Esto no tiene ningún efecto en un entorno con Shibboleth integrado. El SP sigue redirigiéndole a la página de inicio de sesión de IdP y rellena el encabezado de HTTP, que tiene prioridad sobre el valor de URL.

Configuración de Web Access para que utilice una variable de servidor diferente

En lugar de volver a configurar Shibboleth para que utilice el nombre de atributo HTTP_LANDESK_USER, puede volver a configurar Web Access para que utilice el nombre de atributo predeterminado HTTP_EPPN.

Configurar Web Access para que utilice una variable de servidor diferente:

  1. Abra el archivo tps.config para Web Access y agregue la línea:
Copiar
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
  1. Recicle el grupo de aplicaciones que utiliza Web Access.