Настройка ограниченного делегирования Kerberos (KCD) в доменных службах Microsoft Entra

Запускаемым приложениям иногда требуется доступ к ресурсам в контексте другого пользователя. Доменные службы Active Directory (AD DS) поддерживают механизм под названием делегирование Kerberos, который позволяет удовлетворить эту потребность. Ограниченное делегирование Kerberos (KCD) использует этот механизм, чтобы задать конкретные ресурсы, к которым можно получить доступ в контексте пользователя.

Управляемые домены доменных служб Microsoft Entra более безопасно заблокированы, чем традиционные локальные среды AD DS, поэтому используйте более безопасный KCD на основе ресурсов.

В этой статье показано, как настроить ограниченное делегирование Kerberos на основе ресурсов в управляемом домене доменных служб.

Необходимые компоненты

Для работы с этой статьей требуются следующие ресурсы:

Обзор ограниченного делегирования Kerberos

С помощью делегирования Kerberos одна учетная запись может выдать себя за другую для доступа к ресурсам. Например, веб-приложение, которое обращается к серверному веб-компоненту, может выдать себя за учетную запись другого пользователя при подключении к серверу. Делегирование Kerberos небезопасно, так как не ограничивает ресурсы, к которым может получить доступ учетная запись, олицетворяющая другую.

Ограниченное делегирование Kerberos (KCD) сокращает набор служб или ресурсов, к которым может подключаться конкретный сервер или приложение при олицетворении другого удостоверения. Традиционному KCD требуются привилегии администратора домена, чтобы настроить для службы учетную запись домена. Возможности применения этой учетной записи ограничены одним доменом.

У традиционных KCD есть еще несколько проблем. Например, в более ранних версиях операционных систем у администратора служб не было возможности узнать, какие интерфейсные службы делегируются службам ресурсов, владельцем которых он является. Любая интерфейсная служба, которую можно было делегировать службе ресурса, являлась потенциальной точкой атаки. Если сервер, на котором размещалась интерфейсная служба, настроенная для делегирования службам ресурсов, подвергался компрометации, службы ресурсов также могли быть скомпрометированы.

В управляемом домене у вас нет привилегий администратора домена. Поэтому в нем нельзя настроить традиционное ограниченное делегирование Kerberos на основе учетной записи. Вместо этого можно использовать KCD на основе ресурсов, что более безопасно.

Ограниченное делегирование Kerberos на основе ресурсов

Windows Server 2012 и более поздние версии позволяют администраторам служб настраивать ограниченное делегирование для своей службы. Такая модель называется ограниченным делегированием Kerberos на основе ресурсов. В этой модели администратор служб сервера может разрешить или запретить конкретным интерфейсным службам использовать ограниченное делегирование Kerberos.

Ограниченное делегирование Kerberos на основе ресурсов настраивается с помощью PowerShell. Командлеты Set-ADComputer или Set-ADUser используются в зависимости от того, является ли олицетворение учетной записью компьютера или учетной записью пользователя или учетной записью службы.

Настройка ограниченного делегирования Kerberos на основе ресурсов для учетной записи компьютера

Возьмем следующий сценарий: у вас есть веб-приложение, которое выполняется на компьютере contoso-webapp.aaddscontoso.com.

Веб-приложению необходим доступ к веб-API, который выполняется на компьютере contoso-api.aaddscontoso.com в контексте пользователей домена.

Выполните указанные далее действия, чтобы настроить этот сценарий.

  1. Создайте настраиваемое подразделение. Вы можете делегировать разрешения, чтобы управлять настраиваемым подразделением пользователей в управляемом домене.

  2. Присоедините к управляемому домену виртуальные машины: на одной из них будет выполняться веб-приложение, а на другой будет работать веб-API в управляемом домене. Создайте учетные записи этих компьютеров в настраиваемом подразделении из предыдущего шага.

    Примечание.

    Учетные записи компьютеров для веб-приложения и веб-API должны находиться в настраиваемом подразделении, для которого у вас есть разрешения на настройку KCD на основе ресурсов. Вы не можете настроить KCD на основе ресурсов для учетной записи компьютера в встроенном контейнере компьютеров Контроллера домена Microsoft Entra.

  3. Наконец, настройте ограниченное делегирование Kerberos на основе ресурсов с помощью командлета PowerShell Set-ADComputer.

    На виртуальной машине управления, присоединенной к домену, и войдите в систему в качестве учетной записи пользователя, которая входит в группу администраторов контроллера домена Майкрософт, выполните следующие командлеты. При необходимости укажите собственные имена компьютеров.

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

Настройка ограниченного делегирования Kerberos на основе ресурсов для учетной записи пользователя

Возьмем следующий сценарий: у вас есть веб-приложение, запускаемое под учетной записью службы с именем appsvc. Веб-приложению необходимо получить доступ к веб-API, который выполняется под учетной записью службы с именем backendsvc в контексте пользователей домена. Выполните указанные далее действия, чтобы настроить этот сценарий.

  1. Создайте настраиваемое подразделение. Вы можете делегировать разрешения, чтобы управлять настраиваемым подразделением пользователей в управляемом домене.

  2. Присоедините виртуальную машину, на которой выполняется серверный веб-API или ресурс, к управляемому домену. Создайте учетную запись компьютера в настраиваемом подразделении.

  3. Создайте учетную запись службы (например, appsvc), используемую для запуска веб-приложения в настраиваемом подразделении.

    Примечание.

    Напомним, что учетная запись компьютера для виртуальной машины с веб-API и учетная запись службы для веб-приложения должны находиться в настраиваемом подразделении, для которого у вас есть разрешения на настройку KCD на основе ресурсов. Вы не можете настроить KCD на основе ресурсов для учетных записей в встроенных компьютерах контроллера домена Майкрософт или контейнерах пользователей контроллера домена Microsoft Entra DC. Это также означает, что вы не можете использовать учетные записи пользователей, синхронизированные с идентификатора Microsoft Entra для настройки KCD на основе ресурсов. Необходимо создать и использовать учетные записи служб, специально созданные в доменных службах.

  4. Наконец, настройте ограниченное делегирование Kerberos на основе ресурсов с помощью командлета PowerShell Set-ADUser.

    На виртуальной машине управления, присоединенной к домену, и войдите в систему в качестве учетной записи пользователя, которая входит в группу администраторов контроллера домена Майкрософт, выполните следующие командлеты. При необходимости укажите собственные имена служб.

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

Следующие шаги

Дополнительные сведения о работе делегирования в доменных службах Active Directory см. в разделе Обзор ограниченного делегирования Kerberos.