Configuration de l'authentification Shibboleth
Cette section explique comment configurer Shibboleth afin de pouvoir utiliser Service Desk ou Asset Manager avec la stratégie de connexion Shibboleth uniquement.
Pour en savoir plus et obtenir des informations spécifiques sur la configuration de Shibboleth, consultez la documentation Shibboleth.
Shibboleth est constitué de deux sections :
- Un fournisseur d'identité (Identity Provider, IdP) – Application Web configurée pour communiquer avec Active Directory. Cet outil affiche une page Web de connexion où vous pouvez entrer les références d'authentification pertinentes, puis il vérifie votre identité auprès des systèmes configurés.
- Un fournisseur de services (Service Provider, SP) – Module d'extension pour votre serveur Web (comme IIS ou Apache), configuré pour protéger certains chemins de site Web (notamment /ServiceDesk.WebAccess). Cet outil redirige les utilisateurs vers votre fournisseur d'identités (IdP) pour la connexion, puis retransmet les détails de leur identité à votre application Web en ajoutant des en-têtes à la demande HTTP. Le fournisseur de services (SP) et le fournisseur d'identités (IdP) n'ont pas besoin de communiquer directement, mais ils doivent être configurés pour se faire mutuellement confiance. Le navigateur Web de l'utilisateur doit voir ces deux outils.
Si vous utilisez IIS, vérifiez que la fonction Windows de compatibilité de gestion d'IIS 6 est installée sur votre serveur Web.
Les exemples ci-dessous incluent des adresses imaginaires ; pensez à les remplacer par vos propres adresses.
Connexion à votre fournisseur d'identités (IdP) interne
La première étape consiste à vous connecter au fournisseur d'identités interne.
Pour vous connecter au fournisseur d'identités (IdP) interne :
- Accédez à https://localhost/Shibboleth.sso/Metadata sur votre serveur Web pour télécharger un fichier XML contenant des informations détaillées sur le fournisseur de services (SP).
- Enregistrez ce fichier sous un nom unique propre à votre fournisseur de services.
- Sur votre serveur Shibboleth, copiez le fichier XML de l'étape précédente vers C:\Program Files (x86)\Shibboleth\IdP\metadata.
- Ouvrez le fichier C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml dans un éditeur de texte.
- À l'endroit où les commentaires vous y invitent, ajoutez la ligne suivante, avec un ID unique et le chemin de votre fichier de métadonnées, comme suit :
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
- Enregistrez et fermez le fichier.
- Redémarrez le service de démon IdP Shibboleth 3, puis déconnectez-vous du serveur.
- Sur votre serveur Web, accédez à C:\Program Files\Shibboleth\etc\shibboleth et ouvrez shibboleth2.xml.
- Dans la section <Sessions>, remplacez la balise <SSO> afin d'utiliser ceci :
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
- Dans la section <ApplicationDefaults>, ajoutez la balise <MetadataProvider> à la section suivante :
<MetadataProvider type="XML"
uri="https://www.example.com/idp/shibboleth"
backingFilePath="lab-shib01-idp-metadata.xml"
reloadInterval="180000"/>
- Enregistrez le fichier, puis redémarrez IIS et le service (par défaut) de démon Shibboleth 2.
À la fin de la liste des variables serveur figurent des valeurs liées à Shibboleth, notamment HTTP_EPPN, qui confirme le nom de l'utilisateur connecté.
Pour en savoir plus sur la session, consultez le site https://webserver/Shibboleth.sso/Session.
Changement du nom de la variable serveur en HTTP_LANDESK_USER
L'en-tête par défaut attendu par les applications Service Desk et Asset Manager pour le nom de l'utilisateur connecté est HTTP_LANDESK_USER. Vous pouvez ignorer ce paramètre dans le fichier tps.config afin qu'il corresponde à la valeur par défaut (reportez-vous à Configuration de Web Access pour utiliser une autre variable serveur) ou bien reconfigurer Shibboleth.
Configuration et protection de Service Desk et Asset Manager
Après avoir associé vos utilisateurs Service Desk et Asset Manager à un nom de connexion réseau à l'aide du composant Administration de la console, et avoir configuré la stratégie de connexion comme indiqué à la section Définition de la stratégie de connexion, vous pouvez protéger votre instance Web Access.
Pour protéger l'instance Web Access :
- Naviguez jusqu'à C:\Program Files\Shibboleth\etc\shibboleth et ouvrez shibboleth2.xml.
- Dans la section <Host>, ajoutez une nouvelle balise <Path> avec le nom de votre instance Web Access :
<Host name="hd37f6c6dv3ctrh.example.com">
<Path name="secure" authType="shibboleth" requireSession="true"/>
<Path name="ServiceDesk.WebAccess" authType="shibboleth"
requireSession="true"/>
</Host>
- Enregistrez le fichier, puis redémarrez IIS et le service (par défaut) de démon Shibboleth 2.
- Accédez à https://webserver/ServiceDesk.WebAccess.
Vous êtes connecté.
Web Access recherche la valeur HTTP_LANDESK_USER à deux endroits. Il commence par examiner les en-têtes HTTP que le fournisseur de services (SP) Shibboleth remplit. Il examine ensuite la chaîne de requête d'URL, ce qui permet de tester l'authentification Shibboleth sans configurer un environnement entièrement intégré.
Pour tester Web Access avec la chaîne de requête d'URL, accédez à : https://webserver/ServiceDesk/WebAccess/[email protected].
Cette opération n'a aucun effet dans un environnement Shibboleth intégré. Le fournisseur de services (SP) continue à vous rediriger vers la page de connexion du fournisseur d'identités (IdP) et remplit l'en-tête HTTP, qui est prioritaire sur la valeur d'URL.
Configuration de Web Access pour utiliser une autre variable serveur
Au lieu de reconfigurer Shibboleth pour utiliser le nom d'attribut HTTP_LANDESK_USER, vous pouvez reconfigurer Web Access pour utiliser le nom d'attribut par défaut HTTP_EPPN.
Pour configurer Web Access pour utiliser une autre variable serveur :
- Ouvrez le fichier tps.config correspondant à Web Access et ajoutez la ligne suivante :
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
- Recyclez le pool d'applications utilisé par Web Access.