Partager via


Configurer la délégation Kerberos contrainte (KCD) dans Microsoft Entra Domain Services

Lorsque vous exécutez des applications, il peut être nécessaire que ces applications accèdent aux ressources dans le contexte d’un autre utilisateur. Active Directory Domain Services (AD DS) prend en charge un mécanisme appelé délégation Kerberos qui active ce cas d’utilisation. La délégation Kerberos contrainte (KCD) s’appuie ensuite sur ce mécanisme pour définir des ressources spécifiques accessibles dans le contexte de l’utilisateur.

Les domaines managés microsoft Entra Domain Services sont plus sécurisés que les environnements AD DS locaux traditionnels. Utilisez donc un KCD plus sécurisé basé sur des ressources .

Cet article explique comment configurer la délégation contrainte de Kerberos basée sur les ressources dans un domaine géré par Domain Services.

Prerequisites

Pour effectuer ce qui est décrit dans cet article, vous avez besoin des ressources suivantes :

Aperçu de la délégation Kerberos contrainte

La délégation Kerberos permet à un compte d’emprunter l’identité d’un autre compte pour accéder aux ressources. Par exemple, une application web qui accède à un composant web de back-end peut se faire passer pour un autre compte utilisateur lorsqu'elle établit la connexion back-end. La délégation de Kerberos est vulnérable, car elle ne limite pas les ressources auxquelles le compte qui emprunte l'identité peut accéder.

La délégation Kerberos contrainte (KCD) restreint les services ou ressources auxquels un serveur ou une application spécifié peut accéder dans le cadre de l'emprunt d'une autre identité. Le KCD traditionnel nécessite des privilèges d’administrateur de domaine pour configurer un compte de domaine pour un service et restreint l’exécution du compte sur un seul domaine.

Le KCD traditionnel présente également quelques problèmes. Par exemple, dans les systèmes d’exploitation précédents, l’administrateur de service n’avait aucun moyen utile de savoir quels services frontaux délégués aux services de ressources qu’ils possédaient. Tout service frontal qui pouvait déléguer à un service de ressources était un point d’attaque potentiel. Si un serveur qui a hébergé un service frontal configuré pour déléguer aux services de ressources a été compromis, les services de ressources peuvent également être compromis.

Dans un domaine managé, vous n’avez pas de privilèges d’administrateur de domaine. Par conséquent, le KCD traditionnel basé sur un compte ne peut pas être configuré dans un domaine managé. Le KCD basé sur des ressources peut être utilisé à la place, ce qui est également plus sécurisé.

KCD basé sur des ressources

Windows Server 2012 et versions ultérieures donne aux administrateurs de service la possibilité de configurer la délégation contrainte pour leur service. Ce modèle est appelé KCD basé sur des ressources. Avec cette approche, l’administrateur de service principal peut autoriser ou refuser des services frontaux spécifiques à l’aide de KCD.

Le KCD basé sur des ressources est configuré à l’aide de PowerShell. Vous utilisez les applets de commande Set-ADComputer ou Set-ADUser, selon que le compte d’emprunt d’identité est un compte d’ordinateur ou un compte utilisateur ou compte de service.

Configurer le KCD basé sur des ressources pour un compte d’ordinateur

Dans ce scénario, supposons que vous disposez d’une application web qui s’exécute sur l’ordinateur nommé contoso-webapp.aaddscontoso.com.

L’application web doit accéder à une API web qui s’exécute sur l’ordinateur nommé contoso-api.aaddscontoso.com dans le contexte des utilisateurs du domaine.

Effectuez les étapes suivantes pour configurer ce scénario :

  1. Créez une unité d’organisation personnalisée. Vous pouvez déléguer des autorisations pour gérer cette unité d’organisation personnalisée aux utilisateurs du domaine managé.

  2. Ajoutez les machines virtuelles, à la fois celle qui exécute l’application web et celle qui exécute l’API web, au domaine géré. Créez ces comptes d'ordinateur dans l'OU personnalisée à partir de l'étape précédente.

    Note

    Les comptes d’ordinateur pour l’application web et l’API web doivent se trouver dans une unité d’organisation personnalisée où vous disposez des autorisations nécessaires pour configurer le KCD basé sur des ressources. Vous ne pouvez pas configurer le KCD basé sur les ressources, pour un compte d’ordinateur, dans le conteneur par défaut intégré Microsoft Entra DC Computers.

  3. Enfin, configurez le KCD basé sur des ressources à l’aide de l’applet de commande PowerShell Set-ADComputer .

    À partir de votre machine virtuelle de gestion jointe à un domaine et connecté en tant que compte d’utilisateur membre du groupe administrateurs Microsoft Entra DC , exécutez les applets de commande suivantes. Fournissez vos propres noms d’ordinateurs en fonction des besoins :

    $ImpersonatingAccount = Get-ADComputer -Identity contoso-webapp.aaddscontoso.com
    Set-ADComputer contoso-api.aaddscontoso.com -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
    

Configurer le KCD basé sur des ressources pour un compte d’utilisateur

Dans ce scénario, supposons que vous disposez d’une application web qui s’exécute en tant que compte de service nommé appsvc. L’application web doit accéder à une API web qui s’exécute en tant que compte de service nommé backendsvc dans le contexte des utilisateurs du domaine. Effectuez les étapes suivantes pour configurer ce scénario :

  1. Créez une unité d’organisation personnalisée (OU). Vous pouvez déléguer des autorisations pour gérer cette unité d’organisation personnalisée aux utilisateurs du domaine managé.

  2. Joignez les machines virtuelles au domaine qui exécutent l’API/ressource web back-end dans le domaine managé. Créez son compte d’ordinateur dans l’unité d’organisation personnalisée.

  3. Créez le compte de service (par exemple, appsvc) utilisé pour exécuter l’application web dans l’unité d’organisation personnalisée.

    Note

    Là encore, le compte d’ordinateur de la machine virtuelle de l’API web et le compte de service de l’application web doivent se trouver dans une unité d’organisation personnalisée où vous disposez des autorisations nécessaires pour configurer le KCD basé sur des ressources. Vous ne pouvez pas configurer le KCD basé sur les ressources pour les comptes dans les conteneurs intégrés Microsoft Entra DC Computers ou Microsoft Entra DC Users. Cela signifie également que vous ne pouvez pas utiliser les comptes d’utilisateur synchronisés à partir de l’ID Microsoft Entra pour configurer le KCD basé sur des ressources. Vous devez créer et utiliser des comptes de service spécifiquement créés dans Domain Services.

  4. Enfin, configurez le KCD basé sur des ressources à l’aide de l’applet de commande Set-ADUser PowerShell.

    À partir de votre machine virtuelle de gestion jointe à un domaine et connecté en tant que compte d’utilisateur membre du groupe administrateurs Microsoft Entra DC , exécutez les applets de commande suivantes. Fournissez vos propres noms de service en fonction des besoins :

    $ImpersonatingAccount = Get-ADUser -Identity appsvc
    Set-ADUser backendsvc -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
    

Étapes suivantes

Pour en savoir plus sur le fonctionnement de la délégation dans les services de domaine Active Directory, consultez Vue d’ensemble de la délégation Contrainte Kerberos.