Konfigurera Kerberos-begränsad delegering (KCD) i Azure Active Directory Domain Services

När du kör program kan det finnas ett behov av att programmen får åtkomst till resurser i kontexten för en annan användare. Active Directory Domain Services (AD DS) stöder en mekanism som kallas Kerberos-delegering som möjliggör det här användningsfallet. Kerberos-begränsad delegering (KCD) bygger sedan på den här mekanismen för att definiera specifika resurser som kan nås i kontexten för användaren.

Azure Active Directory Domain Services (Azure AD DS) är säkrare låsta än traditionella lokala AD DS-miljöer, så använd en säkrare resursbaserad KCD.

Den här artikeln visar hur du konfigurerar resursbaserad Kerberos-begränsad delegering i en Azure AD DS hanterad domän.

Förutsättningar

För att kunna slutföra den här artikeln behöver du följande resurser:

Översikt över Kerberos-begränsad delegering

Med Kerberos-delegering kan ett konto personifiera ett annat konto för att få åtkomst till resurser. Ett webbprogram som har åtkomst till en webbkomponent på en backend-komponent kan till exempel personifiera sig själv som ett annat användarkonto när den upprättar en backend-anslutning. Kerberos-delegering är osäker eftersom den inte begränsar vilka resurser som det personifierande kontot kan komma åt.

Kerberos-begränsad delegering (KCD) begränsar de tjänster eller resurser som en angiven server eller ett program kan ansluta när en annan identitet personifieras. Traditionell KCD kräver domänadministratörsbehörighet för att konfigurera ett domänkonto för en tjänst, och det begränsar kontot till att köras på en enda domän.

Traditionell KCD har också några problem. I tidigare operativsystem hade tjänstadministratören till exempel inget användbart sätt att veta vilka frontend-tjänster som delegerades till de resurstjänster som de ägde. En frontend-tjänst som kunde delegera till en resurstjänst var en potentiell attackpunkt. Om en server som var värd för en frontend-tjänst som konfigurerats för att delegera till resurstjänster komprometteras, kan resurstjänsterna också komprometteras.

I en hanterad domän har du inte domänadministratörsbehörighet. Därför kan traditionell kontobaserad KCD inte konfigureras i en hanterad domän. Resursbaserad KCD kan i stället användas, vilket också är säkrare.

Resursbaserad KCD

Windows Server 2012 och senare ger tjänstadministratörer möjlighet att konfigurera begränsad delegering för sin tjänst. Den här modellen kallas resursbaserad KCD. Med den här metoden kan servertjänstadministratören tillåta eller neka specifika klienttjänster från att använda KCD.

Resursbaserad KCD konfigureras med Hjälp av PowerShell. Du använder cmdletarna Set-ADComputer eller Set-ADUser , beroende på om det personifierande kontot är ett datorkonto eller ett användarkonto/tjänstkonto.

Konfigurera resursbaserad KCD för ett datorkonto

I det här scenariot antar vi att du har en webbapp som körs på datorn med namnet contoso-webapp.aaddscontoso.com.

Webbappen måste ha åtkomst till ett webb-API som körs på datorn contoso-api.aaddscontoso.com i kontexten för domänanvändare.

Utför följande steg för att konfigurera det här scenariot:

  1. Skapa en anpassad organisationsenhet. Du kan delegera behörigheter för att hantera den här anpassade organisationsenheten till användare i den hanterade domänen.

  2. Domän-anslut de virtuella datorerna, både den som kör webbappen och den som kör webb-API:et, till den hanterade domänen. Skapa dessa datorkonton i den anpassade organisationsenheten från föregående steg.

    Anteckning

    Datorkontona för webbappen och webb-API:et måste finnas i en anpassad organisationsenhet där du har behörighet att konfigurera resursbaserad KCD. Du kan inte konfigurera resursbaserad KCD för ett datorkonto i den inbyggda containern AAD DC Computers.

  3. Slutligen konfigurerar du resursbaserad KCD med hjälp av PowerShell-cmdleten Set-ADComputer .

    Kör följande cmdlets från din domän-ansluten virtuella hanterings-VM och loggat in som användarkonto som är medlem i gruppen Azure AD DC-administratörer . Ange dina egna datornamn efter behov:

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

Konfigurera resursbaserad KCD för ett användarkonto

I det här scenariot antar vi att du har en webbapp som körs som ett tjänstkonto med namnet appsvc. Webbappen måste ha åtkomst till ett webb-API som körs som ett tjänstkonto med namnet backendsvc i kontexten för domänanvändare. Utför följande steg för att konfigurera det här scenariot:

  1. Skapa en anpassad organisationsenhet. Du kan delegera behörigheter för att hantera den här anpassade organisationsenheten till användare i den hanterade domänen.

  2. Domän-anslut de virtuella datorer som kör serverdelens webb-API/resurs till den hanterade domänen. Skapa sitt datorkonto i den anpassade organisationsenheten.

  3. Skapa tjänstkontot (till exempel appsvc) som används för att köra webbappen i den anpassade organisationsenheten.

    Anteckning

    Återigen måste datorkontot för den virtuella webb-API-datorn och tjänstkontot för webbappen finnas i en anpassad organisationsenhet där du har behörighet att konfigurera resursbaserad KCD. Du kan inte konfigurera resursbaserad KCD för konton i de inbyggda AAD DC-datorerna eller AAD DC-användare. Det innebär också att du inte kan använda användarkonton som synkroniseras från Azure AD för att konfigurera resursbaserad KCD. Du måste skapa och använda tjänstkonton som skapats specifikt i Azure AD DS.

  4. Slutligen konfigurerar du resursbaserad KCD med hjälp av PowerShell-cmdleten Set-ADUser .

    Kör följande cmdlets från din domän-ansluten virtuella hanterings-VM och loggat in som användarkonto som är medlem i gruppen Azure AD DC-administratörer . Ange dina egna tjänstnamn efter behov:

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

Nästa steg

Mer information om hur delegering fungerar i Active Directory Domain Services finns i Översikt över Kerberos-begränsad delegering.