Настройка доверия к облаку между локальными AD DS и идентификатором Microsoft Entra для доступа к Файлы Azure
Многие организации хотят использовать проверку подлинности на основе удостоверений для общих папок Azure SMB в средах, охватывающих как доменные службы локальная служба Active Directory (AD DS), так и идентификатор Microsoft Entra (прежнее название — Azure Active Directory), но не соответствуют необходимым требованиям к операционной системе или домену.
В таких сценариях клиенты могут включить проверку подлинности Microsoft Entra Kerberos для гибридных удостоверений пользователей, а затем установить облачное доверие между локальными AD DS и Идентификатором Microsoft Entra для доступа к общим папкам SMB с помощью локальных учетных данных. В этой статье объясняется, как работает доверие к облаку, а также приведены инструкции по настройке и проверке. Он также включает шаги по смене ключа Kerberos для учетной записи службы в идентификаторе Microsoft Entra ID и доверенном объекте домена, а также шаги по удалению доверенного объекта домена и всех параметров Kerberos при необходимости.
В этой статье рассматривается проверка подлинности удостоверений гибридных пользователей, которые являются локальными удостоверениями AD DS, синхронизированными с идентификатором Microsoft Entra Connect с помощью microsoft Entra Connect или облачной синхронизации Microsoft Entra Connect. Облачные удостоверения в настоящее время не поддерживаются для Файлы Azure.
Применяется к
Тип общей папки | SMB | NFS |
---|---|---|
Стандартные общие папки (GPv2), LRS/ZRS | ||
Стандартные общие папки (GPv2), GRS/GZRS | ||
Общие папки уровня "Премиум" (FileStorage), LRS/ZRS |
Сценарии
Ниже приведены примеры сценариев, в которых может потребоваться настроить доверие к облаку:
У вас есть традиционная локальная служба AD DS, но вы не можете использовать ее для проверки подлинности, так как у вас нет единого сетевого подключения к контроллерам домена.
Вы начали миграцию в облако, но в настоящее время приложения по-прежнему работают в традиционных локальных AD DS.
Некоторые или все клиентские компьютеры не соответствуют требованиям операционной системы для проверки подлинности Microsoft Entra Kerberos.
Разрешения
Чтобы выполнить действия, описанные в этой статье, вам потребуется:
- Имя пользователя и пароль администратора локальная служба Active Directory
- Имя пользователя и пароль учетной записи глобального администратора Microsoft Entra
Необходимые компоненты
Перед реализацией входящего потока проверки подлинности на основе доверия убедитесь, что выполнены следующие предварительные требования:
Необходимые условия | Description |
---|---|
Клиент должен работать под управлением Windows 10, Windows Server 2012 или более поздней версии Windows. | |
Клиенты должны быть присоединены к Active Directory (AD). Домен должен иметь функциональный уровень Windows Server 2012 или выше. | Чтобы определить, присоединен ли клиент к AD, выполните команду dsregcmd: dsregcmd.exe /status |
Клиент Microsoft Entra. | Клиент Microsoft Entra — это граница безопасности удостоверений, которая находится под контролем ИТ-отдела организации. Это экземпляр идентификатора Microsoft Entra, в котором находятся сведения об одной организации. |
Подписка Azure в том же клиенте Microsoft Entra, который планируется использовать для проверки подлинности. | |
Учетная запись хранения Azure в подписке Azure. | Учетная запись хранения Azure — это ресурс, который выступает в качестве контейнера для группировки всех служб данных из служба хранилища Azure, включая файлы. |
Необходимо установить облачную синхронизацию Microsoft Entra Connect или Microsoft Entra Connect. | Эти решения используются в гибридных средах , где удостоверения существуют как в идентификаторе Microsoft Entra, так и в локальной службе AD DS. |
Включение проверки подлинности Microsoft Entra Kerberos
Если вы уже включили проверку подлинности Microsoft Entra Kerberos в учетной записи хранения, вы можете пропустить этот шаг и перейти к созданию и настройке доверенного объекта домена Microsoft Entra Kerberos.
Проверку подлинности Microsoft Entra Kerberos можно включить в Файлы Azure для гибридных учетных записей пользователей с помощью портал Azure, PowerShell или Azure CLI.
Чтобы включить проверку подлинности Microsoft Entra Kerberos с помощью портал Azure, выполните следующие действия.
Войдите в портал Azure и выберите учетную запись хранения, для которой требуется включить проверку подлинности Microsoft Entra Kerberos.
В разделе Хранилище данных выберите Общие папки.
Рядом с Active Directory выберите статус конфигурации (например, Не настроено).
В разделе Microsoft Entra Kerberos выберите "Настройка".
Установите флажок Microsoft Entra Kerberos.
Необязательно. Если требуется настроить разрешения на уровне каталога и файлов через Windows проводник, необходимо указать доменное имя и GUID домена для локальной ad. Эти сведения можно получить от администратора домена или выполнив следующий командлет PowerShell Active Directory из локального клиента, присоединенного к AD:
Get-ADDomain
Доменное имя должно быть указано в выходных данныхDNSRoot
, а идентификатор GUID домена должен быть указан в разделеObjectGUID
. Если вы предпочитаете настраивать разрешения на уровне каталога и файлов с помощью icacls, этот шаг можно пропустить. Однако если вы хотите использовать icacls, клиенту потребуется неуклюжие сетевые подключения к локальной службе AD.Выберите Сохранить.
Предупреждение
Если вы ранее включили проверку подлинности Microsoft Entra Kerberos с помощью инструкций по ограниченной предварительной версии вручную для хранения профилей FSLogix на Файлы Azure для виртуальных машин, присоединенных к Microsoft Entra, пароль субъекта-службы учетной записи хранения истекает каждые шесть месяцев. После истечения срока действия пароля пользователи не смогут получить билеты Kerberos для доступа к общей папки. Чтобы устранить эту проблему, см. раздел "Ошибка — срок действия пароля субъекта-службы истек в идентификаторе Microsoft Entra ID" в разделе "Потенциальные ошибки при включении проверки подлинности Microsoft Entra Kerberos для гибридных пользователей".
Предоставление согласия администратора новому субъекту-службе
После включения проверки подлинности Microsoft Entra Kerberos необходимо явно предоставить согласие администратора новому приложению Microsoft Entra, зарегистрированном в клиенте Microsoft Entra. Этот субъект-служба создается автоматически и не используется для авторизации в общей папке, поэтому не вносит никаких изменений в субъект-службу, отличный от указанных здесь. При этом может возникнуть ошибка.
Разрешения API можно настроить на портале Azure, выполнив следующие действия:
- Откройте Microsoft Entra ID.
- В меню службы в разделе "Управление" выберите Регистрация приложений.
- Выберите Все приложения.
- Выберите приложение с именем, соответствующим [учетной записи хранения]
<your-storage-account-name>
.file.core.windows.net. - В меню службы в разделе "Управление" выберите разрешения API.
- Выберите "Предоставить согласие администратора" для [имени каталога] , чтобы предоставить согласие для трех запрошенных разрешений API (openid, profile и User.Read) для всех учетных записей в каталоге.
- Выберите Да для подтверждения.
Внимание
Если вы подключаетесь к учетной записи хранения через частную конечную точку или приватную ссылку с помощью проверки подлинности Microsoft Entra Kerberos, вам также потребуется добавить полное доменное имя приватного канала в приложение Microsoft Entra учетной записи хранения. Инструкции см. в руководстве по устранению неполадок.
Отключение многофакторной проверки подлинности в учетной записи хранения
Microsoft Entra Kerberos не поддерживает использование MFA для доступа к общим папкам Azure, настроенным с помощью Microsoft Entra Kerberos. Необходимо исключить приложение Microsoft Entra, представляющее учетную запись хранения из политик условного доступа MFA, если они применяются ко всем приложениям.
Приложение учетной записи хранения должно иметь то же имя, что и учетная запись хранения в списке исключений условного доступа. При поиске приложения учетной записи хранения в списке исключений условного доступа выполните поиск: [Учетная запись хранения] <your-storage-account-name>
.file.core.windows.net
Не забудьте заменить <your-storage-account-name>
правильным значением.
Внимание
Если вы не исключите политики MFA из приложения учетной записи хранения, вы не сможете получить доступ к общей папке. Попытка сопоставить общую папку с помощью net use
приведет к ошибке с сообщением "Системная ошибка 1327: ограничения учетной записи препятствуют входу этого пользователя. Например: пустые пароли не допускаются, время входа ограничено или применяется ограничение политики".
Инструкции по отключению MFA см. в следующих статьях:
Назначение разрешений на уровне общего ресурса
При включении доступа на основе удостоверений для каждого общего ресурса необходимо назначить пользователям и группам доступ к определенной общей папке. После того как пользователь или группа разрешен доступ к общей папке, списки управления доступом Windows (также называемые разрешенияМИ NTFS) на отдельные файлы и каталоги переберут на себя. Это позволяет четко контролировать разрешения, аналогичные общей папке SMB на сервере Windows.
Чтобы задать разрешения на уровне общего ресурса, следуйте инструкциям в статье Назначение разрешений на уровне общего ресурса для удостоверения.
Настройка разрешений на уровне каталога и файлов
После того как разрешения на уровне общего доступа будут установлены, вы можете назначить разрешения на уровне каталога или файла пользователю или группе. Для этого требуется использование устройства с неуклюжим сетевым подключением к локальному AD.
Чтобы настроить разрешения на уровне каталога и файлов, следуйте инструкциям в статье Настройка разрешений на уровне каталога и файлов по протоколу SMB.
Создание и настройка объекта доверенного домена Microsoft Entra Kerberos
Чтобы создать и настроить доверенный объект домена Microsoft Entra Kerberos, вы будете использовать модуль PowerShell гибридного управления аутентификацией Azure AD. Этот модуль позволяет организациям гибридных удостоверений использовать современные учетные данные для своих приложений и позволяет идентификатору Microsoft Entra стать доверенным источником для облачной и локальной проверки подлинности.
Настройка объекта доверенного домена
Вы будете использовать модуль PowerShell гибридного управления аутентификацией Azure AD для настройки доверенного объекта домена в локальном домене AD и регистрации сведений о доверии с помощью идентификатора Microsoft Entra. Это создает связь доверия с привязкой к локальной ad, которая позволяет идентификатору Microsoft Entra доверять локальной службе AD.
Необходимо настроить только доверенный объект домена один раз на домен. Если вы уже сделали это для вашего домена, вы можете пропустить этот раздел и перейти к настройке клиентов для получения билетов Kerberos.
Установка модуля PowerShell для управления гибридной проверкой подлинности Azure AD
Запустите сеанс Windows PowerShell с параметром Запуск от имени администратора .
Установите модуль 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
Создание объекта доверенного домена
Запустите сеанс Windows PowerShell с параметром Запуск от имени администратора .
Задайте общие параметры. Настройте приведенный ниже скрипт, прежде чем запускать его.
- В качестве значения параметра
$domain
укажите доменное имя локальной службы Active Directory. - Когда появится запрос
Get-Credential
, введите имя пользователя и пароль локального администратора Active Directory. $cloudUserName
Задайте для параметра имя пользователя привилегированной учетной записи глобального администратора для доступа к облаку Microsoft Entra.
Примечание.
Если для доступа к локальной службе Active Directory вы хотите использовать текущую учетную запись входа Windows, можно пропустить шаг, в котором учетные данные назначаются в качестве значения параметра
$domainCred
. Если вы используете этот подход, не включайте-DomainCredential
параметр в команды PowerShell после этого шага.$domain = "your on-premises domain name, for example contoso.com" $domainCred = Get-Credential $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
- В качестве значения параметра
Проверьте текущие параметры домена Kerberos.
Чтобы проверить текущие параметры домена Kerberos, выполните следующую команду:
Get-AzureAdKerberosServer -Domain $domain ` -DomainCredential $domainCred ` -UserPrincipalName $cloudUserName
Если это первый вызов любой команды Microsoft Entra Kerberos, вам будет предложено получить доступ к облаку Microsoft Entra.
- Введите пароль для учетной записи глобального администратора Microsoft Entra.
- Если в организации используются другие современные методы проверки подлинности, такие как многофакторная проверка подлинности 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 : XXXXX UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com DisplayName : XXXXXX_XXXXX DomainDnsName : contoso.com KeyVersion : 53325 KeyUpdatedOn : 2/24/2024 9:03:15 AM KeyUpdatedFrom : ds-aad-auth-dem.contoso.com CloudDisplayName : XXXXXX_XXXXX CloudDomainDnsName : contoso.com CloudId : XXXXX CloudKeyVersion : 53325 CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM CloudTrustDisplay :
Добавьте объект доверенного домена.
Чтобы добавить объект доверенного домена, выполните командлет Set-AzureAdKerberosServer PowerShell. Не забудьте добавить параметр
-SetupCloudTrust
. Если учетная запись службы Microsoft Entra отсутствует, эта команда создает новую учетную запись службы Microsoft Entra. Эта команда создаст только запрошенный объект доверенного домена, если есть учетная запись службы Microsoft Entra.Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
Примечание.
В нескольких лесах домена, чтобы избежать ошибки LsaCreateTrustedDomainEx 0x549 при выполнении команды в дочернем домене:
- Выполните команду в корневом домене (включите
-SetupCloudTrust
параметр). - Выполните ту же команду в дочернем домене
-SetupCloudTrust
без параметра.
После создания объекта доверенного домена можно проверить обновленные параметры Kerberos с помощью командлета PowerShell
Get-AzureAdKerberosServer
, как показано на предыдущем шаге. Если командлетSet-AzureAdKerberosServer
был успешно выполнен с параметром-SetupCloudTrust
, в полеCloudTrustDisplay
должно вернуться значениеMicrosoft.AzureAD.Kdc.Service.TrustDisplay
, как показано в следующем примере выходных данных:ID : XXXXX UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com DisplayName : XXXXXX_XXXXX DomainDnsName : contoso.com KeyVersion : 53325 KeyUpdatedOn : 2/24/2024 9:03:15 AM KeyUpdatedFrom : ds-aad-auth-dem.contoso.com CloudDisplayName : XXXXXX_XXXXX CloudDomainDnsName : contoso.com CloudId : XXXXX CloudKeyVersion : 53325 CloudKeyUpdatedOn : 2/24/2024 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
- Выполните команду в корневом домене (включите
Настройка клиентов для получения билетов Kerberos
Определите идентификатор клиента Microsoft Entra и используйте групповую политику для настройки клиентских компьютеров, из которого требуется подключить или использовать общие папки Azure. Это необходимо сделать на каждом клиенте, на котором будут использоваться Файлы Azure.
Настройте эту групповую политику для клиентов в значение "Включено": Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon
Разверните на клиентских компьютерах указанный ниже параметр групповой политики, используя входящий поток на основе доверия:
Измените значение параметра политики Административные шаблоны\Система\Kerberos\Указать прокси-серверы KDC для клиентов Kerberos.
Щелкните Включено.
В разделе Параметры нажмите кнопку Показать.... Откроется диалоговое окно "Вывод содержания".
Определите параметры прокси-серверов KDC с помощью сопоставлений, как показано ниже. Замените идентификатор клиента Microsoft Entra заполнителем
your_Azure_AD_tenant_id
. Обратите внимание на следующееhttps
пространство и перед закрытием/
в сопоставлении значений.Value name Значение KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443: your_Azure_AD_tenant_id
/kerberos />Нажмите кнопку ОК, чтобы закрыть диалоговое окно "Вывод содержания".
Нажмите кнопку Применить в диалоговом окне "Укажите прокси-серверы 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-AzureADKerberosServerTrustedDomainObject -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName
Эта команда удаляет только объект доверенного домена. Если домен поддерживает проверку подлинности FIDO, можно удалить доверенный объект домена при сохранении учетной записи службы Microsoft Entra, необходимой для службы проверки подлинности FIDO.
Удаление всех параметров Kerberos
Вы можете удалить учетную запись службы Microsoft Entra и доверенный объект домена с помощью следующей команды:
Remove-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName