Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ общие папки SMB
Многие организации хотят использовать аутентификацию на основе идентификации для общих папок SMB Azure в средах, охватывающих как локальные Active Directory Domain Services (AD DS), так и Microsoft Entra ID (ранее Azure Active Directory), но не соответствуют необходимым системным требованиям или требованиям к домену.
В таких сценариях можно включить аутентификацию Kerberos Microsoft Entra для гибридных идентификаторов пользователей, а затем установить доверие в облаке между локальными доменными службами AD DS и Entra ID для доступа к общим папкам SMB с помощью локальных учетных данных. В этой статье объясняется, как работает доверие к облаку, а также приведены инструкции по настройке и проверке. Кроме того, он включает шаги по смене ключа Kerberos для учетной записи службы в Entra ID и доверенном объекте домена, а также шаги по удалению доверенного объекта домена и всех параметров Kerberos, если потребуется.
В этой статье рассматривается проверка подлинности удостоверений пользователей hybrid, которые являются локальными удостоверениями AD DS, синхронизированными с Microsoft Entra ID с помощью Microsoft Entra Connect Sync или Microsoft Entra Cloud Sync.
Сценарии
В следующих примерах описаны сценарии, в которых может потребоваться настроить доверие к облаку:
У вас есть традиционная локальная служба AD DS, но ее нельзя использовать для проверки подлинности, так как у вас нет единого сетевого подключения к контроллерам домена.
Вы начали миграцию в облако, но в настоящее время у вас есть приложения, которые все еще работают на традиционных локальных AD DS.
Некоторые или все клиентские компьютеры не соответствуют требованиям операционной системы для проверки подлинности Microsoft Entra Kerberos.
Разрешения
Чтобы выполнить действия, описанные в этой статье, вам потребуется следующее:
- Имя пользователя и пароль администратора локального Active Directory. Эта учетная запись должна быть членом группы администраторов домена или членом группы администраторов предприятия леса домена.
- Имя пользователя и пароль учетной записи глобального администратора Microsoft Entra.
Предварительные условия
Перед реализацией потока проверки подлинности на основе доверия убедитесь, что выполнены следующие предварительные требования:
| Необходимые условия | Описание |
|---|---|
| Клиент должен запускать Windows 10, Windows Server 2012 или более позднюю версию Windows. | |
| Клиенты должны быть присоединены к Active Directory (AD). Домен должен иметь функциональный уровень Windows Server 2012 или более поздней версии. | Можно определить, присоединяется ли клиент к Active Directory, выполнив команду dsregcmd: dsregcmd.exe /status |
| Клиент Microsoft Entra. | Клиент Microsoft Entra — это граница безопасности удостоверений, которая находится под контролем ИТ-отдела организации. Это экземпляр Microsoft Entra ID, в котором находятся сведения о одной организации. |
| Подписка Azure в том же клиенте Entra, который вы планируете использовать для аутентификации. | |
| Учетная запись хранения Azure в подписке Azure. | Учетная запись Azure storage — это ресурс, который выступает в качестве контейнера для группировки всех служб данных из Azure Storage, включая файлы. |
| необходимо установить Microsoft Entra Connect Sync или Microsoft Entra Cloud Sync. | Эти решения используются в гибридных средах, где удостоверения существуют как в Microsoft Entra ID, так и в локальных AD DS. |
| Если у вас есть политики управления приложениями, они должны разрешать добавление симметричного ключа на служебные принципы на 366 дней или более. | Если политики не допускают это, необходимо настроить политику или предоставить исключение для службы "Поставщик ресурсов хранилища" (идентификатор a6aa9161-5291-40bb-8c5c-923b567bee3bприложения). При использовании Центра администрирования Entra эти политики определяются в параметрах "Блокировать добавление пароля" и "Ограничить максимальное время существования пароля". При использовании API Graph эти политики определены symmetricKeyAddition и symmetricKeyLifetime ограничениями.servicePrincipalRestrictions.passwordCredentials |
Включение проверки подлинности Microsoft Kerberos Entra
Если вы уже включили проверку подлинности Kerberos Microsoft Entra для вашей учетной записи хранения, этот шаг можно пропустить и перейти к созданию и настройке доверенного объекта домена Microsoft Entra Kerberos.
Вы можете включить Microsoft Entra проверку подлинности Kerberos в Azure Files для гибридных учетных записей пользователей с помощью портала Azure, PowerShell или Azure CLI.
Чтобы включить проверку подлинности Kerberos Microsoft Entra с помощью портала Azure выполните следующие действия.
Войдите на портал Azure и выберите учетную запись хранения, для которой требуется включить проверку подлинности Kerberos Microsoft Entra.
В разделе Хранилище данных выберите Общие папки.
Рядом с доступом на основе удостоверений выберите состояние конфигурации, например "Не настроено".
В разделе Microsoft Entra Kerberos выберите Set up.
Установите флажок Microsoft Entra Kerberos.
Optional: Чтобы настроить разрешения каталога и уровня файлов с помощью проводника Windows, укажите доменное имя и GUID домена для on-premises Active Directory. Эти сведения можно получить от администратора домена или, выполнив следующий командлет PowerShell из клиента, подключенного к Active Directory
Get-ADDomain. Имя домена отображается в выходных данных подDNSRoot, а GUID домена — подObjectGUID. Если вы предпочитаете настраивать разрешения на уровне каталога и файлов с помощью icacls, можно пропустить этот шаг. Тем не менее, если вы хотите использовать icacls, клиенту требуется бесперебойное сетевое подключение к локальной Active Directory.Нажмите Сохранить.
Предупреждение
Если вы ранее включили проверку подлинности Microsoft Entra Kerberos с помощью ручных шагов ограниченной предварительной версии для хранения профилей FSLogix на Azure Files для виртуальных машин, присоединенных к Entra, пароль основного объекта для учетной записи хранения истекает каждые шесть месяцев. После истечения срока действия пароля пользователи не могут получить билеты Kerberos в общую папку. Чтобы устранить эту проблему, см. раздел "Ошибка — срок действия пароля субъекта-службы истек в Microsoft Entra ID" в разделе Потенциальные ошибки при включении проверки подлинности Kerberos в Microsoft Entra для гибридных пользователей.
Предоставление согласия администратора новому субъекту-службе
После включения проверки подлинности Kerberos Microsoft Entra предоставьте администратору согласие на новое приложение Entra, зарегистрированное в клиенте Entra. Процесс автоматически создает этот субъект-службу. Он не используется для авторизации в общей папке, поэтому не вносите никаких изменений в служебный принципал, кроме описанных здесь. Если вы это сделаете, может возникнуть ошибка.
Разрешения API можно настроить на портале Azure, выполнив следующие действия.
- Откройте Microsoft Entra ID.
- В меню службы в разделе Manage выберите App registrations.
- Выберите Все приложения.
- Выберите приложение с именем, совпадающим с [Storage Account]
<your-storage-account-name>.file.core.windows.net. - В меню службы в разделе "Управление" выберите разрешения API.
- Выберите "Предоставить согласие администратора" для [имени каталога] , чтобы предоставить согласие для трех запрошенных разрешений API (openid, profile и User.Read) для всех учетных записей в каталоге.
- Выберите Да для подтверждения.
Внимание
Если вы подключаетесь к учетной записи хранения через частную конечную точку или приватную связь с помощью проверки подлинности Microsoft Entra Kerberos, добавьте FQDN приватной связи в 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 см. в следующих статьях:
- Добавьте исключения для служебных учетных записей ресурсов Azure
- Создание политики условного доступа
Назначение разрешений на уровне общего ресурса
При включении доступа на основе удостоверений необходимо назначить, какие пользователи и группы имеют доступ к каждому общему ресурсу. После разрешения доступа пользователя или группы к общей папке списки управления доступом Windows (также называемые разрешениями NTFS) берут на себя управление отдельными файлами и каталогами. Эта система разрешений позволяет точно контролировать разрешения, аналогичные общей папке SMB в Windows Server.
Чтобы задать разрешения на уровне общего доступа, следуйте инструкциям в статье Назначение разрешений на уровне общего доступа для идентификатора.
Настройка разрешений на уровне каталога и файлов
После того как разрешения на уровне общего доступа будут установлены, вы можете назначить разрешения на уровне каталога и файлов пользователю или группе. Этот шаг требует использования устройства с без препятствий сетевым подключением к локальной Active Directory.
Чтобы настроить разрешения на уровне каталога и файлов, следуйте инструкциям в статье Настройка разрешений на уровне каталога и файлов по протоколу SMB.
Создание и настройка объекта доверенного домена Kerberos Microsoft Entra
Чтобы создать и настроить объект доверенного домена Entra Kerberos, используйте модуль Azure ad Hybrid Authentication Management PowerShell. С помощью этого модуля организации гибридных идентификаций могут использовать современные учетные данные для своих приложений, а идентификатор Entra становится доверенным источником для аутентификации в облаке и на узле.
Настройка объекта доверенного домена
Используйте модуль PowerShell для управления гибридной проверкой подлинности Azure AD для настройки доверенного объекта в домене Active Directory и регистрации сведений о доверии с помощью Entra ID. Это действие создает входящее отношение доверия, которое позволяет Entra ID доверять локальной Active Directory.
Настроить объект доверенного домена нужно только один раз для каждого домена. Если вы уже настроили этот объект для домена, можно пропустить этот раздел и перейти к настройке клиентов для получения билетов Kerberos.
Установка модуля powerShell для управления гибридной проверкой подлинности AD Azure
Запустите сеанс PowerShell Windows с помощью параметра Run as administrator.
Установите модуль PowerShell для управления гибридной проверкой подлинности AD Azure с помощью следующего сценария. Сценарий:
- Включает протокол TLS 1.2 для обмена данными.
- Устанавливает поставщика пакетов NuGet.
- Регистрирует репозиторий PSGallery.
- Устанавливает модуль PowerShellGet.
- Устанавливает модуль powerShell для управления гибридной проверкой подлинности AZURE AD.
- PowerShell управления гибридной аутентификацией Azure AD использует модуль AzureADPreview, который предоставляет расширенные функции управления 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
Создание объекта доверенного домена
Запустите сеанс PowerShell Windows с помощью параметра Run as administrator.
Задайте общие параметры. Настройте скрипт перед запуском.
- Задайте для параметра
$domainимя домена локальной службы Active Directory. - При появлении запроса
Get-Credential, введите имя пользователя и пароль администратора локального Active Directory. Эта учетная запись должна быть членом группы администраторов домена или членом группы администраторов предприятия леса домена. -
$cloudUserNameЗадайте для параметра имя пользователя привилегированной учетной записи глобального администратора для доступа к облаку Entra ID.
Примечание.
Если вы хотите использовать вашу текущую учетную запись Windows для доступа к локальному Active Directory, можно пропустить шаг, на котором вы назначаете учетные данные параметру
$domainCred. Если вы используете этот подход, не включайте-DomainCredentialпараметр в команды PowerShell после этого шага.$domain = "your on-premises domain name, for example contoso.com" $domainCred = Get-Credential $cloudUserName = "Microsoft Entra ID user principal name, for example admin@contoso.onmicrosoft.com"- Задайте для параметра
Проверьте текущие параметры домена Kerberos.
Чтобы проверить текущие параметры домена Kerberos, выполните следующую команду:
Get-AzureADKerberosServer -Domain $domain ` -DomainCredential $domainCred ` -UserPrincipalName $cloudUserNameЕсли это первый вызов любой команды Kerberos Microsoft Entra, вам будет предложено получить доступ к облаку entra ID.
- Введите пароль для учетной записи глобального администратора Entra ID.
- Если в организации используются другие современные методы проверки подлинности, такие как многофакторная проверка подлинности Entra или Смарт-карта, следуйте инструкциям, запрошенным для входа.
Если вы впервые настраиваете параметры Kerberos Microsoft Entra, командлет Get-AzureADKerberosServer отображает пустые сведения, как в следующем примере выходных данных:
ID : UserAccount : ComputerAccount : DisplayName : DomainDnsName : KeyVersion : KeyUpdatedOn : KeyUpdatedFrom : CloudDisplayName : CloudDomainDnsName : CloudId : CloudKeyVersion : CloudKeyUpdatedOn : CloudTrustDisplay :Если ваш домен уже поддерживает аутентификацию FIDO, командлет
Get-AzureADKerberosServerотображает сведения об учетной записи сервиса 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 :Добавьте объект доверенного домена.
Выполните командлет PowerShell Set-AzureADKerberosServer, чтобы добавить доверенный объект домена. Не забудьте добавить параметр
-SetupCloudTrust. Если учетная запись службы Entra отсутствует, эта команда создает новую учетную запись службы Entra. Эта команда создает только запрошенный объект доверенного домена, если есть учетная запись службы Entra.Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrustПримечание.
В многоуровневом лесу доменов, чтобы избежать ошибки LsaCreateTrustedDomainEx 0x549 при выполнении команды в дочернем домене:
- Выполните команду в корневом домене (включите
-SetupCloudTrustпараметр). - Выполните ту же команду в дочернем домене без параметра
-SetupCloudTrust.
После создания доверенного объекта домена можно проверить обновленные параметры Kerberos с помощью командлета
Get-AzureADKerberosServerPowerShell, как показано на предыдущем шаге. Если командлет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 Managed Instance используют другое доменное имя верхнего уровня, напримерusgovcloudapi.net, для Azure US Government. Задайте Объект доверенного домена на имя домена верхнего уровня, используя следующую команду 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 Files.
Установите для этой политики группы на клиентах значение "Включено": Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients
Разверните параметр групповой политики на клиентских компьютерах с помощью входящего потока, основанного на доверии.
Измените значение параметра политики Административные шаблоны\Система\Kerberos\Указать прокси-серверы KDC для клиентов Kerberos.
Выберите "Включено".
В разделе "Параметры" выберите "Показать...". Откроется диалоговое окно "Показать содержимое".
Определите параметры прокси-серверов KDC с помощью сопоставлений, как показано ниже. Замените идентификатор арендатора Entra на заполнитель
your_Entra_ID_tenant_id. Обратите внимание на пробел послеhttpsи перед закрывающим/в отображении значений.Имя значения Значение KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443: your_Entra_ID_tenant_id/kerberos />Нажмите кнопку ОК, чтобы закрыть диалоговое окно "Вывод содержания".
Нажмите кнопку Применить в диалоговом окне "Укажите прокси-серверы KDC для клиентов Kerberos".
Поворот ключа Kerberos
Для целей управления периодически сменяйте ключ Kerberos для созданной учетной записи службы 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, вы можете удалить Доверенный объект домена, сохранив учетную запись службы Entra, необходимую для работы службы аутентификации FIDO.
Удаление всех параметров Kerberos
Вы можете удалить учетную запись службы Entra и доверенный объект домена, выполнив следующую команду:
Remove-AzureADKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName