MENU

SSO (Single Sign On) utilisant l'authentification Windows intégrée à IIS

table des matières

Présentation de l'authentification Windows intégrée

L'authentification Windows intégrée (IWA) est un mécanisme qui fournit automatiquement des informations d'authentification utilisateur à IIS lorsque IIS et l'utilisateur sont connectés au même domaine. Lorsque vous créez un site avec ASP.NET C#, vous pouvez obtenir une détermination de l'authentification utilisateur et des informations sur l'utilisateur authentifié.

Cela permet aux utilisateurs d'accéder aux applications Web hébergées (ou liées) par IIS sans opérations de connexion supplémentaires et permet l'intégration SSO avec d'autres serveurs d'applications.

*Si vous ne participez pas au même domaine ou si un utilisateur non authentifié accède à la page IIS, un cadran de connexion s'affichera et si vous ne vous authentifiez pas correctement, une erreur HTTP 401.1 – Non autorisé se produira.

Flux SSO (Single Sign On)

Le plan Ultimate de Chat&Messenger On-Premise permet le SSO avec l'authentification Windows intégrée. Le flux SSO est le suivant.

  1. Le client accède d'abord à la page authentifiée Windows intégrée /cam-iissso
  2. La page /cam-iissso utilise ASP.NET pour déterminer si elle est authentifiée et si elle est liée à CAMServer.
  3. CAMServer effectue une recherche LDAP pour confirmer qu'il s'agit d'un utilisateur AD régulier, génère un ssoToken (une valeur aléatoire unique de 30 octets ou plus) et une URL pour accéder à CAMServer, et demande une redirection.
  4. Accédez à CAMServer et authentifiez-vous à l’aide de ssoToken. Si l'authentification réussit, un ID de session pour l'accès à l'API sera attribué.

L'ID utilisateur de l'utilisateur qui utilisera SSO doit correspondre au UserPrincipalName dans Active Directory et être enregistré dans Chat&Messenger à l'avance. UserPrincipalName est Je souhaite obtenir une liste d'utilisateurs Active Directory et créer un CSV. Veuillez également vous référer à ce qui suit.

Conditions requises pour obtenir le SSO

Joindre Windows Server au domaine

Veuillez joindre le serveur Windows exécutant CAMServer/IIS au domaine Active Directory.

Pour vérifier le domaine auquel un serveur Windows existant est joint, accédez à « Gestionnaire de serveur » → cliquez sur « Serveur local » dans le menu de gauche → cliquez sur « Nom de l'ordinateur » et reportez-vous à la colonne Domaine.

De plus, IIS doit résider sur le même serveur que CAMServer et s'exécuter sur le port 80. Si vous placez un LoadBalancer devant le CAMServer, le CAMServer s'exécutera sur le port 8080, donc IIS peut également utiliser le port 443.

Installation d'IIS

Installez IIS à partir du rôle serveur.

Lors de l’installation d’IIS, vérifiez les éléments suivants dans les options de sélection des services de rôle.

  • Authentification Windows
  • Filtres ISAPI
  • Installation séparée des extensions ISAPI

IIS doit coexister sur le même serveur que CAMServer et s'exécuter sur le port 80.

Filtre ISAPI : prend en charge le chargement des modules d'extension dans IIS. Nécessaire pour charger AspNetCoreModuleV2.

Extensions ISAPI : ajoutez des extensions ISAPI à IIS. Requis pour le fonctionnement d’AspNetCoreModuleV2. Démarrer le gestionnaire IIS (iisreset)

Installer le pack d'hébergement ASP.NET Core

Offre groupée d'hébergement ASP.NET Core Veuillez installer.

Lors de l'hébergement d'applications ASP.NET Core dans un environnement IIS, la simple installation du package d'hébergement ASP.NET Core installe automatiquement les éléments suivants : .NET Runtime ASP.NET Core Runtime

Après l'installation, redémarrez IIS et assurez-vous qu'AspNetCoreModuleV2 est présent dans le mappage du gestionnaire.

Redémarrer IIS
Mappage des gestionnaires

Ajouter une application (cam-iissso)

Ajoutez l'application cam-iissso au site Web par défaut.

  • Alias : cam-iissso
  • Chemin physique : \sys\cam-iissso-net8.0

Accordez également les droits d'accès de visualisation (lecture et exécution, liste du contenu du dossier, lecture) au dossier cam-iissso-net8.0 au groupe IIS_IUSRS.

Activer l'authentification Windows

Faites un clic droit sur « Authentification Windows » et sélectionnez « Activer ».

Si « Authentification anonyme » est activée, veuillez la désactiver.

Définition des options Internet

Ajouter le site fourni par IIS à la zone intranet

Sélectionnez Options Internet, cliquez sur l'onglet Sécurité, sélectionnez Intranet local. Cliquez sur le bouton Sites, sélectionnez Paramètres avancés et ajoutez l'URL du site.

Vérifier la connexion automatique

Cliquez sur "Niveau personnalisé" et sous "Authentification utilisateur" → "Connexion", assurez-vous que "Connexion automatique dans la zone intranet" est sélectionné.

Ce paramètre est requis pour tous les terminaux clients des utilisateurs C&M, mais il peut être géré de manière centralisée à l'aide de la console de gestion des stratégies de groupe.

Paramètres LDAP

Lors de l'authentification unique à l'aide d'IIS,Paramètres LDAP(LDAPUrl, LDAPBaseDN, utilisateur AD effectuant une authentification proxy) est requis.

Accès via FQDN (nom de domaine complet) et enregistrement SPN

Cela n'est pas nécessaire si vous accédez à la page d'authentification intégrée Windows IIS à l'aide d'un nom d'hôte (nom NetBIOS), mais vous devez enregistrer un SPN si vous y accédez à l'aide d'un FQDN (nom de domaine complet, par exemple, sso.example.com).

SPN (Service Principal Name) est un nom qui identifie de manière unique un service spécifique sur Active Directory dans l'authentification Kerberos. Si vous accédez au service à l'aide d'un FQDN, l'enregistrement d'un SPN permettra au client de demander avec succès un ticket Kerberos pour le service auquel vous accédez.

Par exemple https://sso.example.com Lors de l'accès, le client (navigateur) demande un ticket à Active Directory, indiquant « Je souhaite me connecter au service appelé HTTP/sso.example.com ». Active Directory détermine à quel compte le SPN est associé et émet le ticket de service correspondant. Si le SPN n'est pas enregistré correctement, l'authentification Kerberos échouera, ce qui entraînera l'affichage de la boîte de dialogue d'authentification.

L'enregistrement SPN s'effectue sur le compte informatique hébergeant IIS. Par exemple,annonce Pour IIS exécuté avec le nom d'hôte, enregistrez le SPN comme suit :

setspn -S HTTP/sso.example.com ad$

Une fois inscrit, vous pouvez vérifier avec la commande suivante :

setspn -L ad$

Ce résultat HTTP/sso.example.com Si elle s'affiche, l'enregistrement SPN a réussi.

Non disponible dans l'environnement de connexion proxy HTTP

Veuillez noter que le SSO ne peut pas être utilisé dans un environnement de connexion proxy HTTP.

Configuration dans un environnement LoadBalancer + SSL

Si vous utilisez l’authentification Windows intégrée IIS dans un environnement LoadBalancer + SSL, veuillez vous référer à l’article de blog suivant.

あわせて読みたい
Comment configurer l'authentification Windows intégrée IIS pour réussir dans un environnement d'équilibrage de charge + SSL [À propos de l’authentification Windows intégrée] L’authentification Windows intégrée est effectuée automatiquement lorsque IIS et l’utilisateur appartiennent au même domaine Active Directory.
  • URLをコピーしました!
table des matières