Beperkte Kerberos-delegering (KCD) configureren in Azure Active Directory Domain Services

Bij het uitvoeren van toepassingen is het mogelijk nodig dat deze toepassingen toegang hebben tot resources in de context van een andere gebruiker. Active Directory Domain Services (AD DS) ondersteunt een mechanisme met de naam Kerberos-delegering dat deze use-case mogelijk maakt. Kerberos-beperkte delegatie (KCD) bouwt vervolgens voort op dit mechanisme om specifieke resources te definiëren die toegankelijk zijn in de context van de gebruiker.

Azure Active Directory Domain Services (Azure AD DS) beheerde domeinen zijn veiliger vergrendeld dan traditionele on-premises AD DS-omgevingen, dus gebruik een veiligere KCD op basis van resources.

In dit artikel wordt beschreven hoe u beperkte Kerberos-delegering op basis van resources configureert in een Azure AD DS beheerd domein.

Vereisten

U hebt de volgende resources nodig om dit artikel te voltooien:

Overzicht van beperkte Kerberos-delegering

Met Kerberos-delegering kan één account een ander account imiteren voor toegang tot resources. Een webtoepassing die toegang heeft tot een back-endwebonderdeel kan zichzelf bijvoorbeeld imiteren als een ander gebruikersaccount wanneer de back-endverbinding tot stand wordt brengen. Kerberos-delegering is onveilig omdat het niet beperkt tot welke resources het imitatieaccount toegang heeft.

Kerberos-beperkte delegatie (KCD) beperkt de services of resources die een opgegeven server of toepassing kan verbinden bij het imiteren van een andere identiteit. Traditionele KCD vereist domeinbeheerdersbevoegdheden om een domeinaccount voor een service te configureren en het account wordt beperkt tot uitvoeren op één domein.

Traditionele KCD heeft ook een aantal problemen. In eerdere besturingssystemen had de servicebeheerder bijvoorbeeld geen handige manier om te weten welke front-endservices waren gedelegeerd aan de resourceservices waarvan ze eigenaar waren. Elke front-endservice die aan een resourceservice kan worden gedelegeerd, was een mogelijk aanvalspunt. Als een server die als host voor een front-endservice is geconfigureerd om te delegeren aan resourceservices is gecompromitteerd, kunnen de resourceservices ook worden aangetast.

In een beheerd domein hebt u geen domeinbeheerdersbevoegdheden. Als gevolg hiervan kan traditionele KCD op basis van een account niet worden geconfigureerd in een beheerd domein. In plaats daarvan kan op resources gebaseerde KCD worden gebruikt, wat ook veiliger is.

Op resources gebaseerde KCD

Windows Server 2012 en hoger biedt servicebeheerders de mogelijkheid om beperkte delegatie voor hun service te configureren. Dit model wordt KCD op basis van resources genoemd. Met deze methode kan de beheerder van de back-endservice het gebruik van KCD toestaan of weigeren voor specifieke front-endservices.

Op resources gebaseerde KCD wordt geconfigureerd met behulp van PowerShell. U gebruikt de cmdlets Set-ADComputer of Set-ADUser, afhankelijk van of het imitatieaccount een computeraccount of een gebruikersaccount of serviceaccount is.

Op resources gebaseerde KCD configureren voor een computeraccount

In dit scenario gaan we ervan uit dat u een web-app hebt die wordt uitgevoerd op de computer met de contoso-webapp.aaddscontoso.com.

De web-app moet toegang hebben tot een web-API die wordt uitgevoerd op de computer met contoso-api.aaddscontoso.com in de context van domeingebruikers.

Voltooi de volgende stappen om dit scenario te configureren:

  1. Maak een aangepaste OE. U kunt machtigingen voor het beheren van deze aangepaste organisatie-eenheid delegeren aan gebruikers binnen het beheerde domein.

  2. Voeg de virtuele machines toe aan het beheerde domein, zowel de virtuele machines die de web-app worden uitgevoerd als de machines die de web-APIworden uitgevoerd. Maak deze computeraccounts in de aangepaste OE uit de vorige stap.

    Notitie

    De computeraccounts voor de web-app en de web-API moeten zich in een aangepaste OE met machtigingen voor het configureren van KCD op basis van resources. U kunt op resources gebaseerde KCD niet configureren voor een computeraccount in de ingebouwde AAD DC Computers-container.

  3. Configureer ten slotte op resources gebaseerde KCD met behulp van de PowerShell-cmdlet Set-ADComputer.

    Voer de volgende cmdlets uit vanaf uw domein-VM voor beheer en aangemeld als gebruikersaccount dat lid is van de Azure AD DC-beheerdersgroep. Geef waar nodig uw eigen computernamen op:

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

Op resources gebaseerde KCD configureren voor een gebruikersaccount

In dit scenario gaan we ervan uit dat u een web-app hebt die wordt uitgevoerd als een serviceaccount met de naam appsvc. De web-app moet toegang hebben tot een web-API die wordt uitgevoerd als een serviceaccount met de naam backendsvc in de context van domeingebruikers. Voltooi de volgende stappen om dit scenario te configureren:

  1. Maak een aangepaste OE. U kunt machtigingen voor het beheren van deze aangepaste organisatie-eenheid delegeren aan gebruikers binnen het beheerde domein.

  2. Voeg domein toe aan het beheerde domein van de virtuele machines die de back-ende web-API/resource uitvoeren. Maak het computeraccount in de aangepaste organisatie-eenheid.

  3. Maak het serviceaccount (bijvoorbeeld appsvc) dat wordt gebruikt om de web-app uit te voeren binnen de aangepaste organisatie-eenheid.

    Notitie

    Nogmaals, het computeraccount voor de web-API-VM en het serviceaccount voor de web-app moeten zich in een aangepaste OE waarin u machtigingen hebt om KCD op basis van resources te configureren. U kunt KCD op basis van resources niet configureren voor accounts in de ingebouwde AAD DC-computers of AAD DC-gebruikerscontainers. Dit betekent ook dat u geen gebruikersaccounts kunt gebruiken die zijn gesynchroniseerd vanuit Azure AD om op resources gebaseerde KCD in te stellen. U moet serviceaccounts maken en gebruiken die specifiek zijn gemaakt in Azure AD DS.

  4. Configureer tot slot op resources gebaseerde KCD met behulp van de PowerShell-cmdlet Set-ADUser.

    Voer de volgende cmdlets uit vanaf uw domein-VM voor beheer en aangemeld als gebruikersaccount dat lid is van de Azure AD DC-beheerdersgroep. Geef waar nodig uw eigen servicenamen op:

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

Volgende stappen

Zie Kerberos Constrained Delegation Overview(Overzicht van beperkte Kerberos-delegering) voor meer Active Directory Domain Services delegering.