Authentification composée et revendications AD DS dans AD FS

Windows Server 2012 améliore l’authentification Kerberos en introduisant l’authentification composée. L’authentification composée permet à une requête de service TG (Ticket-Granting) Kerberos d’inclure deux identités :

  • l’identité de l’utilisateur
  • identité de l’appareil de l’utilisateur.

Windows effectue l’authentification composée en étendant FAST (Flexible Authentication Secure Tunneling) Kerberos ou le blindage Kerberos.

AD FS 2012 et versions ultérieures autorise la consommation des revendications d’utilisateur ou d’appareil AD DS émises qui résident dans un ticket d’authentification Kerberos. Dans les versions précédentes d’AD FS, le moteur de revendications ne pouvait lire que les ID de sécurité des utilisateurs et des groupes (SID) à partir de Kerberos, mais n’était pas en mesure de lire les informations sur les revendications contenues dans un ticket Kerberos.

Vous pouvez activer le contrôle d’accès plus riche pour les applications fédérées à l’aide des revendications d’utilisateur et d’appareil émises par Active Directory Domain Services, avec Services ADFS.

Configuration requise

  1. Les ordinateurs qui accèdent aux applications fédérées doivent s’authentifier auprès d’AD FS à l’aide de l’authentification Windows intégrée.

    • L’authentification Windows intégrée est disponible uniquement lors de la connexion aux serveurs AD FS principaux.
    • Les ordinateurs doivent pouvoir atteindre les serveurs AD FS principaux pour le nom du service de fédération
    • Les serveurs AD FS doivent proposer l’authentification Windows intégrée en tant que méthode d’authentification principale dans ses paramètres Intranet.
  2. La prise en charge du client Kerberos de stratégie pour l’authentification composée des revendications et pour le blindage Kerberos doit être appliquée à tous les ordinateurs accédant aux applications fédérées protégées par l’authentification composée. Cela s’applique en cas de scénarios de forêt unique ou entre forêts.

  3. Le domaine hébergeant les serveurs AD FS doit avoir la prise en charge du KDC pour l’authentification composée de revendications et le paramètre de stratégie de blindage Kerberos appliqués aux contrôleurs de domaine.

Étapes de configuration d’AD FS dans Windows Server 2012 R2

Suivez les étapes suivantes pour configurer l’authentification composée et les revendications

Étape 1 : Activer la prise en charge du KDC pour les revendications, l’authentification composée et le blindage Kerberos sur la stratégie par défaut des contrôleurs de domaine

  1. Dans Gestionnaire de serveur, sélectionnez Outils, Gestion des stratégie de groupe.
  2. Accédez à la stratégie par défaut des contrôleurs de domaine, cliquez avec le bouton droit et sélectionnez Modifier. Screenshot showing the Default Domain Policy page in the Group Policy Management dialog box.
  3. Dans Éditeur de gestion des stratégies de groupe, sous Configuration ordinateur, développez Stratégies, Modèles d’administration, Système, puis sélectionnez KDC.
  4. Dans le volet droit, double-cliquez sur Prise en charge du KDC des revendications, de l’authentification composée et du blindage Kerberos. Screenshot of the Group Policy Management Editor showing the KDC support for claims, compound authentication, and Kerberos armoring setting highlighted.
  5. Dans la nouvelle boîte de dialogue, définissez la prise en charge du KDC pour les revendications sur Activé.
  6. Sous Options, sélectionnez Pris en charge dans le menu déroulant, puis cliquez sur Appliquer et OK. Screenshot of the KDC support for claims, compound authentication and Kerberos armoring dialog box showing the Supported option selected.

Étape 2 : Activer la prise en charge du client Kerberos pour les revendications, l’authentification composée et le blindage Kerberos sur les ordinateurs qui accèdent aux applications fédérées

  1. Sur une stratégie de groupe appliquée aux ordinateurs accédant aux applications fédérées, dans Éditeur de gestion des stratégies de groupe, sous Configuration de l’ordinateur, développez Stratégies, modèles d’administration, Système, puis sélectionnez Kerberos.
  2. Dans le volet droit de la fenêtre Éditeur de gestion des stratégies de groupe, double-cliquez sur Prise en charge du client Kerberos pour les revendications, l’authentification composée et le blindage Kerberos.
  3. Dans la nouvelle boîte de dialogue, définissez prise en charge du client Kerberos sur Activé, puis cliquez sur Appliquer et OK. Screenshot of the KDC support for claims, compound authentication and Kerberos armoring dialog box showing the Enabled option selected.
  4. Fermez l’Éditeur de gestion des stratégies de groupe.

Étape 3 : Vérifiez que les serveurs AD FS ont été mis à jour.

Assurez-vous que les mises à jour suivantes sont installées sur vos serveurs AD FS.

Update Description
KB2919355 Mise à jour de sécurité cumulative (inclut KB2919355,KB2932046,KB2934018,KB2937592,KB2938439)
KB2959977 Mise à jour pour Server 2012 R2
Correctif 3052122 Cette mise à jour ajoute la prise en charge des revendications d’ID composés dans Services ADFS.

Étape 4 : Configurer le fournisseur d’authentification principal

  1. Définissez le fournisseur d’authentification principal sur Authentification Windows pour les paramètres intranet AD FS.

  2. Dans Gestion AD FS, sous Stratégies d’authentification, sélectionnez Authentification principale et sous Paramètres globaux, cliquez sur Modifier.

  3. Dans Modifier la stratégie d’authentification générale sous Intranet , sélectionnez Authentification Windows.

  4. Cliquez sur Appliquer, puis sur OK.

    Screenshot of the Edit Global Authentication Policy dialog box showing the Windows Authentication option selected.

  5. À l’aide de PowerShell, vous pouvez utiliser l’applet de commande Set-AdfsGlobalAuthenticationPolicy .

Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'

Notes

Dans une batterie de serveurs basée sur WID, la commande PowerShell doit être exécutée sur le serveur AD FS principal. Dans une batterie de serveurs SQL, la commande PowerShell peut être exécutée sur n’importe quel serveur AD FS qui est membre de la batterie de serveurs.

Étape 5 : Ajouter la description de la revendication à AD FS

  1. Ajoutez la description de revendication suivante à la batterie de serveurs. Cette description de revendication n’est pas présente par défaut dans AD FS 2012 R2 et doit être ajoutée manuellement.

  2. Dans Gestion AD FS, sous Service, cliquez avec le bouton droit sur Description de la revendication, puis sélectionnez Ajouter une description de revendication

  3. Entrez les informations suivantes dans la description de la revendication

    • Nom d’affichage : « Groupe d’appareils Windows »
    • Descriptions de la revendication : '<https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup>' `
  4. Cochez les deux cases.

  5. Cliquez sur OK.

    Screenshot of the Add a Claim Description dialog box.

  6. À l’aide de PowerShell, vous pouvez utiliser l’applet de commande Add-AdfsClaimDescription .

    Add-AdfsClaimDescription -Name 'Windows device group' -ClaimType 'https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup' `
    -ShortName 'windowsdevicegroup' -IsAccepted $true -IsOffered $true -IsRequired $false -Notes 'The windows group SID of the device'
    

Notes

Dans une batterie de serveurs basée sur WID, la commande PowerShell doit être exécutée sur le serveur AD FS principal. Dans une batterie de serveurs SQL, la commande PowerShell peut être exécutée sur n’importe quel serveur AD FS qui est membre de la batterie de serveurs.

Étape 6 : Activer le bit d’authentification composé sur l’attribut msDS-SupportedEncryptionTypes

  1. Activez le bit d’authentification composée sur l’attribut msDS-SupportedEncryptionTypes sur le compte que vous avez désigné pour exécuter le service AD FS à l’aide de l’applet de commande PowerShell Set-ADServiceAccount .

Notes

Si vous modifiez le compte de service, vous devez activer manuellement l’authentification composée en exécutant les applets de commande Windows PowerShell Set-ADUser -compoundIdentitySupported:$true.

Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
  1. Redémarrez le service AD FS.

Notes

Une fois que « CompoundIdentitySupported » a la valeur true, l’installation du même gMSA sur les nouveaux serveurs (2012R2/2016) échoue avec l’erreur suivante : Install-ADServiceAccount : Impossible d’installer le compte de service. Message d’erreur : «Le contexte fourni ne correspondait pas à la cible.».

Solution : définissez temporairement CompoundIdentitySupported sur $false. Cette étape entraîne l’arrêt d’émission de revendications WindowsDeviceGroup par AD FS. Set-ADServiceAccount -Identity 'ADFS Service Account' -CompoundIdentitySupported:$false Installez le gMSA sur le nouveau serveur, puis activez CompoundIdentitySupported sur $True. La désactivation de CompoundIdentitySupported, puis la réactivation n’a pas besoin que le service AD FS soit redémarré.

Étape 7 : Mettre à jour l’approbation du fournisseur de revendications AD FS pour Active Directory

  1. Mettez à jour l’approbation du fournisseur de revendications AD FS pour Active Directory afin d’inclure la règle suivante de revendication « Pass-through » pour la revendication « WindowsDeviceGroup ».
  2. Dans Gestion AD FS, cliquez sur Approbations du fournisseur de revendications et, dans le volet droit, cliquez avec le bouton droit sur Active Directory et sélectionnez Modifier les règles de revendication.
  3. Dans la boîte de dialogue Modifier les règles de revendications pour Active Director, cliquez sur Ajouter une règle.
  4. Dans l'Assistant Ajout de règle de revendication de transformation, sélectionnez Transférer directement ou filtrer une revendication entrante, puis cliquez sur Suivant.
  5. Ajoutez un nom d’affichage et sélectionnez Groupe d’appareils Windows dans la liste déroulante Type de revendication entrante.
  6. Cliquez sur Terminer. Cliquez sur Appliquer, puis sur OK. Screenshot of the AD FS, Edit Claim Rules for Active Directory, and Edit Rule - Windows Device Group dialog boxes with arrows and call outs showing the workflow described above.

Étape 8 : Sur la partie de confiance où les revendications « WindowsDeviceGroup » sont attendues, ajoutez une règle de revendication « Pass-through » ou « Transform » similaire.

  1. Dans Gestion AD FS, cliquez sur Approbations de partie de confiance et, dans le volet droit, cliquez avec le bouton droit sur votre RP et sélectionnez Modifier les règles de revendication.
  2. Dans Règles de transformation d'émission, cliquez sur Ajouter une règle.
  3. Dans l'Assistant Ajout de règle de revendication de transformation, sélectionnez Transférer directement ou filtrer une revendication entrante, puis cliquez sur Suivant.
  4. Ajoutez un nom d’affichage et sélectionnez Groupe d’appareils Windows dans la liste déroulante Type de revendication entrante.
  5. Cliquez sur Terminer. Cliquez sur Appliquer, puis sur OK. Screenshot of the AD FS, Edit Claim Rules for myclaims.fedhome.in, and Edit Rule - Windows Device Grp dialog boxes with arrows and call outs showing the workflow described above.

Étapes de configuration d’AD FS dans Windows Server 2016

Voici les étapes de configuration de l’authentification composée sur AD FS pour Windows Server 2016.

Étape 1 : Activer la prise en charge du KDC pour les revendications, l’authentification composée et le blindage Kerberos sur la stratégie par défaut des contrôleurs de domaine

  1. Dans Gestionnaire de serveur, sélectionnez Outils, Gestion des stratégie de groupe.
  2. Accédez à la stratégie par défaut des contrôleurs de domaine, cliquez avec le bouton droit et sélectionnez Modifier.
  3. Dans Éditeur de gestion des stratégies de groupe, sous Configuration ordinateur, développez Stratégies, Modèles d’administration, Système, puis sélectionnez KDC.
  4. Dans le volet droit, double-cliquez sur Prise en charge du KDC des revendications, de l’authentification composée et du blindage Kerberos.
  5. Dans la nouvelle boîte de dialogue, définissez la prise en charge du KDC pour les revendications sur Activé.
  6. Sous Options, sélectionnez Pris en charge dans le menu déroulant, puis cliquez sur Appliquer et OK.

Étape 2 : Activer la prise en charge du client Kerberos pour les revendications, l’authentification composée et le blindage Kerberos sur les ordinateurs qui accèdent aux applications fédérées

  1. Sur une stratégie de groupe appliquée aux ordinateurs accédant aux applications fédérées, dans Éditeur de gestion des stratégies de groupe, sous Configuration de l’ordinateur, développez Stratégies, modèles d’administration, Système, puis sélectionnez Kerberos.
  2. Dans le volet droit de la fenêtre Éditeur de gestion des stratégies de groupe, double-cliquez sur Prise en charge du client Kerberos pour les revendications, l’authentification composée et le blindage Kerberos.
  3. Dans la nouvelle boîte de dialogue, définissez prise en charge du client Kerberos sur Activé, puis cliquez sur Appliquer et OK.
  4. Fermez l’Éditeur de gestion des stratégies de groupe.

Étape 3 : Configurer le fournisseur d’authentification principal

  1. Définissez le fournisseur d’authentification principal sur Authentification Windows pour les paramètres intranet AD FS.
  2. Dans Gestion AD FS, sous Stratégies d’authentification, sélectionnez Authentification principale et sous Paramètres globaux, cliquez sur Modifier.
  3. Dans Modifier la stratégie d’authentification générale sous Intranet , sélectionnez Authentification Windows.
  4. Cliquez sur Appliquer, puis sur OK.
  5. À l’aide de PowerShell, vous pouvez utiliser l’applet de commande Set-AdfsGlobalAuthenticationPolicy .
Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'

Notes

Dans une batterie de serveurs basée sur WID, la commande PowerShell doit être exécutée sur le serveur AD FS principal. Dans une batterie de serveurs SQL, la commande PowerShell peut être exécutée sur n’importe quel serveur AD FS qui est membre de la batterie de serveurs.

Étape 4 : Activer le bit d’authentification composée sur l’attribut msDS-SupportedEncryptionTypes

  1. Activez le bit d’authentification composée sur l’attribut msDS-SupportedEncryptionTypes sur le compte que vous avez désigné pour exécuter le service AD FS à l’aide de l’applet de commande PowerShell Set-ADServiceAccount .

Notes

Si vous modifiez le compte de service, vous devez activer manuellement l’authentification composée en exécutant les applets de commande Windows PowerShell Set-ADUser -compoundIdentitySupported:$true.

Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
  1. Redémarrez le service AD FS.

Notes

Une fois que « CompoundIdentitySupported » a la valeur true, l’installation du même gMSA sur les nouveaux serveurs (2012R2/2016) échoue avec l’erreur suivante : Install-ADServiceAccount : Impossible d’installer le compte de service. Message d’erreur : «Le contexte fourni ne correspondait pas à la cible.».

Solution : définissez temporairement CompoundIdentitySupported sur $false. Cette étape entraîne l’arrêt d’émission de revendications WindowsDeviceGroup par AD FS. Set-ADServiceAccount -Identity 'ADFS Service Account' -CompoundIdentitySupported:$false Installez le gMSA sur le nouveau serveur, puis activez CompoundIdentitySupported sur $True. La désactivation de CompoundIdentitySupported, puis la réactivation n’a pas besoin que le service AD FS soit redémarré.

Étape 5 : Mettre à jour l’approbation de fournisseur de revendications AD FS pour Active Directory

  1. Mettez à jour l’approbation du fournisseur de revendications AD FS pour Active Directory afin d’inclure la règle suivante de revendication « Pass-through » pour la revendication « WindowsDeviceGroup ».
  2. Dans Gestion AD FS, cliquez sur Approbations du fournisseur de revendications et, dans le volet droit, cliquez avec le bouton droit sur Active Directory et sélectionnez Modifier les règles de revendication.
  3. Dans la boîte de dialogue Modifier les règles de revendications pour Active Director, cliquez sur Ajouter une règle.
  4. Dans l'Assistant Ajout de règle de revendication de transformation, sélectionnez Transférer directement ou filtrer une revendication entrante, puis cliquez sur Suivant.
  5. Ajoutez un nom d’affichage et sélectionnez Groupe d’appareils Windows dans la liste déroulante Type de revendication entrante.
  6. Cliquez sur Terminer. Cliquez sur Appliquer, puis sur OK.

Étape 6 : Sur la partie de confiance où les revendications « WindowsDeviceGroup » sont attendues, ajoutez une règle de revendication « Pass-through » ou « Transform » similaire.

  1. Dans Gestion AD FS, cliquez sur Approbations de partie de confiance et, dans le volet droit, cliquez avec le bouton droit sur votre RP et sélectionnez Modifier les règles de revendication.
  2. Dans Règles de transformation d'émission, cliquez sur Ajouter une règle.
  3. Dans l'Assistant Ajout de règle de revendication de transformation, sélectionnez Transférer directement ou filtrer une revendication entrante, puis cliquez sur Suivant.
  4. Ajoutez un nom d’affichage et sélectionnez Groupe d’appareils Windows dans la liste déroulante Type de revendication entrante.
  5. Cliquez sur Terminer. Cliquez sur Appliquer, puis sur OK.

Validation

Pour valider la publication des revendications « WindowsDeviceGroup », créez une application de test prenant en charge les revendications à l’aide de .Net 4.6. Avec le kit de développement logiciel (SDK) WIF 4.0. Configurez l’application en tant que partie de confiance dans AD FS et mettez-la à jour avec la règle de revendication comme spécifié dans les étapes ci-dessus. Lors de l’authentification auprès de l’application à l’aide du fournisseur d’authentification Windows intégrée de Services AD FS, les revendications suivantes sont créées. Validation

Les revendications pour l’ordinateur ou pour l’appareil peuvent maintenant être consommées pour des contrôles d’accès plus riches.

Par exemple : les règles AdditionalAuthenticationRules suivantes indiquent aux Services AD FS d’appeler MFA si : l’utilisateur d’authentification n’est pas membre du groupe de sécurité « -1-5-21-2134745077-1211275016-3050530490-1117 » ET l’ordinateur (à partir duquel l’utilisateur s’authentifie) n’est pas membre du groupe de sécurité « S-1-5-21-2134745077-1211275016-3050530490-1115 (WindowsDeviceGroup) »

Toutefois, si l’une des conditions ci-dessus est remplie, n’appelez pas l’authentification MFA.

'NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1115"])
&& NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1117"])
=> issue(Type = "https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", Value = "https://schemas.microsoft.com/claims/multipleauthn");'