Настройка проверки подлинности Windows для Microsoft Entra ID с помощью входящего потока на основе доверия

В этой статье описывается, как реализовать входящий поток проверки подлинности на основе доверия, чтобы позволить присоединенным к Active Directory (AD) клиентам, использующим Windows 10, Windows Server 2012 или более позднюю версию Windows, выполнять проверку подлинности при доступе к Управляемому экземпляру SQL Azure с помощью проверки подлинности Windows.

В этой статье также содержатся шаги по смене ключа Kerberos для учетной записи службы в идентификаторе Microsoft Entra (ранее Azure Active Directory) и доверенном объекте домена, а также шаги по удалению доверенного объекта домена и всех параметров Kerberos при необходимости.

Включение потока проверки подлинности на основе доверия является одним из этапов настройки проверки подлинности Windows для Управляемый экземпляр SQL Azure с помощью идентификатора Microsoft Entra и Kerberos. Современный интерактивный поток доступен для просвещенных клиентов под управлением Windows 10 20H1, Windows Server 2022 или более поздней версии Windows.

Примечание.

Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).

Разрешения

Чтобы выполнить действия, описанные в этой статье, вам потребуется:

  • имя пользователя и пароль локального администратора Active Directory;
  • Имя пользователя и пароль учетной записи Учетной записи Microsoft Entra Global Администратор istrator.

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

Чтобы реализовать поток проверки подлинности на основе доверия, сначала убедитесь, что выполнены следующие предварительные требования:

Необходимые условия Описание
Клиент должен работать под управлением Windows 10, Windows Server 2012 или более поздней версии Windows.
Клиент должен быть присоединен к AD. Домен должен иметь функциональный уровень Windows Server 2012 или выше. Чтобы определить, присоединен ли клиент к AD, выполните команду dsregcmd: dsregcmd.exe /status
Модуль управления проверкой подлинности для гибридного присоединения к Azure AD. Этот модуль PowerShell предоставляет функции управления для локальной системы.
Арендатор Azure.
Подписка Azure в том же клиенте Microsoft Entra, который вы намерены использовать для проверки подлинности.
Установленная Подключение Microsoft Entra. Гибридные среды, в которых удостоверения существуют одновременно в Microsoft Entra ID и AD.

Создание и настройка объекта доверенного домена Microsoft Entra Kerberos

Чтобы создать и настроить доверенный доменный объект Microsoft Entra Kerberos, установите модуль PowerShell для управления гибридной проверкой подлинности Azure AD.

Затем вы будете использовать модуль Управления гибридной проверкой подлинности Azure AD PowerShell для настройки доверенного объекта домена в локальном домене AD и регистрации сведений о доверии с помощью идентификатора Microsoft Entra. Это создает связь доверия с привязкой к локальной ad, которая позволяет идентификатору Microsoft Entra доверять локальной службе AD.

Настройка объекта доверенного домена

Чтобы настроить объект доверенного домена, сначала установите модуль PowerShell для управления гибридной проверкой подлинности Azure AD.

Установка модуля PowerShell для управления гибридной проверкой подлинности Azure AD

  1. Запустите сеанс Windows PowerShell с параметром Запуск от имени администратора .

  2. Установите модуль PowerShell для управления гибридной проверкой подлинности Azure AD с помощью приведенного ниже скрипта. Сценарий:

    • Включает протокол TLS 1.2 для обмена данными.
    • Устанавливает диспетчер пакетов NuGet.
    • Регистрирует репозиторий PSGallery.
    • Устанавливает модуль PowerShellGet.
    • Устанавливает модуль PowerShell для управления гибридной проверкой подлинности Azure AD.
      • PowerShell гибридного управления аутентификацией Azure AD использует модуль AzureADPreview, который предоставляет расширенные возможности управления Microsoft Entra.
      • Чтобы защититься от ненужных конфликтов установки с модулем Azure AD PowerShell, эта команда включает флаг параметра -AllowClobber.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet -Force

if (@(Get-PSRepository | ? {$_.Name -eq "PSGallery"}).Count -eq 0){
    Register-PSRepository -DefaultSet-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}

Install-Module -Name PowerShellGet -Force

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber

Создание объекта доверенного домена

  1. Запустите сеанс Windows PowerShell с параметром Запуск от имени администратора .

  2. Задайте общие параметры. Настройте приведенный ниже скрипт, прежде чем запускать его.

    • В качестве значения параметра $domain укажите доменное имя локальной службы Active Directory.
    • Когда появится запрос Get-Credential, введите имя пользователя и пароль локального администратора Active Directory.
    • $cloudUserName Задайте для параметра имя пользователя учетной записи Глобального Администратор istrator с привилегированным доступом для доступа к облаку Microsoft Entra.

    Примечание.

    Если для доступа к локальной службе Active Directory вы хотите использовать текущую учетную запись входа Windows, можно пропустить шаг, в котором учетные данные назначаются в качестве значения параметра $domainCred. Если вы выберете этот подход, не включайте в команды PowerShell, следующие за этим шагом, параметр -DomainCredential.

    $domain = "your on-premesis domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Проверьте текущие параметры домена Kerberos.

    Чтобы проверить текущие параметры домена Kerberos, выполните следующую команду:

    Get-AzureAdKerberosServer -Domain $domain `
        -DomainCredential $domainCred `
        -UserPrincipalName $cloudUserName
    

    Если это первый вызов любой команды Microsoft Entra Kerberos, вам будет предложено получить доступ к облаку Microsoft Entra.

    • Введите пароль для учетной записи Microsoft Entra Global Администратор istrator.
    • Если в организации используются другие современные методы проверки подлинности, такие как многофакторная проверка подлинности Microsoft Entra или Смарт-карта, следуйте инструкциям, как запрошено для входа.

    Если вы впервые настраиваете параметры Microsoft Entra Kerberos, командлет Get-AzureAdKerberosServer отображает пустую информацию, как в следующем примере выходных данных:

    ID                  :
    UserAccount         :
    ComputerAccount     :
    DisplayName         :
    DomainDnsName       :
    KeyVersion          :
    KeyUpdatedOn        :
    KeyUpdatedFrom      :
    CloudDisplayName    :
    CloudDomainDnsName  :
    CloudId             :
    CloudKeyVersion     :
    CloudKeyUpdatedOn   :
    CloudTrustDisplay   :
    

    Если ваш домен уже поддерживает проверку подлинности FIDO, Get-AzureAdKerberosServer командлет отображает сведения об учетной записи службы Microsoft Entra, как показано в следующем примере выходных данных. Поле CloudTrustDisplay возвращает пустое значение.

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   :
    
  4. Добавьте объект доверенного домена.

    Чтобы добавить объект доверенного домена, выполните командлет Set-AzureAdKerberosServer PowerShell. Не забудьте добавить параметр -SetupCloudTrust. Если учетная запись службы Microsoft Entra отсутствует, эта команда создает новую учетную запись службы Microsoft Entra. Эта команда создаст только запрошенный объект доверенного домена, если есть учетная запись службы Microsoft Entra.

    Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
    

    Примечание.

    В нескольких лесах домена, чтобы избежать ошибки LsaCreateTrustedDomainEx 0x549 при выполнении команды в дочернем домене:

    1. Выполните команду в корневом домене (включите -SetupCloudTrust параметр).
    2. Выполните ту же команду в дочернем домене -SetupCloudTrust без параметра.

    После создания объекта доверенного домена можно проверить обновленные параметры Kerberos с помощью командлета PowerShell Get-AzureAdKerberosServer, как показано на предыдущем шаге. Если командлет Set-AzureAdKerberosServer был успешно выполнен с параметром -SetupCloudTrust, в поле CloudTrustDisplay должно вернуться значение Microsoft.AzureAD.Kdc.Service.TrustDisplay, как показано в следующем примере выходных данных:

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : Microsoft.AzureAD.Kdc.Service.TrustDisplay
    

    Примечание.

    Для государственных облаков Azure требуется задать TopLevelNames свойство, которое устанавливается windows.net по умолчанию. Развертывания национальных облачных служб Azure Управляемый экземпляр SQL использовать другое доменное имя верхнего уровня, например usgovcloudapi.net для Azure для государственных организаций США. Задайте для доверенного домена имя домена верхнего уровня, выполнив следующую команду PowerShell: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net" Вы можете проверить этот параметр с помощью следующей команды PowerShell: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay

Настройка объекта групповой политики (GPO)

  1. Определите идентификатор клиента Microsoft Entra.

  2. Разверните на клиентских компьютерах указанный ниже параметр групповой политики, используя входящий поток на основе доверия:

    1. Измените значение параметра политики Административные шаблоны\Система\Kerberos\Указать прокси-серверы KDC для клиентов Kerberos.

    2. Щелкните Включено.

    3. В разделе Параметры нажмите кнопку Показать.... Откроется диалоговое окно "Вывод содержания".

      Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value.

    4. Определите параметры прокси-серверов KDC с помощью сопоставлений, как показано ниже. Замените идентификатор клиента Microsoft Entra заполнителем your_Azure_AD_tenant_id . Обратите внимание на следующее https пространство и перед закрытием / в сопоставлении значений.

      Имя значения Значение
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos />

      Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value.

    5. Нажмите кнопку ОК, чтобы закрыть диалоговое окно "Вывод содержания".

    6. Нажмите кнопку Применить в диалоговом окне "Укажите прокси-серверы KDC для клиентов Kerberos".

Смена ключа Kerberos

Вы можете периодически поворачивать ключ Kerberos для созданной учетной записи службы Microsoft Entra и доверенного объекта домена для целей управления.

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey

После смены ключа потребуется несколько часов, чтобы распространить новый ключ между серверами Kerberos KDC. Из-за этого времени распространения ключей можно сменить ключ один раз в течение 24 часов. Если необходимо снова повернуть ключ в течение 24 часов по какой-либо причине, например сразу после создания доверенного объекта домена, можно добавить -Force параметр:

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey -Force

Удаление объекта доверенного домена

Добавленный объект доверенного домена можно удалить с помощью следующей команды:

Remove-AzureADKerberosTrustedDomainObject -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Эта команда удаляет только объект доверенного домена. Если домен поддерживает проверку подлинности FIDO, можно удалить доверенный объект домена при сохранении учетной записи службы Microsoft Entra, необходимой для службы проверки подлинности FIDO.

Удаление всех параметров Kerberos

Вы можете удалить учетную запись службы Microsoft Entra и доверенный объект домена с помощью следующей команды:

Remove-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

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

Дополнительные сведения о реализации проверки подлинности Windows для субъектов Microsoft Entra в Управляемый экземпляр SQL Azure: