Включение удаленного доступа к SharePoint с помощью прокси приложения Microsoft Entra

Обзор

В этом пошаговом руководстве объясняется, как интегрировать локальную ферму SharePoint с прокси приложения Microsoft Entra.

Необходимые условия

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

  • Ферма SharePoint 2016 или более новая версия.
  • Клиент Microsoft Entra с планом, который включает прокси приложения. Узнайте больше о планах Microsoft Entra ID и ценах.
  • Ферма Microsoft Office Web Apps Server для правильного запуска файлов Office из локальной фермы SharePoint.
  • настраиваемый проверенный домен в клиенте Microsoft Entra.
  • Локальные развертывания Active Directory синхронизированы с Microsoft Entra Connect, с помощью которых пользователи могут войти в Azure.
  • Соединитель частной сети установлен и запущен на компьютере в корпоративном домене.

Для настройки SharePoint с прокси приложения требуется два URL-адреса:

Важный

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

  • Используйте ПРОТОКОЛ HTTPS.
  • Не используйте пользовательские порты.
  • Создайте узел (A запись) в корпоративной системе доменных имен (DNS), которая указывает на веб-интерфейс SharePoint (WFE) (или подсистему балансировки нагрузки), а не псевдоним (CName запись).

В этой статье используются следующие значения:

  • Внутренний URL-адрес: https://sharepoint.
  • Внешний URL-адрес: https://spsites-demo1984.msappproxy.net/.
  • Учетная запись пула приложений для веб-приложения SharePoint: Contoso\spapppool.

Шаг 1. Настройка приложения в идентификаторе Microsoft Entra, использующего прокси приложения

На этом шаге вы создадите приложение в тенанте Microsoft Entra, использующее прокси приложения. Вы задаете внешний URL-адрес и задаете внутренний URL-адрес, оба из которых используются позже в SharePoint.

  1. Создайте приложение со следующими параметрами. Пошаговые инструкции см. в разделе Публикации приложений с помощью прокси приложения Microsoft Entra.

    • Внутренний URL-адрес: внутренний URL-адрес SharePoint, заданный позже в SharePoint, например https://sharepoint.
    • предварительной проверки подлинности: Microsoft Entra ID.
    • перевод URL-адресов в заголовках: No.
    • перевод URL-адресов в тексте приложения: No.

    Снимок экрана с настройками прокси приложения Microsoft Entra, показывающий поля

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

    1. На странице приложения на портале выберите Единый вход.
    2. Для режим единого входавыберите встроенную проверку подлинности Windows.
    3. Задайте Имя принципала службы внутренних приложений (SPN) на ранее заданное значение. В этом примере значение равно HTTP/sharepoint.
    4. В разделе Делегированное удостоверение входавыберите наиболее подходящий вариант для конфигурации леса Active Directory. Например, если у вас есть один домен Active Directory в лесу, выберите имя локальной учетной записи SAM (как показано на следующем снимке экрана). Но если пользователи не находятся в том же домене, что и SharePoint и серверы соединителей частной сети, выберите локальное имя основного пользователя (не показано на снимке экрана).

    Снимок экрана диалогового окна

  3. Завершите настройку приложения, перейдите в раздел "Пользователи и группы" и назначьте пользователям доступ к этому приложению.

Шаг 2. Настройка веб-приложения SharePoint

Для правильной работы с прокси-сервером приложения Microsoft Entra необходимо настроить веб-приложение SharePoint, используя Kerberos и соответствующие сопоставления альтернативного доступа. У вас есть два варианта:

  • Создайте веб-приложение и используйте только зону по умолчанию. Используйте зону по умолчанию для лучшего взаимодействия с SharePoint. Например, ссылки в уведомлениях электронной почты, которые создаёт SharePoint, указывают на зону по умолчанию .
  • Расширение существующего веб-приложения для настройки Kerberos в нестандартной зоне.

Важный

Независимо от используемой зоны учетная запись пула приложений веб-приложения SharePoint должна быть учетной записью домена для правильной работы Kerberos.

Создание веб-приложения SharePoint

  • В скрипте показан пример создания веб-приложения с помощью зоны по умолчанию. Рекомендуется использовать зону по умолчанию.

    1. Запустите оболочку управления SharePoint и запустите скрипт.

      # This script creates a web application and configures the Default zone with the internal/external URL needed to work with Microsoft Entra application proxy
      # Edit variables below to fit your environment. Note that the managed account must exist and it must be a domain account
      $internalUrl = "https://sharepoint"
      $externalUrl = "https://spsites-demo1984.msappproxy.net/"
      $applicationPoolManagedAccount = "Contoso\spapppool"
      
      $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false
      $wa = New-SPWebApplication -Name "SharePoint - AAD Proxy" -Port 443 -SecureSocketsLayer -URL $externalUrl -ApplicationPool "SharePoint - AAD Proxy" -ApplicationPoolAccount (Get-SPManagedAccount $applicationPoolManagedAccount) -AuthenticationProvider $winAp
      New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Default -Internal
      
    2. Откройте сайт центра администрирования SharePoint.

    3. В разделе Системные параметрывыберите Конфигурировать альтернативные сопоставления доступа. Откроется окно Сборник альтернативных сопоставлений доступа.

    4. Отфильтруйте отображение с помощью нового веб-приложения.

      Снимок экрана: страница

  • Если вы расширяете существующее веб-приложение в новую зону.

    1. Запустите оболочку управления SharePoint и запустите следующий скрипт.

      # This script extends an existing web application to Internet zone with the internal/external URL needed to work with Microsoft Entra application proxy
      # Edit variables below to fit your environment
      $webAppUrl = "http://spsites/"
      $internalUrl = "https://sharepoint"
      $externalUrl = "https://spsites-demo1984.msappproxy.net/"
      
      $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false
      $wa = Get-SPWebApplication $webAppUrl
      New-SPWebApplicationExtension -Name "SharePoint - AAD Proxy" -Identity $wa -SecureSocketsLayer -Zone Extranet -Url $externalUrl -AuthenticationProvider $winAp
      New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Extranet -Internal
      

    Откройте сайт центра администрирования SharePoint.

    1. В разделе Системные параметрывыберите Конфигурировать альтернативные сопоставления доступа. Откроется окно Сборник альтернативных сопоставлений доступа.

    2. Отфильтруйте отображение с помощью расширенного веб-приложения.

      Снимок экрана: страница

Убедитесь, что веб-приложение SharePoint запущено под учетной записью домена

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

  1. Откройте сайт центра администрирования SharePoint.

  2. Перейдите в раздел Безопасность и выберите Настройка учетных записей служб.

  3. Выберите пул веб-приложений — YourWebApplicationName.

    Снимок экрана диалогового окна выбора учетной записи службы с раскрывающимся списком, содержащий пул веб-приложений — SharePoint 80, и учетную запись домена.

  4. Убедитесь, что Выбрать учетную запись для этого компонента возвращает учетную запись домена, и запомните её, так как вы используете её на следующем шаге.

Убедитесь, что сертификат HTTPS настроен для сайта IIS зоны экстрасети.

Поскольку внутренний URL-адрес использует протокол HTTPS (https://SharePoint/), необходимо установить сертификат на сайте Интернет-информационных служб (IIS).

  1. Откройте консоль Windows PowerShell.

  2. Выполните следующий скрипт, чтобы создать самоподписанный сертификат и добавить его в MY storeкомпьютера.

    # Replace "SharePoint" with the actual hostname of the Internal URL of your Microsoft Entra proxy application
    New-SelfSignedCertificate -DnsName "SharePoint" -CertStoreLocation "cert:\LocalMachine\My"
    

    Важный

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

  3. Откройте консоль диспетчера служб Internet Information Services.

  4. Разверните сервер в дереве представления, разверните Сайты, выберите сайт SharePoint - Microsoft Entra ID Proxy и выберите пункт Привязки.

  5. Выберите привязку https, а затем выберите Изменить.

  6. В поле сертификата TLS выберите сертификат SharePoint и нажмите кнопку "ОК".

Теперь вы можете получить доступ к сайту SharePoint внешне через прокси-сервер приложения Microsoft Entra.

Шаг 3. Настройка ограниченного делегирования Kerberos

Пользователи изначально проходят проверку подлинности в идентификаторе Microsoft Entra, а затем в SharePoint с помощью Kerberos через соединитель частной сети Microsoft Entra. Чтобы разрешить соединителю получать токен Kerberos от имени пользователя Microsoft Entra, необходимо настроить ограниченное делегирование Kerberos (KCD) с переходом протокола. Дополнительные сведения о делегировании с ограничениями Kerberos (KCD) см. в обзоре ограниченного делегирования Kerberos.

Установите имя объекта службы (SPN) для учетной записи службы SharePoint

В этой статье внутренний URL-адрес https://sharepoint, поэтому имя субъекта-службы (SPN) HTTP/sharepoint. Замените эти значения на значения, соответствующие вашей среде. Чтобы зарегистрировать SPN HTTP/sharepoint для учетной записи пула приложений SharePoint Contoso\spapppool, выполните следующую команду из командной строки в качестве администратора домена:

setspn -S HTTP/sharepoint Contoso\spapppool

Команда Setspn выполняет поиск SPN перед его добавлением. Если SPN уже существует, появится ошибка Duplicate SPN Value. Удалите существующий SPN. Убедитесь, что SPN было успешно добавлено, выполнив команду Setspn с параметром -L. Дополнительные сведения о команде см. в разделе Setpn.

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

Настройте KCD, чтобы служба прокси приложения Microsoft Entra может делегировать удостоверения пользователей учетной записи пула приложений SharePoint. Настройте KCD, включив соединитель частной сети для получения билетов Kerberos для пользователей, прошедших проверку подлинности в идентификаторе Microsoft Entra. Затем этот сервер передает контекст целевому приложению (SharePoint в этом случае).

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

  1. Войдите в контроллер домена в качестве администратора домена, а затем откройте active Directory Users and Computers.

  2. Найдите компьютер, на котором установлен соединитель Microsoft Entra для частной сети. В этом примере это компьютер под управлением SharePoint Server.

  3. Дважды щелкните компьютер и затем выберите вкладку делегирования.

  4. Убедитесь, что для параметра делегирования задано значение Доверять этому компьютеру для делегирования указанным службам только. Затем выберите Использовать любой протокол проверки подлинности.

  5. Нажмите кнопку "Добавить", выберите "Пользователи или компьютеры" и найдите учетную запись пула приложений SharePoint. Например, Contoso\spapppool.

  6. В списке SPN выберите тот, который вы создали ранее для учетной записи службы.

  7. Нажмите кнопку ОК и снова нажмите кнопку ОК, чтобы сохранить изменения.

    Снимок экрана: вкладка

Теперь вы готовы войти в SharePoint с помощью внешнего URL-адреса и проверки подлинности в Azure.

Устранение ошибок входа

Если вход на сайт не работает, вы можете получить дополнительные сведения о проблеме в журналах соединителя. На компьютере, на котором выполняется соединитель, откройте средство просмотра событий, перейдите в журналы приложений и служб>Microsoft>Microsoft Entra private network>Connector и проверьте журнал Администратора.

Устранение ошибки BadGateway Kerberos

Если вы видите ошибку BadGateway Ошибка Kerberos, выполните следующие команды в Windows PowerShell на контроллере домена в качестве администратора. Замените [servername] и [serviceaccount] фактическими значениями из вашей среды.

  1. $connector = Get-ADComputer -Identity "[servername]$"
  2. Set-ADUser -Identity "[serviceaccount]" -PrincipalsAllowedToDelegateToAccount $connector

Снимок экрана сообщения об ошибке с текстом

Дальнейшие действия