Konfigurowanie ograniczonego delegowania protokołu Kerberos (KCD) w usługach Microsoft Entra Domain Services
W miarę uruchamiania aplikacji może pojawić się konieczność, aby te aplikacje uzyskiwały dostęp do zasobów w kontekście innego użytkownika. Usługi Active Directory Domain Services (AD DS) obsługują mechanizm o nazwie delegowania protokołu Kerberos, który umożliwia ten scenariusz. Protokół Kerberos ograniczone delegowanie (KCD) następnie opiera się na tym mechanizmie w celu zdefiniowania określonych zasobów, do których można uzyskać dostęp w kontekście użytkownika.
Zarządzane domeny Microsoft Entra Domain Services są bardziej zabezpieczone niż tradycyjne lokalne środowiska AD DS, dlatego używaj bezpieczniejszego opartego na zasobach KCD.
W tym artykule przedstawiono sposób konfigurowania ograniczonego delegowania Kerberos opartego na zasobach w domenie zarządzanej usługami domenowymi.
Warunki wstępne
Do ukończenia tego artykułu potrzebne są następujące zasoby:
- Aktywna subskrypcja platformy Azure.
- Jeśli nie masz subskrypcji platformy Azure, utwórz konto.
- Microsoft Entra skojarzona z twoją subskrypcją, zsynchronizowana z katalogiem lokalnym lub tylko z katalogiem w chmurze.
- W razie potrzeby utwórz dzierżawę usługi Microsoft Entra lub skojarz subskrypcję platformy Azure z kontem.
- Domena zarządzana za pomocą Microsoft Entra Domain Services jest włączona i skonfigurowana w dzierżawie Microsoft Entra.
- Maszyna wirtualna zarządzająca Windows Server, przyłączona do zarządzanej domeny usług domenowych.
- W razie potrzeby ukończ samouczek, aby utworzyć maszynę wirtualną z systemem Windows Server i dołączyć ją do domeny zarządzanej następnie zainstalować narzędzia do zarządzania usługAMI AD DS.
- Konto użytkownika będące członkiem administratorzy microsoft Entra DC grupy w dzierżawie firmy Microsoft Entra.
Omówienie ograniczonego delegowania Kerberos
Delegowanie protokołu Kerberos umożliwia jednemu kontu personifikację innego konta w celu uzyskania dostępu do zasobów. Na przykład aplikacja internetowa, która uzyskuje dostęp do składnika internetowego zaplecza, może personifikować się jako inne konto użytkownika, gdy nawiązuje połączenie zaplecza. Delegowanie protokołu Kerberos jest niezabezpieczone, ponieważ nie ogranicza zasobów, do których może uzyskiwać dostęp personifikujące konto.
Protokół Kerberos delegowanie z ograniczeniami (KCD) ogranicza usługi lub zasoby, z którymi określony serwer lub aplikacja może nawiązać połączenie, dokonując personifikacji innej tożsamości. Tradycyjne KCD wymaga uprawnień administratora domeny do skonfigurowania konta domeny dla usługi i ogranicza konto do uruchamiania w jednej domenie.
Tradycyjne KCD ma również kilka problemów. Na przykład we wcześniejszych systemach operacyjnych administrator usług nie miał użytecznego sposobu, aby dowiedzieć się, które usługi front-end były delegowane do usług zasobów, które były ich własnością. Każda usługa front-end, która mogła delegować do usługi zasobowej, była potencjalnym punktem ataku. Jeśli naruszono bezpieczeństwo serwera hostującego usługę front-end skonfigurowaną do delegowania do usług zasobowych, usługi zasobowe również mogą zostać naruszone.
W domenie zarządzanej nie masz uprawnień administratora domeny. W związku z tym tradycyjne KCD oparte na koncie nie można skonfigurować w domenie zarządzanej. Zamiast tego można użyć KCD opartego na zasobach, co jest również bezpieczniejsze.
KCD oparte na zasobach
System Windows Server 2012 lub nowszy udostępnia administratorom usług możliwość konfigurowania ograniczonego delegowania dla swojej usługi. Ten model jest znany jako KCD oparty na zasobach. Dzięki temu podejściu administrator usługi zaplecza serwera może zezwalać lub odmawiać określonym usługom frontowym na korzystanie z KCD.
Usługa KCD oparta na zasobach jest skonfigurowana przy użyciu programu PowerShell. Korzystasz z polecenia cmdlet set-ADComputer lub set-ADUser, w zależności od tego, czy personifikujące konto jest kontem komputera, kontem użytkownika lub kontem usługi.
Konfigurowanie klucza KCD opartego na zasobach dla konta komputera
W tym scenariuszu załóżmy, że masz aplikację internetową działającą na komputerze o nazwie contoso-webapp.aaddscontoso.com.
Aplikacja internetowa musi uzyskać dostęp do API internetowego działającego na komputerze nazywanym contoso-api.aaddscontoso.com w kontekście użytkowników w domenie.
Wykonaj następujące kroki, aby skonfigurować ten scenariusz:
Utwórz niestandardową jednostkę organizacyjną. Możesz delegować uprawnienia do zarządzania tą niestandardową jednostką organizacyjną użytkownikom w zarządzanej domenie.
Dołącz maszyny wirtualne do domeny— zarówno tę, która uruchamia aplikację internetową, jak i tę, która uruchamia interfejs API — do domeny zarządzanej. Utwórz te konta komputerów w niestandardowej jednostce organizacyjnej z poprzedniego kroku.
Notatka
Konta komputerów dla aplikacji internetowej i internetowego interfejsu API muszą znajdować się w niestandardowej jednostki organizacyjnej, w której masz uprawnienia do konfigurowania KCD opartego na zasobach. Nie można skonfigurować kontrolera KCD opartego na zasobach dla konta komputera w wbudowanym kontenerze Microsoft Entra DC Computers.
Na koniec skonfiguruj KCD oparte na zasobach przy użyciu polecenia cmdlet Set-ADComputer programu PowerShell.
Z maszyny wirtualnej zarządzania przyłączonej do domeny i zalogowano się jako konto użytkownika, które jest członkiem administratorzy microsoft Entra DC grupy, uruchom następujące polecenia cmdlet. Podaj własne nazwy komputerów zgodnie z potrzebami:
$ImpersonatingAccount = Get-ADComputer -Identity contoso-webapp.aaddscontoso.com Set-ADComputer contoso-api.aaddscontoso.com -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
Konfigurowanie opartego na zasobach KCD dla konta użytkownika
W tym scenariuszu załóżmy, że masz aplikację internetową, która działa jako konto usługi o nazwie appsvc. Aplikacja internetowa musi uzyskać dostęp do internetowego interfejsu API, który działa jako konto usługi o nazwie backendsvc w kontekście użytkowników domeny. Wykonaj następujące kroki, aby skonfigurować ten scenariusz:
Utwórz niestandardową jednostkę organizacyjną. Możesz delegować uprawnienia użytkownikom w domenie zarządzanej do zarządzania tą niestandardową jednostką organizacyjną.
Dołącz maszyny wirtualne, które uruchamiają interfejs API/zasób internetowego zaplecza, do domeny zarządzanej. Utwórz konto komputera w niestandardowej jednostce organizacyjnej.
Utwórz konto usługi (na przykład appsvc) używane do uruchamiania aplikacji internetowej w ramach niestandardowej jednostki organizacyjnej.
Notatka
Konto maszynowe dla maszyny wirtualnej interfejsu API i konto usługi dla aplikacji internetowej muszą znajdować się w własnych jednostkach organizacyjnych, w których masz uprawnienia do konfigurowania KCD opartego na zasobach. Nie można skonfigurować opartego na zasobach KCD dla kont w wbudowanych kontenerach Komputery Microsoft Entra DC lub Użytkownicy Microsoft Entra DC. Oznacza to również, że nie można używać kont użytkowników zsynchronizowanych z identyfikatorem Entra firmy Microsoft w celu skonfigurowania KCD opartego na zasobach. Musisz utworzyć i używać kont usług utworzonych specjalnie w usługach Domain Services.
Na koniec skonfiguruj KCD oparty na zasobach przy użyciu cmdletu Set-ADUser programu PowerShell.
Z maszyny wirtualnej zarządzania przyłączonej do domeny i zalogowano się jako konto użytkownika, które jest członkiem administratorzy microsoft Entra DC grupy, uruchom następujące polecenia cmdlet. Podaj własne nazwy usług zgodnie z potrzebami:
$ImpersonatingAccount = Get-ADUser -Identity appsvc Set-ADUser backendsvc -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
Następne kroki
Aby dowiedzieć się więcej o tym, jak funkcjonuje delegowanie w usługach Active Directory Domain Services, sprawdź Omówienie ograniczonego delegowania protokołu Kerberos.