Настройка ограниченного делегирования Kerberos (KCD) в доменных службах Microsoft Entra
При запуске приложений может потребоваться доступ к ресурсам в контексте другого пользователя. Доменные службы Active Directory (AD DS) поддерживают механизм, называемый делегированием Kerberos,, который позволяет использовать этот вариант использования. Затем Kerberos ограниченное делегирование (KCD) расширяет этот механизм для определения конкретных ресурсов, к которым можно получить доступ в контексте пользователя.
Управляемые домены доменных служб Microsoft Entra более надёжно защищены, чем традиционные локальные среды AD DS, поэтому используйте более безопасный основанный на ресурсах KCD.
В этой статье показано, как настроить ограниченное делегирование Kerberos на основе ресурсов в управляемом домене доменных служб.
Необходимые условия
Чтобы завершить эту статью, вам потребуются следующие ресурсы:
- Активная подписка Azure.
- Если у вас нет подписки Azure, создайте учетную запись.
- Клиент Microsoft Entra, связанный с подпиской, либо синхронизирован с локальным каталогом или облачным каталогом.
- При необходимости создать клиент Microsoft Entra или связать подписку Azure с вашей учетной записью.
- Управляемый домен доменных служб Microsoft Entra включен и настроен в клиенте Microsoft Entra.
- При необходимости создать и настроить управляемыйдомен доменных служб Microsoft Entra.
- Виртуальная машина управления Windows Server, присоединенная к управляемому домену доменных служб.
- При необходимости выполните руководство, чтобы создать виртуальную машину Windows Server и присоединить ее к управляемому домену затем установить средства управления AD DS.
- Учетная запись пользователя, являющаяся членом группы администраторов Microsoft Entra DC в клиенте Microsoft Entra.
Обзор ограниченного делегирования Kerberos
Делегирование Kerberos позволяет одной учетной записи выступать от имени другой учетной записи для доступа к ресурсам. Например, веб-приложение, которое обращается к веб-компоненту на стороне сервера, может выступать от имени другой учетной записи пользователя при создании подключения к серверу. Делегирование Kerberos небезопасно, так как оно не ограничивает ресурсы, к которым может получить доступ учетная запись, выполняющая олицетворение.
Kerberos ограниченное делегирование (KCD) ограничивает службы или ресурсы, к которым указанный сервер или приложение могут подключаться при олицетворении другого удостоверения. Для настройки учетной записи домена для службы в традиционном KCD требуются права администратора домена, и традиционный KCD ограничивает работу учетной записи одним доменом.
Традиционный KCD также имеет несколько проблем. Например, в более ранних операционных системах администратор службы не имел удобного способа узнать, какие интерфейсные службы делегированы службам ресурсов. Любая интерфейсная служба, которая может делегировать службе ресурсов, была потенциальной точкой атаки. Если сервер, на котором размещена интерфейсная служба, настроенная для делегирования службам ресурсов, была скомпрометирована, службы ресурсов также могут быть скомпрометированы.
В управляемом домене у вас нет прав администратора домена. В результате традиционный KCD на основе учетных записей не может быть настроен в управляемом домене. Вместо этого можно использовать ресурсно-ориентированное KCD, которое также более безопасно.
KCD на основе ресурсов
Windows Server 2012 и более поздних версий предоставляет администраторам служб возможность настраивать ограниченное делегирование для своей службы. Эта модель называется KCD на основе ресурсов. С помощью этого подхода администратор серверной службы может разрешить или запретить определенные интерфейсные службы использовать KCD.
Конфигурация KCD на основе ресурсов выполняется с помощью PowerShell. Вы используете командлеты set-ADComputer или Set-ADUser в зависимости от того, является ли олицетворение учетной записью компьютера или учетной записью пользователя или учетной записью службы.
Настройка KCD на основе ресурсов для учетной записи компьютера
В этом сценарии предположим, что у вас есть веб-приложение, которое выполняется на компьютере с именем contoso-webapp.aaddscontoso.com.
Веб-приложение должно получить доступ к веб-API, которое работает на компьютере с именем contoso-api.aaddscontoso.com в контексте пользователей сетевого домена.
Выполните следующие действия, чтобы настроить этот сценарий:
Создать настраиваемую организационную единицу . Вы можете делегировать разрешения на управление этим настраиваемым подразделением пользователям в пределах управляемого домена.
присоединение к домену виртуальных машин, как для запуска веб-приложения, так и для запуска веб-API к управляемому домену. Создайте эти учетные записи компьютера в настраиваемом ОУ из предыдущего шага.
Заметка
Учетные записи компьютера для веб-приложения и веб-API должны находиться в настраиваемом подразделении, где у вас есть разрешения на настройку KCD на основе ресурсов. Вы не можете настроить KCD на основе ресурсов для учетной записи компьютера в встроенном контейнере Microsoft Entra DC Computers.
Наконец, настройте основанный на ресурсах KCD, используя командлет PowerShell Set-ADComputer .
На вашей подключенной к домену виртуальной машине управления, войдя в систему как пользователь, являющийся членом группы администраторов Microsoft Entra DC, выполните следующие командлеты. При необходимости укажите собственные имена компьютеров:
$ImpersonatingAccount = Get-ADComputer -Identity contoso-webapp.aaddscontoso.com Set-ADComputer contoso-api.aaddscontoso.com -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
Настройка KCD, ориентированного на ресурсы, для учетной записи пользователя
В этом сценарии предположим, что у вас есть веб-приложение, запущенное под учетной записью службы с именем appsvc. Веб-приложение должно получить доступ к веб-API, который выполняется под учетной записью службы с именем backendsvc в контексте как пользователей домена. Выполните следующие действия, чтобы настроить этот сценарий:
создание пользовательскойподразделения. Вы можете передать разрешения на управление этим пользовательским организационным подразделением пользователям в управляемом домене.
Присоедините виртуальные машины, запускающие веб-API/ресурс для бэкенда, к управляемому домену. Создайте учетную запись компьютера в пользовательском подразделении.
Создайте учетную запись службы (например, appsvc), используемую для запуска веб-приложения в пользовательской организационной единице.
Заметка
Опять же, учетная запись компьютера для виртуальной машины веб-API и учетная запись службы для веб-приложения должна находиться в пользовательском подразделении, где у вас есть разрешения на настройку KCD на основе ресурсов. Вы не можете настроить ресурсно-ориентированный KCD для учетных записей в встроенных контейнерах Microsoft Entra DC Computers или Microsoft Entra DC Users. Это также означает, что вы не можете использовать учетные записи пользователей, синхронизированные с идентификатора Microsoft Entra для настройки KCD на основе ресурсов. Необходимо создать и использовать учетные записи служб, специально созданные в доменных службах.
Наконец, настройте KCD на основе ресурсов с помощью командлета Set-ADUser PowerShell.
На вашей виртуальной машине управления, присоединенной к домену, войдите в систему как пользовательская учетная запись, которая является членом группы администраторов домена Microsoft Entra, и выполните следующие командлеты. При необходимости укажите собственные имена служб:
$ImpersonatingAccount = Get-ADUser -Identity appsvc Set-ADUser backendsvc -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
Дальнейшие действия
Дополнительные сведения о работе делегирования в доменных службах Active Directory см. в обзоре ограниченного делегирования Kerberos.