Поделиться через


Использование сервиса Azure Files с несколькими лесами Active Directory

Область применения: ✔️ файловые хранилища SMB Azure

Многие организации хотят использовать проверку подлинности на основе удостоверений для общих папок Azure SMB в средах с несколькими локальными лесами доменных служб Active Directory (AD DS). Это распространенный ИТ-сценарий, особенно после слияний и приобретений, где приобретенные леса КОМПАНИИ AD изолированы от лесов AD родительской компании. В этой статье объясняется, как работают доверительные отношения между лесами, и предоставляются пошаговые инструкции по настройке и проверке этих отношений для нескольких лесов.

Внимание

Если вы хотите задать разрешения на уровне общего доступа для определенных пользователей или групп Microsoft Entra с помощью управления доступом на основе ролей Azure (RBAC), сначала необходимо синхронизировать локальные учетные записи AD с идентификатором Microsoft Entra Connect с помощью Microsoft Entra Connect. В противном случае можно использовать разрешение уровня общего доступа по умолчанию.

Предварительные условия

  • Два контроллера домена AD DS с разными лесами и в разных виртуальных сетях (VNETs)
  • Достаточные разрешения AD для выполнения административных задач (например, администратор домена)
  • При использовании Azure RBAC оба леса должны быть доступны одним сервером синхронизации Microsoft Entra Connect

Как работают доверительные отношения в лесу

Поддержка локальной проверки подлинности Azure Files AD DS осуществляется только для леса AD доменной службы, к которой зарегистрирована учетная запись хранения. По умолчанию доступ к файловым ресурсам Azure можно получить только с учетными данными AD DS из одного леса. Если вам нужно осуществить доступ к общей папке Azure из другого леса, необходимо настроить доверие между лесами.

Лесное доверие — это транзитивное доверие между двумя лесами AD, которое позволяет пользователям в любом из доменов одного леса проходить аутентификацию в любом из доменов другого леса.

Многофорестная конфигурация

Чтобы настроить настройку нескольких лесов, выполните следующие действия.

  • Сбор сведений о доменах и подключениях виртуальных сетей (VNet) между доменами
  • Установка и настройка доверия к лесу
  • Настройка проверки подлинности на основе удостоверений и гибридных учетных записей пользователей

Сбор сведений о домене

Для этого упражнения у нас есть два локальных контроллера домена AD DS в двух разных лесах и разных виртуальных сетях (VNET).

Лес Domain Виртуальная сеть
Лес 1 onpremad1.com DomainServicesVNet WUS
Лес 2 onpremad2.com vnet2/workloads

Установка и настройка доверия

Чтобы клиенты из Forest 1 имели доступ к ресурсам домена Azure Files в Forest 2, необходимо установить доверительные отношения между двумя лесами. Выполните следующие действия, чтобы установить доверие.

Примечание.

Для файлов Azure поддерживаются только доверенные леса. Другие типы доверия, такие как внешние доверия, не поддерживаются.

Если у вас уже настроена доверительная связь, можно проверить ее тип, выполнив вход на компьютер, присоединенный к лесу 2, открыв консоль доменов и доверительных связей Active Directory, щелкнув правой кнопкой мыши локальный домен onpremad2.com, а затем выбрав вкладку «Доверительные связи». Если существующая связь не является доверительной связью с лесом, и если такая связь будет соответствовать требованиям вашей среды, необходимо удалить существующую связь и создать доверительную связь с лесом взамен. Для этого следуйте приведенным ниже инструкциям.

  1. Войдите на компьютер, присоединенный к Лесу 2 , и откройте консоль Active Directory Домены и Доверия.

  2. Щелкните правой кнопкой мыши на локальном домене onpremad2.com, а затем выберите вкладку "Доверие".

  3. Выберите Новые доверительные отношения, чтобы запустить Мастер создания новых доверительных отношений.

  4. Укажите доменное имя, с которым нужно создать доверие (в этом примере onpremad1.com), а затем нажмите кнопку "Далее".

  5. Для типа доверия выберите "Лес" и нажмите кнопку "Далее".

  6. Для направления доверия выберите "Двустороннее" и нажмите кнопку "Далее".

    Снимок экрана: консоль доменов и доверия Active Directory, в которой показано, как выбрать двустороннее направление для доверия.

  7. Для компонентов доверия выберите параметр только этот домен, а затем выберите Далее.

  8. Пользователи указанного леса могут пройти проверку подлинности, чтобы использовать все ресурсы в местном лесу (проверка подлинности на уровне леса) или только те ресурсы, которые вы выберете (выборочная проверка подлинности). Для уровня аутентификации исходящих доверительных отношений выберите аутентификацию на уровне леса, которая является предпочтительным вариантом, когда оба леса принадлежат одной организации. Выберите Далее.

  9. Введите пароль для доверия, а затем нажмите кнопку "Далее". При создании отношения доверия в указанном домене необходимо использовать тот же пароль.

    Снимок экрана: консоль доменов и доверия Active Directory, показывающая, как ввести пароль для доверия.

  10. Должно появиться сообщение о том, что отношение доверия успешно создано. Чтобы настроить доверие, нажмите кнопку "Далее".

  11. Подтвердите исходящее доверие и нажмите кнопку "Далее".

  12. Введите имя пользователя и пароль пользователя, имеющего права администратора из другого домена.

После прохождения проверки подлинности доверие будет установлено, и вы сможете просмотреть указанный домен onpremad1.com на вкладке "Доверие".

Настройка проверки подлинности на основе удостоверений и гибридных учетных записей пользователей

После установки доверия выполните следующие действия, чтобы создать учетную запись хранения и общую папку SMB для каждого домена, включить проверку подлинности AD DS в учетных записях хранения и создать гибридные учетные записи пользователей, синхронизированные с идентификатором Microsoft Entra.

  1. Войдите в портал Azure и создайте две учетные записи хранения, такие как onprem1sa и onprem2sa. Для оптимальной производительности рекомендуется развернуть аккаунты хранения в одном регионе с клиентами, откуда вы планируете получить доступ к общим ресурсам.

    Примечание.

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

  2. Создайте общую папку Azure SMB и назначьте разрешения на уровне общего ресурса для каждой учетной записи хранения.

  3. Синхронизируйте ваше наземное AD с Microsoft Entra ID с помощью приложения Microsoft Entra Connect Sync.

  4. Присоединить к домену виртуальную машину Azure в Forest 1 к вашему локальному AD DS. Сведения о том, как выполнить присоединение к домену, см. в разделе Присоединение компьютера к домену.

  5. Включите проверку подлинности AD DS в аккаунте хранилища, связанном с Forest 1, например onprem1sa. При этом вы создадите учетную запись компьютера в локальной AD с именем onprem1sa, чтобы представить учетную запись хранилища Azure и присоединить ее к домену onpremad1.com. Вы можете убедиться, что удостоверение AD, представляющее учетную запись хранения, было создано, проверив Active Directory Users and Computers для onpremad1.com. В этом примере вы увидите учетную запись компьютера, названную onprem1sa.

  6. Создайте учетную запись пользователя, перейдя к > Active Directory. Щелкните правой кнопкой мыши на Пользователи, выберите Создать, введите имя пользователя (например, onprem1user), и установите флажок Пароль никогда не истекает (необязательно).

  7. Необязательно. Если вы хотите использовать Azure RBAC для назначения разрешений на уровне общего ресурса, необходимо синхронизировать пользователя с идентификатором Microsoft Entra Connect с помощью Microsoft Entra Connect. Обычно синхронизация Microsoft Entra Connect обновляется каждые 30 минут. Однако вы можете принудительно синхронизировать его немедленно, открыв сеанс PowerShell с повышенными привилегиями и выполнив команду Start-ADSyncSyncCycle -PolicyType Delta. Возможно, вам сначала потребуется установить модуль ADSync, выполнив Import-Module ADSync. Чтобы убедиться, что пользователь синхронизирован с идентификатором Microsoft Entra, войдите в портал Azure с подпиской Azure, связанной с клиентом с несколькими лесами, и выберите идентификатор Microsoft Entra. Выберите " Управление > пользователями" и найдите добавленного пользователя (например, onprem1user). Локальная синхронизация включена должно быть Да.

  8. Задайте разрешения на уровне общего ресурса с помощью ролей Azure RBAC или разрешений уровня общего доступа по умолчанию.

Повторите шаги 4-8 для домена Forest2onpremad2.com (учетная запись хранилища onprem2sa/пользователь onprem2user). Если у вас более двух лесов, повторите шаги для каждого леса.

Настройка разрешений на уровне каталога и файлов (необязательно)

В среде с несколькими лесами используйте служебную программу командной строки icacls для настройки разрешений на уровне каталога и файлов для пользователей в обоих лесах. См. раздел "Настройка списков управления доступом Windows" с помощью icacls.

Если icacls выдает ошибку "Доступ запрещен", выполните следующие действия, чтобы настроить разрешения на уровне каталога и файлов.

  1. Удалите существующее подключение к общей папке: net use * /delete /y

  2. Повторно подключите общую папку с помощью модели разрешений Windows для администратора SMB или ключа учетной записи хранения (не рекомендуется). См. раздел "Подключение общей папки Azure SMB" в Windows.

  3. Задайте разрешения icacls для пользователя в Forest2 в учетной записи хранения, присоединенной к Forest1 из клиента в Forest1.

Примечание.

Мы не рекомендуем использовать Проводник Windows для настройки ACLs (списков управления доступом) в среде с несколькими лесами. Хотя пользователи, принадлежащие лесу, который через домен связан с учетной записью хранения, могут иметь разрешения на уровне файлов или каталогов, заданные через Проводник файлов, они не будут действовать для пользователей, которые не принадлежат тому же лесу, связанному с учетной записью хранения через домен.

Настройка суффиксов домена

Как описано выше, способ регистрации Azure Files в AD DS похож на обычный файловый сервер, где создается удостоверение (по умолчанию учетная запись компьютера, либо учетная запись входа службы), которое представляет учетную запись хранилища в AD DS для проверки подлинности. Единственное различие заключается в том, что зарегистрированное имя субъекта-службы (SPN) учетной записи хранения заканчивается file.core.windows.net, что не соответствует суффиксу домена. Из-за разного суффикса домена необходимо настроить политику маршрутизации суффикса, чтобы включить многолесовую проверку подлинности.

Так как суффикс file.core.windows.net является суффиксом для всех ресурсов Azure Files, а не суффиксом для определенного домена AD, контроллер домена клиента не знает, в какой домен пересылать запрос, и поэтому все запросы завершатся неудачей, если ресурс не будет найден в собственном домене.

Например, если пользователи в домене в Лесу 1 хотят получить доступ к общей папке с учетной записью хранения, зарегистрированной в домене в Лесу 2, это не будет работать автоматически, так как принципал службы учетной записи хранения не имеет суффикса, соответствующего суффиксу любого домена в Лесу 1.

Суффиксы домена можно настроить с помощью одного из следующих методов:

Изменение суффикса имени учетной записи хранения и добавление записи CNAME

Вы можете решить проблему маршрутизации домена, изменив суффикс имени учетной записи хранения, связанной с общей папкой Azure, а затем добавив запись CNAME для маршрутизации нового суффикса в конечную точку учетной записи хранения. Благодаря этой конфигурации клиенты, присоединенные к домену, могут получить доступ к учетным записям хранения, присоединенным к любому лесу. Это работает для сред с двумя или более лесами.

В нашем примере у нас есть домены onpremad1.com и onpremad2.com, и у нас есть onprem1sa и onprem2sa в качестве учетных записей хранения, связанных с общими папками SMB Azure в соответствующих доменах. Эти домены находятся в разных лесах, которые доверяют друг другу доступ к ресурсам в лесах друг друга. Мы хотим разрешить доступ к обеим учетным записям хранения от клиентов, принадлежащих каждому лесу. Для этого необходимо изменить суффиксы SPN учетной записи хранения:

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, чтобы найти соответствующий ресурс для этой учетной записи хранения.

Чтобы использовать этот метод, выполните следующие действия.

  1. Убедитесь, что вы установили доверие между двумя лесами и настроили проверку подлинности на основе удостоверений и гибридные учетные записи пользователей, как описано в предыдущих разделах.

  2. Измените SPN учетной записи хранилища с помощью средства setspn. Чтобы найти <DomainDnsRoot> , выполните следующую команду Active Directory PowerShell: (Get-AdDomain).DnsRoot

    setspn -s cifs/<storage-account-name>.<DomainDnsRoot> <storage-account-name>
    
  3. Добавьте запись CNAME с помощью диспетчера DNS Active Directory и выполните приведенные ниже действия для каждой учетной записи хранения в домене, к которому присоединена учетная запись хранения. Если вы используете частную конечную точку, добавьте запись CNAME для сопоставления с именем частной конечной точки.

    1. Откройте диспетчер DNS Active Directory.

    2. Перейдите к домену (например, onpremad1.com).

    3. Перейдите в раздел "Зоны прямого поиска".

    4. Выберите узел с именем вашего домена (например, onpremad1.com) и выберите New Alias (CNAME) правой кнопкой мыши.

    5. В поле псевдонима введите имя аккаунта хранения.

    6. Для полного доменного имени (FQDN) введите <storage-account-name>.<domain-name>, например mystorageaccount.onpremad1.com.

    7. Для FQDN целевого узла введите <storage-account-name>.file.core.windows.net

    8. Нажмите ОК.

      Снимок экрана: добавление записи CNAME для маршрутизации суффикса с помощью диспетчера DNS Active Directory.

Теперь с клиентских устройств, присоединенных к домену, вы сможете использовать учетные записи для хранения данных, присоединенные к любому лесу.

Примечание.

Убедитесь, что часть FQDN, представляющая имя узла, соответствует имени учетной записи хранения, как описано выше. В противном случае вы получите ошибку отказа в доступе: "Неправильный синтаксис имени файла, имени каталога или метки тома". Трассировка сети отображает сообщение STATUS_OBJECT_NAME_INVALID (0xc0000033) во время настройки сеанса SMB.

Добавление суффикса пользовательского имени и правила маршрутизации

Если вы уже изменили суффикс имени учетной записи хранения и добавили запись CNAME, как описано в предыдущем разделе, можно пропустить этот шаг. Если вы предпочитаете не вносить изменения в DNS или изменять суффикс имени учетной записи хранения, можно настроить правило маршрутизации суффикса из Леса 1 в Лес 2 для пользовательского суффикса file.core.windows.net.

Примечание.

Настройка маршрутизации суффикса имени не влияет на возможность доступа к ресурсам в локальном домене. Необходимо только разрешить клиенту перенаправить запрос в домен, соответствующий суффиксу, если ресурс не найден в собственном домене.

Сначала добавьте новый настраиваемый суффикс на Forest 2. Убедитесь, что у вас есть соответствующие административные разрешения для изменения конфигурации и того, что вы установили доверие между двумя лесами. Затем выполните следующие шаги:

  1. Войдите на компьютер или виртуальную машину, присоединенную к домену в Forest 2.
  2. Откройте консоль доменов и доверия Active Directory .
  3. Щелкните правой кнопкой мыши на Домены и доверительные отношения Active Directory.
  4. Выберите "Свойства" и нажмите кнопку "Добавить".
  5. Добавьте "file.core.windows.net" в качестве суффикса UPN.
  6. Нажмите кнопку "Применить", а затем нажмите кнопку "ОК ", чтобы закрыть мастер.

Затем добавьте правило маршрутизации суффикса на Лес 1, чтобы оно перенаправляло на Лес 2.

  1. Войдите на компьютер или виртуальную машину, присоединенную к домену в Форесте 1.
  2. Откройте консоль Active Directory Domain и Trusts.
  3. Щелкните правой кнопкой мыши домен, к которому вы хотите получить доступ к общей папке, а затем перейдите на вкладку "Доверие" и выберите домен Forest 2 из исходящих доверий.
  4. Выберите Свойства, затем Маршрутизация по суффиксу имени.
  5. Проверьте, отображается ли суффикс "*.file.core.windows.net". В противном случае нажмите кнопку "Обновить".
  6. Выберите "*.file.core.windows.net", а затем щелкните Включить и Применить.

Убедитесь, что доверие работает

Теперь мы проверим, работает ли доверие, выполнив команду klist , чтобы отобразить содержимое кэша учетных данных Kerberos и таблицы ключей.

  1. Войдите на компьютер или виртуальную машину, присоединённую к домену в Forest 1, и откройте командную строку Windows.
  2. Чтобы отобразить кэш учетных данных для учетной записи хранения, присоединенной к домену, в Лесу 2 выполните одну из следующих команд:
  3. Вы должны увидеть результат, аналогичный приведенному ниже. Выходные данные 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
  1. Войдите на компьютер или виртуальную машину, присоединенную к домену в Лесу 2 , и откройте командную строку Windows.
  2. Чтобы отобразить кэш учетных данных для доменно-присоединенной учетной записи хранения в Forest 1, выполните одну из следующих команд:
  3. Вы должны увидеть результат, аналогичный приведенному ниже. Выходные данные 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

Если вы видите приведенные выше выходные данные, все готово. Если вы этого не сделаете, выполните следующие действия, чтобы предоставить альтернативные суффиксы UPN и настроить работу многолесовой аутентификации.

Внимание

Этот метод будет работать только в средах с двумя лесами. Если у вас более двух лесов, используйте один из других методов для настройки суффиксов домена.

Сначала добавьте новый настраиваемый суффикс на Forest 1.

  1. Войдите на компьютер или виртуальную машину, присоединенную к домену в Форесте 1.
  2. Откройте консоль Active Directory Domains and Trusts.
  3. Щелкните правой кнопкой мыши на Домены и доверительные отношения Active Directory.
  4. Выберите "Свойства" и нажмите кнопку "Добавить".
  5. Добавьте альтернативный суффикс UPN, например, "onprem1sa.file.core.windows.net".
  6. Нажмите кнопку "Применить", а затем нажмите кнопку "ОК ", чтобы закрыть мастер.

Затем добавьте правило маршрутизации для суффикса в Forest 2.

  1. Войдите на компьютер или виртуальную машину, присоединенную к домену в Forest 2.
  2. Откройте консоль Домены и доверие Active Directory.
  3. Щелкните правой кнопкой мыши по домену, через который вы хотите получить доступ к файловому хранилищу, а затем выберите вкладку "Доверия" и выберите исходящее доверие Лес 2, где было добавлено имя маршрутизации суффикса.
  4. Выберите Свойства, затем Маршрутизация по суффиксу имени.
  5. Проверьте, отображается ли суффикс "onprem1sa.file.core.windows.net". В противном случае нажмите кнопку "Обновить".
  6. Выберите "onprem1sa.file.core.windows.net", а затем нажмите кнопку "Включить " и "Применить".

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

Дополнительные сведения см. в следующих ресурсах: