Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 :
- Un abonnement Azure actif.
- Si vous n’avez pas d’abonnement Azure, créez un compte.
- Un tenant Microsoft Entra associé à votre abonnement, soit synchronisé avec un annuaire local, soit uniquement avec un annuaire cloud.
- Si nécessaire, créez un locataire Microsoft Entra ou associez un abonnement Azure à votre compte.
- Un domaine géré par Microsoft Entra Domain Services, activé et configuré dans le tenant de votre instance Microsoft Entra.
- Une machine virtuelle d’administration Windows Server jointe au domaine géré des Services de domaine.
- Si nécessaire, suivez le tutoriel pour créer une machine virtuelle Windows Server et la joindre à un domaine managé , puis installez les outils de gestion AD DS.
- Un compte d'utilisateur qui est membre du groupe Administrateurs Microsoft Entra DC dans votre locataire Microsoft Entra.
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 :
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é.
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.
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 :
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é.
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.
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.
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.