AD FS les paramètres d’authentification uniqueAD FS Single Sign-On Settings

L’authentification unique (SSO) permet aux utilisateurs de s’authentifier une seule fois et d’accéder à plusieurs ressources sans être invité à fournir des informations d’identification supplémentaires.Single Sign-On (SSO) allows users to authenticate once and access multiple resources without being prompted for additional credentials. Cet article décrit le comportement de AD FS par défaut pour l’authentification unique, ainsi que les paramètres de configuration qui vous permettent de personnaliser ce comportement.This article describes the default AD FS behavior for SSO, as well as the configuration settings that allow you to customize this behavior.

Types d’authentification unique pris en chargeSupported types of Single Sign-On

AD FS prend en charge plusieurs types d’expériences d’authentification unique :AD FS supports several types of Single Sign-On experiences:

  • Authentification unique de sessionSession SSO

    Les cookies SSO de session sont écrits pour l’utilisateur authentifié, ce qui élimine les invites supplémentaires lorsque l’utilisateur bascule des applications pendant une session particulière.Session SSO cookies are written for the authenticated user which eliminates further prompts when the user switches applications during a particular session. Toutefois, si une session particulière se termine, l’utilisateur est invité à entrer à nouveau ses informations d’identification.However, if a particular session ends, the user will be prompted for their credentials again.

    AD FS définira les cookies SSO de session par défaut si les appareils des utilisateurs ne sont pas inscrits.AD FS will set session SSO cookies by default if users' devices are not registered. Si la session du navigateur est terminée et qu’elle est redémarrée, ce cookie de session est supprimé et n’est plus valide.If the browser session has ended and is restarted, this session cookie is deleted and is not valid any more.

  • Authentification unique permanentePersistent SSO

    Les cookies SSO persistants sont écrits pour l’utilisateur authentifié, ce qui élimine les invites supplémentaires lorsque l’utilisateur bascule les applications tant que le cookie SSO persistant est valide.Persistent SSO cookies are written for the authenticated user which eliminates further prompts when the user switches applications for as long as the persistent SSO cookie is valid. La différence entre l’authentification unique permanente et l’authentification unique de session est que l’authentification unique permanente peut être conservée entre différentes sessions.The difference between persistent SSO and session SSO is that persistent SSO can be maintained across different sessions.

    AD FS définira des cookies d’authentification unique persistants si l’appareil est inscrit.AD FS will set persistent SSO cookies if the device is registered. AD FS définira également un cookie SSO persistant si un utilisateur sélectionne l’option « maintenir la connexion ».AD FS will also set a persistent SSO cookie if a user selects the “keep me signed in” option. Si le cookie SSO persistant n’est plus valide, il sera rejeté et supprimé.If the persistent SSO cookie is not valid any more, it will be rejected and deleted.

  • Authentification unique spécifique à l’applicationApplication specific SSO

    Dans le scénario OAuth, un jeton d’actualisation est utilisé pour maintenir l’état de l’authentification unique de l’utilisateur dans l’étendue d’une application particulière.In the OAuth scenario, a refresh token is used to maintain the SSO state of the user within the scope of a particular application.

    Si un appareil est inscrit, AD FS définit l’heure d’expiration d’un jeton d’actualisation en fonction de la durée de vie des cookies SSO persistants pour un appareil inscrit qui est de 7 jours par défaut pour AD FS 2012 R2 et jusqu’à un maximum de 90 jours avec AD FS 2016 s’ils utilisent leur appareil pour Accédez aux ressources de AD FS dans une fenêtre de 14 jours.If a device is registered, AD FS will set the expiration time of a refresh token based on the persistent SSO cookies lifetime for a registered device which is 7 days by default for AD FS 2012R2 and up to a maximum of 90 days with AD FS 2016 if they use their device to access AD FS resources within a 14 day window.

Si l’appareil n’est pas inscrit mais qu’un utilisateur sélectionne l’option « maintenir la connexion », l’heure d’expiration du jeton d’actualisation sera égale à la durée de vie des cookies SSO persistants pour « maintenir la connexion », soit 1 jour par défaut, avec un maximum de 7 jours.If the device is not registered but a user selects the “keep me signed in” option, the expiration time of the refresh token will equal the persistent SSO cookies lifetime for "keep me signed in" which is 1 day by default with maximum of 7 day. Sinon, la durée de vie du jeton d’actualisation est égale à la durée de vie du cookie SSO de session, qui est de 8 heures par défautOtherwise, refresh token lifetime equals session SSO cookie lifetime which is 8 hours by default

Comme indiqué ci-dessus, les utilisateurs sur les appareils inscrits obtiendront toujours une authentification unique persistante, sauf si l’authentification unique persistante est désactivée.As mentioned above, users on registered devices will always get a persistent SSO unless the persistent SSO is disabled. Pour les appareils non inscrits, l’authentification unique permanente peut être obtenue en activant la fonctionnalité « maintenir la connexion » (KMSI).For un-registered devices, persistent SSO can be achieved by enabling the “keep me signed in” (KMSI) feature.

Pour Windows Server 2012 R2, pour activer PSSO pour le scénario « maintenir la connexion », vous devez installer ce correctif qui fait également partie du correctif cumulatif de 2014 d’août pour Windows RT 8,1, Windows 8.1 et Windows Server 2012 R2.For Windows Server 2012 R2, to enable PSSO for the “Keep me signed in” scenario, you need to install this hotfix which is also part of the of August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2.

TâcheTask PowerShellPowerShell DescriptionDescription
Activer/désactiver l’authentification unique permanenteEnable/disable persistent SSO Set-AdfsProperties –EnablePersistentSso <Boolean> L’authentification unique permanente est activée par défaut.Persistent SSO is enabled by default. Si elle est désactivée, aucun cookie PSSO n’est écrit.If it is disabled, no PSSO cookie will be written.
« Activer/désactiver » maintenir la connexion»"Enable/disable “keep me signed in" Set-AdfsProperties –EnableKmsi <Boolean> La fonctionnalité « maintenir la connexion » est désactivée par défaut."Keep me signed in" feature is disabled by default. S’il est activé, l’utilisateur final voit un choix « maintenir la connexion » sur AD FS page de connexionIf it is enabled, end user will see a “keep me signed in” choice on AD FS sign-in page

AD FS 2016-authentification unique et appareils authentifiésAD FS 2016 - Single Sign-On and authenticated devices

AD FS 2016 modifie le PSSO lorsque le demandeur s’authentifie à partir d’un appareil inscrit qui passe à 90 jours maximum, mais nécessite une authentification dans un délai de 14 jours (fenêtre utilisation de l’appareil).AD FS 2016 changes the PSSO when requestor is authenticating from a registered device increasing to max 90 Days but requiring an authentication within a 14 days period (device usage window). Après avoir fourni les informations d’identification pour la première fois, par défaut, les utilisateurs disposant d’appareils inscrits obtiennent une authentification unique pour une période maximale de 90 jours, à condition qu’ils utilisent l’appareil pour accéder aux ressources AD FS au moins une fois tous les 14 jours.After providing credentials for the first time, by default users with registered devices get single Sign-On for a maximum period of 90 days, provided they use the device to access AD FS resources at least once every 14 days. S’ils attendent 15 jours après avoir fourni des informations d’identification, les utilisateurs seront de nouveau invités à saisir leurs informations d’identification.If they wait 15 days after providing credentials, users will be prompted for credentials again.

L’authentification unique permanente est activée par défaut.Persistent SSO is enabled by default. Si elle est désactivée, aucun cookie PSSO ne sera écrit. |If it is disabled, no PSSO cookie will be written.|

Set-AdfsProperties –EnablePersistentSso <Boolean\>

La fenêtre utilisation de l’appareil (14 jours par défaut) est régie par la propriété AD FS DeviceUsageWindowInDays.The device usage window (14 days by default) is governed by the AD FS property DeviceUsageWindowInDays.

Set-AdfsProperties -DeviceUsageWindowInDays

La période d’authentification unique maximale (90 jours par défaut) est régie par la propriété AD FS PersistentSsoLifetimeMins.The maximum single Sign-On period (90 days by default) is governed by the AD FS property PersistentSsoLifetimeMins.

Set-AdfsProperties -PersistentSsoLifetimeMins

Maintenir la connexion pour les appareils non authentifiésKeep Me Signed in for unauthenticated devices

Pour les appareils non inscrits, la période d’authentification unique est déterminée par les paramètres de la fonctionnalité maintenir la connexion (KMSI) .For non-registered devices, the single sign-on period is determined by the Keep Me Signed In (KMSI) feature settings. KMSI est désactivé par défaut et peut être activé en affectant à la propriété AD FS KmsiEnabled la valeur true.KMSI is disabled by default and can be enabled by setting the AD FS property KmsiEnabled to True.

Set-AdfsProperties -EnableKmsi $true  

Avec KMSI désactivé, la période d’authentification unique par défaut est de 8 heures.With KMSI disabled, the default single sign-on period is 8 hours. Cela peut être configuré à l’aide de la propriété SsoLifetime.This can be configured using the property SsoLifetime. La propriété est mesurée en minutes, donc sa valeur par défaut est 480.The property is measured in minutes, so its default value is 480.

Set-AdfsProperties –SsoLifetime <Int32\> 

Lorsque KMSI est activé, la période d’authentification unique par défaut est de 24 heures.With KMSI enabled, the default single sign-on period is 24 hours. Cela peut être configuré à l’aide de la propriété KmsiLifetimeMins.This can be configured using the property KmsiLifetimeMins. La propriété est mesurée en minutes, donc sa valeur par défaut est 1440.The property is measured in minutes, so its default value is 1440.

Set-AdfsProperties –KmsiLifetimeMins <Int32\> 

Comportement de Multi-Factor Authentication (MFA)Multi-factor authentication (MFA) behavior

Il est important de noter que, tout en fournissant des périodes relativement longues d’authentification unique, AD FS demande une authentification supplémentaire (Multi-Factor Authentication) quand une connexion précédente était basée sur des informations d’identification principales et non MFA, mais sur l’authentification active requiert MFA.It's important to note that, while providing relatively long periods of single sign on, AD FS will prompt for additional authentication (multi factor authentication) when a previous sign on was based on primary credentials and not MFA, but the current sign on requires MFA. Quelle que soit la configuration de l’authentification unique.This is regardless of SSO configuration. AD FS, lorsqu’il reçoit une demande d’authentification, détermine d’abord s’il existe un contexte d’authentification unique (tel qu’un cookie), puis, si l’authentification multifacteur est requise (par exemple, si la demande provient de l’extérieur), elle évalue si le contexte SSO contient ou non MFA.AD FS, when it receives an authentication request, first determines whether or not there is an SSO context (such as a cookie) and then, if MFA is required (such as if the request is coming in from outside) it will assess whether or not the SSO context contains MFA. Dans le cas contraire, l’authentification MFA est demandée.If not, MFA is prompted.

Révocation PSSOPSSO revocation

Pour protéger la sécurité, AD FS rejette tout cookie SSO persistant précédemment émis lorsque les conditions suivantes sont remplies.To protect security, AD FS will reject any persistent SSO cookie previously issued when the following conditions are met. Cela oblige l’utilisateur à fournir ses informations d’identification pour s’authentifier auprès de AD FS.This will require the user to provide their credentials in order to authenticate with AD FS again.

  • L’utilisateur change le mot de passeUser changes password

  • Le paramètre SSO persistant est désactivé dans AD FSPersistent SSO setting is disabled in AD FS

  • L’appareil est désactivé par l’administrateur en cas de perte ou de volDevice is disabled by the administrator in lost or stolen case

  • AD FS reçoit un cookie SSO persistant émis pour un utilisateur inscrit, mais l’utilisateur ou l’appareil n’est plus inscritAD FS receives a persistent SSO cookie which is issued for a registered user but the user or the device is not registered anymore

  • AD FS reçoit un cookie SSO persistant pour un utilisateur inscrit mais l’utilisateur a été réinscritAD FS receives a persistent SSO cookie for a registered user but the user re-registered

  • AD FS reçoit un cookie SSO persistant qui est émis à la suite du paramètre « maintenir la connexion » mais que le paramètre « maintenir la connexion » est désactivé dans AD FSAD FS receives a persistent SSO cookie which is issued as a result of “keep me signed in” but “keep me signed in” setting is disabled in AD FS

  • AD FS reçoit un cookie SSO persistant qui est émis pour un utilisateur inscrit mais dont le certificat de périphérique est manquant ou modifié pendant l’authentificationAD FS receives a persistent SSO cookie which is issued for a registered user but device certificate is missing or altered during authentication

  • AD FS administrateur a défini un délai de coupure pour l’authentification unique permanente.AD FS administrator has set a cutoff time for persistent SSO. Une fois cette configuration effectuée, AD FS rejette tous les cookies d’authentification unique persistants émis avant cette heureWhen this is configured, AD FS will reject any persistent SSO cookie issued before this time

    Pour définir le temps de coupure, exécutez l’applet de commande PowerShell suivante :To set the cutoff time, run the following PowerShell cmdlet:

Set-AdfsProperties -PersistentSsoCutoffTime <DateTime>

Autoriser PSSO pour les utilisateurs d’Office 365 à accéder à SharePoint OnlineEnable PSSO for Office 365 users to access SharePoint Online

Une fois PSSO activé et configuré dans AD FS, AD FS écrit un cookie persistant après l’authentification d’un utilisateur.Once PSSO is enabled and configured in AD FS, AD FS will write a persistent cookie after a user has authenticated. La prochaine fois que l’utilisateur arrivera, si un cookie persistant est toujours valide, un utilisateur n’a pas besoin de fournir des informations d’identification pour s’authentifier à nouveau.The next time the user comes in, if a persistent cookie is still valid, a user does not need to provide credentials to authenticate again. Vous pouvez également éviter l’invite d’authentification supplémentaire pour les utilisateurs d’Office 365 et SharePoint Online en configurant les deux règles de revendication suivantes dans AD FS pour déclencher la persistance sur Microsoft Azure AD et SharePoint Online.You can also avoid the additional authentication prompt for Office 365 and SharePoint Online users by configuring the following two claims rules in AD FS to trigger persistence at Microsoft Azure AD and SharePoint Online. Pour permettre à PSSO pour les utilisateurs d’Office 365 d’accéder à SharePoint Online, vous devez installer ce correctif qui fait également partie du correctif cumulatif de 2014 d’août pour Windows RT 8,1, Windows 8.1 et Windows Server 2012 R2.To enable PSSO for Office 365 users to access SharePoint online, you need to install this hotfix which is also part of the of August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2.

Une règle de transformation d’émission à passer par la revendication InsideCorporateNetworkAn Issuance Transform rule to pass through the InsideCorporateNetwork claim

@RuleTemplate = "PassThroughClaims"  
@RuleName = "Pass through claim - InsideCorporateNetwork"  
c:[Type == "https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork"]  
=> issue(claim = c);   
A custom Issuance Transform rule to pass through the persistent SSO claim  
@RuleName = "Pass Through Claim - Psso"  
c:[Type == "https://schemas.microsoft.com/2014/03/psso"]  
=> issue(claim = c);  
  

Pour résumer :To Summarize:

Expérience d’authentification uniqueSingle SignOn experience ADFS 2012 R2ADFS 2012 R2
L’appareil est-il inscrit ?Is Device Registered?
ADFS 2016ADFS 2016
L’appareil est-il inscrit ?Is Device Registered?
NONNO NON, mais KMSINO But KMSI OUIYES NONNO NON, mais KMSINO But KMSI OUIYES
SSO =>définir le jeton d’actualisation =>SSO=>set Refresh Token=> 8 h8 Hrs NON APPLICABLEN/A NON APPLICABLEN/A 8 h8 Hrs NON APPLICABLEN/A NON APPLICABLEN/A
PSSO =>définir le jeton d’actualisation =>PSSO=>set Refresh Token=> NON APPLICABLEN/A 24 h24 Hrs 7 jours7 Days NON APPLICABLEN/A 24 h24 Hrs 90 jours maximum avec une fenêtre de 14 joursMax 90 Days with 14 Days Window
Durée de vie du jetonToken Lifetime 1 h1 Hrs 1 h1 Hrs 1 h1 Hrs 1 h1 Hrs 1 h1 Hrs 1 h1 Hrs

Appareil inscrit ?Registered Device? Vous recevez un PSSO/une authentification unique persistanteYou get a PSSO / Persistent SSO
Appareil non inscrit ?Not Registered Device? Vous recevez une authentification uniqueYou get a SSO
Appareil non inscrit mais KMSI ?Not Registered Device but KMSI? Vous recevez un PSSO/une authentification unique persistanteYou get a PSSO/ Persistent SSO

QUEIF:

  • [x] l’administrateur a activé la fonctionnalité KMSI [et][x] Admin has enabled the KMSI feature [AND]
  • [x] l’utilisateur clique sur la case à cocher KMSI sur la page de connexion aux formulaires[x] User clicks the KMSI check box on the forms login page

Bon à savoir :Good to Know:
Les utilisateurs fédérés qui n’ont pas l’attribut LastPasswordChangeTimestamp synchronisé reçoivent des cookies de session et des jetons d’actualisation qui ont une valeur d’âge maximale de 12 heures.Federated users who do not have the LastPasswordChangeTimestamp attribute synced are issued session cookies and refresh tokens that have a Max Age value of 12 hours.
Cela est dû au fait que Azure AD ne peut pas déterminer quand révoquer les jetons associés à des informations d’identification anciennes (par exemple, un mot de passe qui a été modifié).This occurs because Azure AD cannot determine when to revoke tokens that are related to an old credential (such as a password that has been changed). Par conséquent, Azure AD doit vérifier plus fréquemment pour s’assurer que l’utilisateur et les jetons associés sont toujours en bonne position.Therefore, Azure AD must check more frequently to make sure that the user and associated tokens are still in good standing.