Использование Файлы Azure с несколькими лесами Active Directory
Многие организации хотят использовать проверку подлинности на основе удостоверений для общих папок Azure SMB в средах с несколькими лесами доменных служб локальная служба Active Directory (AD DS). Это распространенный ИТ-сценарий, особенно после слияний и приобретений, где приобретенные леса КОМПАНИИ AD изолированы от лесов AD родительской компании. В этой статье объясняется, как работают отношения доверия леса и пошаговые инструкции по настройке и проверке нескольких лесов.
Внимание
Если вы хотите задать разрешения на уровне общего доступа для определенных пользователей или групп Microsoft Entra с помощью управления доступом на основе ролей Azure (RBAC), сначала необходимо синхронизировать локальные учетные записи AD с идентификатором Microsoft Entra Connect с помощью Microsoft Entra Connect. В противном случае можно использовать разрешение на уровне общего ресурса по умолчанию.
Применяется к
Тип общей папки | SMB | NFS |
---|---|---|
Стандартные общие папки (GPv2), LRS/ZRS | ||
Стандартные общие папки (GPv2), GRS/GZRS | ||
Общие папки уровня "Премиум" (FileStorage), LRS/ZRS |
Необходимые компоненты
- Два контроллера домена AD DS с различными лесами и в разных виртуальных сетях (виртуальные сети)
- Достаточные разрешения AD для выполнения административных задач (например, администратор домена)
- При использовании Azure RBAC оба леса должны быть доступны одним сервером синхронизации Microsoft Entra Connect
Как работают отношения доверия леса
Файлы Azure локальная проверка подлинности AD DS поддерживается только в лесу AD доменной службы, в которую зарегистрирована учетная запись хранения. Вы можете получить доступ к общим папкам Azure только с помощью учетных данных AD DS из одного леса по умолчанию. Если вам нужно получить доступ к общей папке Azure из другого леса, необходимо настроить доверие к лесу.
Доверие леса — это транзитивное доверие между двумя лесами AD, которое позволяет пользователям в любом из доменов в одном лесу проходить проверку подлинности в любом из доменов в другом лесу.
Настройка нескольких лесов
Чтобы настроить настройку нескольких лесов, выполните следующие действия.
- Сбор сведений о домене и подключений виртуальной сети между доменами
- Установка и настройка доверия к лесу
- Настройка проверки подлинности на основе удостоверений и гибридных учетных записей пользователей
Сбор сведений о домене
Для этого упражнения у нас есть два локальных контроллера домена AD DS с двумя разными лесами и в разных виртуальных сетях.
Лес | Domain | Виртуальная сеть |
---|---|---|
Лес 1 | onpremad1.com | DomainServicesVNet WUS |
Лес 2 | onpremad2.com | vnet2/workloads |
Установка и настройка доверия
Чтобы клиенты из Forest 1 могли получать доступ к ресурсам домена Файлы Azure в Лесу 2, необходимо установить доверие между двумя лесами. Выполните следующие действия, чтобы установить доверие.
Примечание.
Для Файлы Azure поддерживаются только доверия лесов. Другие типы доверия, такие как внешние доверия, не поддерживаются.
Если у вас уже настроено доверие, можно проверить его тип, войдите на компьютер, присоединенный к лесу 2, открыв консоль домен Active Directory и доверия, щелкнув правой кнопкой мыши локальный домен onpremad2.com, а затем выберите вкладку "Доверие". Если существующее доверие не является доверием к лесу, и если доверие леса будет соответствовать требованиям вашей среды, необходимо удалить существующее доверие и повторно создать доверие леса на своем месте. Для этого следуйте приведенным ниже инструкциям.
Войдите на компьютер, присоединенный к лесу 2, и откройте консоль домен Active Directory и доверия.
Щелкните правой кнопкой мыши onpremad2.com локального домена и перейдите на вкладку "Доверие".
Выберите "Новые доверия" , чтобы запустить мастер создания доверия.
Укажите доменное имя, с которым нужно создать доверие (в этом примере onpremad1.com), а затем нажмите кнопку "Далее".
Для типа доверия выберите "Лес" и нажмите кнопку "Далее".
Для направления доверия выберите "Двустороннее" и нажмите кнопку "Далее".
Для сторон доверия выберите только этот домен, а затем нажмите кнопку "Далее".
Пользователи в указанном лесу можно пройти проверку подлинности, чтобы использовать все ресурсы в локальном лесу (проверка подлинности на уровне леса) или только те ресурсы, которые вы выбрали (выборочная проверка подлинности). Для уровня проверки подлинности исходящего доверия выберите проверку подлинности на уровне леса, которая является предпочтительным вариантом, если оба леса принадлежат одной организации. Выберите Далее.
Введите пароль для доверия, а затем нажмите кнопку "Далее". При создании отношения доверия в указанном домене необходимо использовать тот же пароль.
Должно появиться сообщение о том, что отношение доверия успешно создано. Чтобы настроить доверие, нажмите кнопку "Далее".
Подтвердите исходящее доверие и нажмите кнопку "Далее".
Введите имя пользователя и пароль пользователя, имеющего права администратора из другого домена.
После прохождения проверки подлинности доверие будет установлено, и вы сможете просмотреть указанный домен onpremad1.com на вкладке "Доверие".
Настройка проверки подлинности на основе удостоверений и гибридных учетных записей пользователей
После установки доверия выполните следующие действия, чтобы создать учетную запись хранения и общую папку SMB для каждого домена, включить проверку подлинности AD DS в учетных записях хранения и создать гибридные учетные записи пользователей, синхронизированные с идентификатором Microsoft Entra.
Войдите в портал Azure и создайте две учетные записи хранения, такие как onprem1sa и onprem2sa. Для оптимальной производительности рекомендуется развернуть учетные записи хранения в том же регионе, из которого планируется получить доступ к общим ресурсам.
Примечание.
Создание второй учетной записи хранения не требуется. Эти инструкции предназначены для демонстрации примера доступа к учетным записям хранения, принадлежащим разным лесам. Если у вас есть только одна учетная запись хранения, можно игнорировать инструкции по настройке второй учетной записи хранения.
Создайте общую папку Azure SMB и назначьте разрешения на уровне общего ресурса для каждой учетной записи хранения.
Синхронизация локального AD с идентификатором Microsoft Entra с помощью приложения Синхронизации Microsoft Entra Connect.
Присоединение к домену виртуальной машины Azure в Лесу 1 к локальным AD DS. Сведения о том, как выполнить присоединение к домену, см. в разделе Присоединение компьютера к домену.
Включите проверку подлинности AD DS в учетной записи хранения, связанной с Лесом 1, например onprem1sa. При этом вы создадите учетную запись компьютера в локальной ad с именем onprem1sa , чтобы представить учетную запись хранения Azure и присоединить учетную запись хранения к домену onpremad1.com . Вы можете убедиться, что удостоверение AD, представляющее учетную запись хранения, было создано, указав Пользователи и компьютеры Active Directory для onpremad1.com. В этом примере вы увидите учетную запись компьютера, вызванную onprem1sa.
Создайте учетную запись пользователя, перейдя к onpremad1.com Active Directory>. Щелкните правой кнопкой мыши "Пользователи", выберите "Создать", введите имя пользователя (например, onprem1user) и установите флажок "Пароль" (необязательно).
Необязательно. Если вы хотите использовать Azure RBAC для назначения разрешений на уровне общего ресурса, необходимо синхронизировать пользователя с идентификатором Microsoft Entra Connect с помощью Microsoft Entra Connect. Обычно синхронизация Microsoft Entra Connect обновляется каждые 30 минут. Однако вы можете принудительно синхронизировать его немедленно, открыв сеанс PowerShell с повышенными привилегиями и выполнив его
Start-ADSyncSyncCycle -PolicyType Delta
. Сначала необходимо установить модульImport-Module ADSync
ADSync. Чтобы убедиться, что пользователь синхронизирован с идентификатором Microsoft Entra, войдите в портал Azure с подпиской Azure, связанной с клиентом с несколькими лесами, и выберите идентификатор Microsoft Entra. Выберите " Управление > пользователями" и найдите добавленного пользователя (например, onprem1user). Локальная синхронизация должна сказать "Да".Задайте разрешения на уровне общего ресурса с помощью ролей Azure RBAC или разрешений уровня общего доступа по умолчанию.
- Если пользователь синхронизируется с идентификатором Microsoft Entra, вы можете предоставить пользователю разрешение на общий уровень (роль Azure RBAC) пользователю onprem1user в учетной записи хранения onprem1sa , чтобы пользователь смог подключить общую папку. Для этого перейдите к общей папке, созданной в onprem1sa, и следуйте инструкциям в разделе "Назначение разрешений на уровне общего доступа для определенных пользователей или групп Microsoft Entra".
- В противном случае можно использовать разрешение на уровне общего ресурса по умолчанию, которое применяется ко всем удостоверениям, прошедшим проверку подлинности.
Повторите шаги 4-8 для домена Forest2 onpremad2.com (учетная запись хранения onprem2sa/user onprem2user). Если у вас более двух лесов, повторите шаги для каждого леса.
Настройка разрешений на уровне каталога и файлов (необязательно)
В среде с несколькими лесами используйте служебную программу командной строки icacls для настройки разрешений на уровне каталога и файлов для пользователей в обоих лесах. См. раздел "Настройка списков управления доступом Windows" с помощью icacls.
Если ошибка icacls завершается ошибкой " Доступ", выполните следующие действия, чтобы настроить разрешения на уровне каталога и файлов, подключая общую папку с ключом учетной записи хранения.
Удалите существующее подключение к общей папке:
net use * /delete /y
Повторно подключите общую папку с помощью ключа учетной записи хранения:
net use <driveletter> \\storageaccount.file.core.windows.net\sharename /user:AZURE\<storageaccountname> <storageaccountkey>
Задайте разрешения icacls для пользователя в Forest2 в учетной записи хранения, присоединенной к Forest1 из клиента в Forest1.
Примечание.
Не рекомендуется использовать проводник для настройки списков управления доступом в среде с несколькими лесами. Хотя пользователи, принадлежащие лесу, присоединенному к домену, к учетной записи хранения, могут иметь разрешения на уровне файла или каталога, заданные через проводник, они не будут работать для пользователей, которые не принадлежат тому же лесу, который присоединен к учетной записи хранения.
Настройка суффиксов домена
Как описано выше, способ регистрации Файлы Azure в AD DS почти совпадает с обычным файловым сервером, где он создает удостоверение (по умолчанию учетная запись компьютера может быть учетной записью входа в службу), которая представляет учетную запись хранения в AD DS для проверки подлинности. Единственное различие заключается в том, что зарегистрированное имя субъекта-службы (SPN) учетной записи хранения заканчивается file.core.windows.net, что не соответствует суффиксу домена. Из-за разного суффикса домена необходимо настроить политику маршрутизации суффикса, чтобы включить многолесовую проверку подлинности.
Так как суффикс file.core.windows.net является суффиксом для всех Файлы Azure ресурсов, а не суффикса для определенного домена AD, контроллер домена клиента не знает, в какой домен пересылать запрос, и поэтому завершится сбоем всех запросов, в которых ресурс не найден в собственном домене.
Например, если пользователи в домене в Лесу 1 хотят получить общую папку с учетной записью хранения, зарегистрированной в домене в лесу 2, это не будет работать автоматически, так как субъект-служба учетной записи хранения не имеет суффикса, соответствующего суффиксу любого домена в Лесу 1.
Суффиксы домена можно настроить с помощью одного из следующих методов:
- Измените суффикс учетной записи хранения и добавьте запись CNAME (рекомендуется работать с двумя или более лесами).
- Добавление суффикса пользовательского имени и правила маршрутизации (не будет работать с более чем двумя лесами)
Изменение суффикса имени учетной записи хранения и добавление записи CNAME
Вы можете решить проблему маршрутизации домена, изменив суффикс имени учетной записи хранения, связанной с общей папкой Azure, а затем добавив запись CNAME для маршрутизации нового суффикса в конечную точку учетной записи хранения. Благодаря этой конфигурации клиенты, присоединенные к домену, могут получить доступ к учетным записям хранения, присоединенным к любому лесу. Это работает для сред с двумя или более лесами.
В нашем примере у нас есть домены onpremad1.com и onpremad2.com, и у нас есть onprem1sa и onprem2sa в качестве учетных записей хранения, связанных с общими папками SMB Azure в соответствующих доменах. Эти домены находятся в разных лесах, которые доверяют друг другу доступ к ресурсам в лесах друг друга. Мы хотим разрешить доступ к обеим учетным записям хранения от клиентов, принадлежащих каждому лесу. Для этого необходимо изменить суффиксы имени субъекта-службы учетной записи хранения:
onprem1sa.onpremad1.com —> onprem1sa.file.core.windows.net
onprem2sa.onpremad2.com -> onprem2sa.file.core.windows.net
Это позволит клиентам подключать общую папку, net use \\onprem1sa.onpremad1.com
так как клиенты в onpremad1 или onpremad2 будут знать, чтобы искать onpremad1.com , чтобы найти соответствующий ресурс для этой учетной записи хранения.
Чтобы использовать этот метод, выполните следующие действия.
Убедитесь, что вы установили доверие между двумя лесами и настроили проверку подлинности на основе удостоверений и гибридные учетные записи пользователей, как описано в предыдущих разделах.
Измените имя субъекта-службы учетной записи хранения с помощью средства setpn. Чтобы найти
<DomainDnsRoot>
, выполните следующую команду Active Directory PowerShell:(Get-AdDomain).DnsRoot
setspn -s cifs/<storage-account-name>.<DomainDnsRoot> <storage-account-name>
Добавьте запись CNAME с помощью диспетчера DNS Active Directory и выполните приведенные ниже действия для каждой учетной записи хранения в домене, к которому присоединена учетная запись хранения. Если вы используете частную конечную точку, добавьте запись CNAME для сопоставления с именем частной конечной точки.
Откройте диспетчер DNS Active Directory.
Перейдите к домену (например, onpremad1.com).
Перейдите в раздел "Зоны прямого просмотра".
Выберите узел с именем домена (например, onpremad1.com) и щелкните правой кнопкой мыши новый псевдоним (CNAME).
В поле псевдонима введите имя учетной записи хранения.
Для полного доменного имени (FQDN) введите
<storage-account-name>
.<domain-name>
, например mystorageaccount.onpremad1.com.Для полного доменного имени целевого узла введите
<storage-account-name>
.file.core.windows.netНажмите ОК.
Теперь из клиентов, присоединенных к домену, вы сможете использовать учетные записи хранения, присоединенные к любому лесу.
Примечание.
Убедитесь, что часть имени узла полного доменного имени соответствует имени учетной записи хранения, как описано выше. В противном случае вы получите ошибку отказа в доступе: "Неправильный синтаксис имени файла, имени каталога или метки тома". Трассировка сети отображает сообщение STATUS_OBJECT_NAME_INVALID (0xc0000033) во время настройки сеанса SMB.
Добавление суффикса пользовательского имени и правила маршрутизации
Если вы уже изменили суффикс имени учетной записи хранения и добавили запись CNAME, как описано в предыдущем разделе, можно пропустить этот шаг. Если вы предпочитаете не вносить изменения в DNS или изменять суффикс имени учетной записи хранения, можно настроить правило маршрутизации суффикса из Леса 1 в Лес 2 для пользовательского суффикса file.core.windows.net.
Примечание.
Настройка маршрутизации суффикса имени не влияет на возможность доступа к ресурсам в локальном домене. Необходимо только разрешить клиенту перенаправить запрос в домен, соответствующий суффиксу, если ресурс не найден в собственном домене.
Сначала добавьте новый настраиваемый суффикс в лесу 2. Убедитесь, что у вас есть соответствующие административные разрешения для изменения конфигурации и того, что вы установили доверие между двумя лесами. Затем выполните следующие шаги:
- Войдите на компьютер или виртуальную машину, присоединенную к домену в лесу 2.
- Откройте консоль домен Active Directory и доверия.
- Щелкните правой кнопкой мыши Домены и отношения доверия Active Directory.
- Выберите "Свойства" и нажмите кнопку "Добавить".
- Добавьте "file.core.windows.net" в качестве Суффикса имени участника-участника-участника.
- Нажмите Применить, затем ОК, чтобы закрыть мастер.
Затем добавьте правило маршрутизации суффикса в лесу 1, чтобы он перенаправлялся в Лес 2.
- Войдите на компьютер или виртуальную машину, присоединенную к домену в лесу 1.
- Откройте консоль домен Active Directory и доверия.
- Щелкните правой кнопкой мыши домен, к которому вы хотите получить доступ к общей папке, а затем перейдите на вкладку "Доверие" и выберите домен Forest 2 из исходящих доверий.
- Выберите "Свойства " и " Маршрутизация суффикса имен".
- Проверьте, отображается ли суффикс "*.file.core.windows.net". В противном случае нажмите кнопку "Обновить".
- Выберите "*.file.core.windows.net", а затем щелкните Включить и Применить.
Убедитесь, что доверие работает
Теперь мы проверим, работает ли доверие, выполнив команду klist , чтобы отобразить содержимое кэша учетных данных Kerberos и таблицы ключей.
- Войдите на компьютер или виртуальную машину, присоединенную к домену в Лесу 1 , и откройте командную строку Windows.
- Чтобы отобразить кэш учетных данных для учетной записи хранения, присоединенной к домену, в Лесу 2 выполните одну из следующих команд:
- Если вы использовали суффикс имени учетной записи хранения и добавьте метод записи CNAME, выполните следующую команду:
klist get cifs/onprem2sa.onpremad2.com
- Если вы использовали суффикс пользовательского имени и метод правила маршрутизации, выполните следующую команду:
klist get cifs/onprem2sa.file.core.windows.net
- Если вы использовали суффикс имени учетной записи хранения и добавьте метод записи CNAME, выполните следующую команду:
- Вы должны увидеть результат, аналогичный приведенному ниже. Выходные данные klist будут немного отличаться в зависимости от того, какой метод использовался для настройки суффиксов домена.
Client: onprem1user @ ONPREMAD1.COM
Server: cifs/onprem2sa.file.core.windows.net @ ONPREMAD2.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 11/22/2022 18:45:02 (local)
End Time: 11/23/2022 4:45:02 (local)
Renew Time: 11/29/2022 18:45:02 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0x200 -> DISABLE-TGT-DELEGATION
Kdc Called: onprem2.onpremad2.com
- Войдите на компьютер или виртуальную машину, присоединенную к домену в Лесу 2 , и откройте командную строку Windows.
- Чтобы отобразить кэш учетных данных для учетной записи хранения, присоединенной к домену, в Лесу 1, выполните одну из следующих команд:
- Если вы использовали суффикс имени учетной записи хранения и добавьте метод записи CNAME, выполните следующую команду:
klist get cifs/onprem1sa.onpremad1.com
- Если вы использовали суффикс пользовательского имени и метод правила маршрутизации, выполните следующую команду:
klist get cifs/onprem1sa.file.core.windows.net
- Если вы использовали суффикс имени учетной записи хранения и добавьте метод записи CNAME, выполните следующую команду:
- Вы должны увидеть результат, аналогичный приведенному ниже. Выходные данные klist будут немного отличаться в зависимости от того, какой метод использовался для настройки суффиксов домена.
Client: onprem2user @ ONPREMAD2.COM
Server: krbtgt/ONPREMAD2.COM @ ONPREMAD2.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40e10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 11/22/2022 18:46:35 (local)
End Time: 11/23/2022 4:46:35 (local)
Renew Time: 11/29/2022 18:46:35 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0x1 -> PRIMARY
Kdc Called: onprem2
Client: onprem2user @ ONPREMAD2.COM
Server: cifs/onprem1sa.file.core.windows.net @ ONPREMAD1.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 11/22/2022 18:46:35 (local)
End Time: 11/23/2022 4:46:35 (local)
Renew Time: 11/29/2022 18:46:35 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0x200 -> DISABLE-TGT-DELEGATION
Kdc Called: onpremad1.onpremad1.com
Если вы видите приведенные выше выходные данные, все готово. Если вы этого не сделали, выполните следующие действия, чтобы предоставить альтернативные суффиксы имени участника-пользователя, чтобы выполнить проверку подлинности в нескольких лесах.
Внимание
Этот метод будет работать только в средах с двумя лесами. Если у вас более двух лесов, используйте один из других методов для настройки суффиксов домена.
Сначала добавьте новый настраиваемый суффикс в лесу 1.
- Войдите на компьютер или виртуальную машину, присоединенную к домену в лесу 1.
- Откройте консоль домен Active Directory и доверия.
- Щелкните правой кнопкой мыши Домены и отношения доверия Active Directory.
- Выберите "Свойства" и нажмите кнопку "Добавить".
- Добавьте альтернативный суффикс имени участника-участника-участника, например "onprem1sa.file.core.windows.net".
- Нажмите Применить, затем ОК, чтобы закрыть мастер.
Затем добавьте правило маршрутизации суффикса в лесу 2.
- Войдите на компьютер или виртуальную машину, присоединенную к домену в лесу 2.
- Откройте консоль домен Active Directory и доверия.
- Щелкните правой кнопкой мыши домен, к которому вы хотите получить доступ к общей папке, а затем выберите вкладку "Доверие" и выберите исходящее доверие леса 2 , где было добавлено имя маршрутизации суффикса.
- Выберите "Свойства " и " Маршрутизация суффикса имен".
- Проверьте, отображается ли суффикс "onprem1sa.file.core.windows.net". В противном случае нажмите кнопку "Обновить".
- Выберите "onprem1sa.file.core.windows.net", а затем нажмите кнопку "Включить " и "Применить".
Следующие шаги
Дополнительные сведения см. в следующих ресурсах: