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


Настройка проверки подлинности между серверами SharePoint Server и SharePoint Online

 

**Применимо к:**SharePoint Online, SharePoint Server 2013, SharePoint Server 2016

**Последнее изменение раздела:**2017-06-21

Сводка. Сведения о создании межсерверного доверия между SharePoint Server и SharePoint Online.

Эта статья входит в план процедуры настройки гибридных решений SharePoint. Убедитесь, что вы следуете плану при выполнении процедуры, описанных в этой статье.

Настройка проверки подлинности между серверами

В этой статье представлены рекомендации по развертыванию гибридной среды SharePoint, в которой происходит интеграция SharePoint Server и SharePoint Online.

Совет

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

Проверка параметров веб-приложения

В гибридной среде SharePoint федеративные пользователи могут отправлять запросы SharePoint Online из любого веб-приложения SharePoint Server, настроенного для использования встроенной проверки подлинности Windows с NTLM.

Например, необходимо убедиться, что локальные сайты центра поиска, которые необходимо использовать в решении, настроены для использования встроенной проверки подлинности Windows с NTLM. В противном случае придется настроить веб-приложение для применения проверки подлинности Windows с NTLM или использовать сайт центра поиска в веб-приложении, которое соответствует этому требованию. Также необходимо убедиться, что пользователи, который ожидают получения результатов поиска от SharePoint Online, являются федеративными пользователями.

Чтобы убедиться, что веб-приложение отвечает требованиям

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

  2. В Центр администрирования щелкните Управление приложениями и выберите Управление веб-приложениями.

  3. В столбце Имя выберите веб-приложение, которое требуется проверить, и щелкните Поставщики проверки подлинности на ленте.

  4. В диалоговом окне Поставщики проверки подлинности в столбце Зона щелкните зону, с которой связан сайт центра поиска.

  5. В диалоговом окне Изменение параметров проверки подлинности убедитесь, что выбраны встроенная проверка подлинности Windows и NTLM, как показано на следующем рисунке.

    На этом рисунке показана настройка типа проверки подлинности для веб-приложения

Настройка OAuth через HTTP (при необходимости)

По умолчанию для использования OAuth в SharePoint Server требуется протокол HTTPS. Если вы настроили основное веб-приложение для использования протокола HTTP вместо SSL, необходимо включить OAuth по протоколу HTTP на каждом веб-сервере на ферме SharePoint Server.

Примечание

Если вы настроили основное веб-приложение для использования SSL, этот шаг не требуется, и вы можете перейти к разделу Создание и настройка конечного приложения для SSL-сертификата в SharePoint Online.

Чтобы включить протокол OAuth через HTTP, выполните следующие команды под учетной записью администратора фермы в командной строке Командная консоль SharePoint 2016 на каждом веб-сервере фермы SharePoint Server.

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $true
$serviceConfig.Update()

Если вы включили протокол OAuth через HTTP для тестирования, но хотите перенастроить среду для использования протокола SSL, отключите OAuth через HTTP, выполнив следующие команды под учетной записью администратора фермы в командной строке Командная консоль SharePoint 2016 на каждом веб-сервере фермы SharePoint Server.

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $false
$serviceConfig.Update()

Настройка межсерверной проверки подлинности между локальной средой SharePoint Server и SharePoint Online

Этот раздел поможет вам настроить межсерверную проверку подлинности в следующих службах:

  • SharePoint Server

  • SharePoint Online

  • Azure Active Directory

При настройке аутентификации "сервер-сервер" для гибридных сред вы создаете отношение доверия между локальной фермой SharePoint и клиентомSharePoint Online, который использует службу Azure Active Directory в качестве доверенной службы подписи токенов. Если добавить необходимые оснастки и модули PowerShell, этот процесс можно выполнить в одном окне PowerShell на локальном веб-сервере SharePoint.

Совет

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

Ниже приводится высокоуровневое представление процедур, которые необходимо выполнить в этом разделе:

  1. Настройка службы маркеров безопасности в SharePoint Server

    • Создание сертификата STS

    • Замена сертификата службы маркеров безопасности по умолчанию на каждом сервере фермы SharePoint Server

  2. Установка средств управления веб-службами на веб-сервере в вашей ферме SharePoint Server

  3. Настройка проверки подлинности между серверами

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

    • Загрузите новый локальный сертификат службы маркеров безопасности в SharePoint Online.

    • Добавьте имя участника-службы (SPN) в Azure.

    • Зарегистрируйте идентификатор объекта-участника приложения SharePoint Online в локальной среде SharePoint Server.

    • Настройте общую область проверки подлинности между локальной фермой SharePoint Server и SharePoint Online.

    • Настройте локальный прокси приложения Azure Active Directory.

Установка средств управления веб-службами и настройка окна Windows PowerShell

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

  • Помощник по входу в Microsoft Online Services

  • Модуль Azure Active Directory для Windows PowerShell

  • Командная консоль SharePoint Online

Легче всего это сделать на веб-сервере в ферме SharePoint, так как оснастку Microsoft.SharePoint.PowerShell проще загрузить на веб-серверы, а не серверы без установленного продукта SharePoint Server.

Для проверки подлинности в SharePoint Server, SharePoint Online и Azure Active Directory требуются разные учетные записи. Дополнительные сведения о том, как определить требуемую учетную запись, можно узнать в статье Учетные записи, необходимые для настройки и тестирования гибридной среды.

Примечание

Чтобы упростить выполнение описанных в этом разделе действий, откройте одно окно командной строки PowerShell на веб-сервере SharePoint Server и добавьте модули и оснастки, которые позволяют подключиться к SharePoint Server, SharePoint Online и Azure Active Directory. (Подробная инструкция о том, как это сделать, будет приведена в этой статье позже.) Оставьте окно открытым, чтобы выполнить все оставшиеся шаги PowerShell, приведенные в этой статье.

Установка средств управления веб-службами и настройка окна PowerShell:

  1. Установите средства управления веб-службами.

    1. Установите помощник по входу в Microsoft Online Services.

      Помощник по входу в Microsoft Online Services для ИТ-специалистов (64-разрядная бета-версия) (https://go.microsoft.com/fwlink/?LinkId=391943)

      Дополнительные сведения см. на странице Помощник по входу в Microsoft Online Services для ИТ-специалистов, RTW (https://go.microsoft.com/fwlink/?LinkId=392322).

    2. Установите Модуль Azure Active Directory для Windows PowerShell:

      Модуль Azure Active Directory для Windows PowerShell (64-разрядная версия) (https://go.microsoft.com/fwlink/p/?linkid=236297)

      Дополнительные сведения о Модуль Azure Active Directory для Windows PowerShell см. в статье Управление Windows Azure Active Directory с помощью Windows PowerShell (https://aka.ms/aadposh).

    3. Установите командную консоль SharePoint Online.

      Командная консоль SharePoint Online (64-разрядная версия) (https://go.microsoft.com/fwlink/?LinkId=392323)

      Дополнительные сведения см. в статье Введение в командную консоль SharePoint Online (https://go.microsoft.com/fwlink/?LinkId=392324).

  2. Откройте окно PowerShell.

  3. Чтобы не переполнить буфер и не потерять журнал команд, увеличьте размер буфера для окна PowerShell.

    1. Щелкните левый верхний угол окна PowerShell и выберите Свойства.

    2. В окне "Свойства" PowerShell перейдите на вкладку Макет.

    3. В разделе "Размер буфера экрана" введите в поле Высота значение 9999 и нажмите кнопку ОК.

  4. На этом шаге загружаются скачанные модули, чтобы вы могли использовать их в сеансе PowerShell. Скопируйте следующие команды в сеанс PowerShell и нажмите клавишу ВВОД.

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    Import-Module Microsoft.PowerShell.Utility
    Import-Module MSOnline -force
    Import-Module MSOnlineExtended -force
    Import-Module Microsoft.Online.SharePoint.PowerShell -force
    

    Если позже вам потребуется снова запустить какие-либо этапы настройки, вы сможете снова использовать эти команды для загрузки необходимых модулей и оснастки в новое окно PowerShell.

  5. Настройте службу удаленного взаимодействия в Microsoft PowerShell.

    В командной строке PowerShell введите следующие команды:

    enable-psremoting
    new-pssession
    

    Дополнительные сведения см. в статье about_Remote_Requirements (https://go.microsoft.com/fwlink/?LinkId=392326).

  6. Чтобы войти в клиент SharePoint Online, в командной строке PowerShell введите следующие команды:

    $cred=Get-Credential
    Connect-MsolService -Credential $cred
    

    Вам будет предложено выполнить вход. Для этого используйте учетную запись глобального администратора Office 365.

    Не закрывайте окно PowerShell, пока не выполните все шаги, описанные в этой статье. Оно потребуется для различных процедур, приведенных в следующих разделах.

Настройка проверки подлинности между серверами (S2S)

После установки средств, позволяющих удаленно администрировать Azure Active Directory и SharePoint Online, вы готовы к настройке аутентификации "сервер-сервер".

О переменных, которые вы создадите

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

Variable

Comments

$spcn

Имя корневого домена вашего общедоступного домена. Это значение необходимо ввести в команду для заполнения данной переменной. Это значение не должно быть в формате URL-адреса. Это должно быть только имя доменабез протокола.

Пример: adventureworks.com.

$spsite

Внутренний URL-адрес локального веб-приложения, например https://sharepoint или https://sharepoint.adventureworks.com. Это значение представляет полный URL-адрес с указанием протокола (http:// или https://).

Это внутренний URL-адрес веб-приложения, которое используется для гибридной среды.

Пример: https://sharepoint или https://sharepoint.adventureworks.com

$site

Объект основного локального веб-приложения. Команда, которая задает значение этой переменной, получает объект сайта, указанного в переменной $spsite.

Эта переменная заполняется автоматически.

$spoappid

Идентификатор субъекта приложения SharePoint Online всегда равен 00000003-0000-0ff1-ce00-000000000000. Это значение определяет объекты SharePoint Online в клиенте Office 365.

$spocontextID

Идентификатор контекста (ObjectID) клиента SharePoint Online. Это уникальный идентификатор GUID, определяющий клиент SharePoint Online.

Это значение определяется автоматически при выполнении команды для установки переменной.

$metadataEndpoint

URL-адрес, который использует прокси Azure Active Directory для подключения к клиенту Azure Active Directory.

Вам не нужно вводить значение для этой переменной.

Этап 1. Задание переменных

После определения переменных, которые требуется задать, используйте эти инструкции, чтобы присвоить им значения. Предварительное заполнение наиболее часто используемых переменных поможет быстрее выполнить оставшиеся действия. Значения этих перемененных будут установлены, пока вы не закроете сеанс PowerShell. Вводите точные данные, когда вы видите угловые скобки (< >), и всегда удаляйте эти скобки перед выполнением команды. Не изменяйте код за пределами угловых скобок.

Примечание

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

Скопируйте следующие объявления переменных и вставьте их в текстовый редактор, например "Блокнот". Задайте входные значения для вашей организации. В командной строке PowerShell, которую вы настроили с помощью средств управления веб-службами, выполните следующие команды:

$spcn="*.<public_root_domain_name>.com"
$spsite=Get-Spsite <principal_web_application_URL>
$site=Get-Spsite $spsite
$spoappid="00000003-0000-0ff1-ce00-000000000000"
$spocontextID = (Get-MsolCompanyInformation).ObjectID
$metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $spocontextID + "/metadata/json/1"

После заполнения переменных вы сможете просмотреть их значения, введя имя переменной в окне PowerShell. Например, если ввести $metadataEndpoint, результат будет аналогичен следующему:

https://accounts.accesscontrol.windows.net/00fceb75-246c-4ac4-a0ad-7124xxxxxxxx/metadata/json/1

Этап 2. Передача сертификата службы маркеров безопасности STS в SharePoint Online

На этом этапе вы отправляете сертификат STS фермы SharePoint Server своему клиенту SharePoint Online, что позволит SharePoint Server и SharePoint Online подключиться и использовать приложения-службы друг друга.

На этом рисунке отображена архитектура, которая используется при загрузке сертификата STS в SharePoint Online

Команды на этом этапе добавляют новый локальный сертификат STS (только открытый ключ) в SharePoint Onlineобъект участника вашего клиента Office 365.

Выполните следующие команды в окне командной строки PowerShell.

$stsCert=(Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
$binCert = $stsCert.GetRawCertData()
$credValue = [System.Convert]::ToBase64String($binCert);
New-MsolServicePrincipalCredential -AppPrincipalId $spoappid -Type asymmetric -Usage Verify -Value $credValue

Этап 3. Добавление имени субъекта-службы в качестве имени общедоступного домена в Azure Active Directory

На этом этапе вы добавите имя субъекта-службы в клиент Azure Active Directory. Оно состоит из объекта участника SharePoint Online и общедоступного пространства имен DNS вашей компании.

Как и в случае имени субъекта-службы в Active Directory, при создании этого имени субъекта-службы регистрируется объект в службе Azure Active Directory, который обеспечивает поддержку двусторонней аутентификации между SharePoint Server и клиентом SharePoint Online. Базовый синтаксис для имени субъекта-службы:

<тип службы>/<имя экземпляра>

где:

  • <тип службы> — это объект участника SharePoint Online, являющийся общим для всех клиентов SharePoint Online.

  • <имя_экземпляра> — это URL-адрес общедоступного пространства имен домена DNS вашей компании, который всегда выражается подстановочным знаком (даже если SSL-сертификат безопасного канала является сертификатом SAN).

Далее приводится пример:

00000003-0000-0ff1-ce00-000000000000/*.<public domain name>.com

Если в сертификате указано общее имя sharepoint.adventureworks.com, синтаксис SPN будет иметь следующий вид:

00000003-0000-0ff1-ce00-000000000000/*.adventureworks.com

Подстановочное значение позволяет SharePoint Online выполнять проверку подключений к любым узлам домена. Это пригодится, если вы когда-либо решите изменить имя узла внешней конечной точки или веб-приложения SharePoint Server.

Чтобы добавить имя субъекта-службы в службу Azure Active Directory, в командной строке Модуль Azure Active Directory для Windows PowerShell введите следующие команды:

$msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid
$spns = $msp.ServicePrincipalNames
$spns.Add("$spoappid/$spcn") 
Set-MsolServicePrincipal -AppPrincipalId $spoappid -ServicePrincipalNames $spns

Чтобы убедиться, что имя субъекта-службы установлено, в командной строке Модуль Azure Active Directory для Windows PowerShell введите следующие команды:

$msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid
$spns = $msp.ServicePrincipalNames 
$spns

Вы увидите текущий список SPN для SharePoint Online в вашем клиенте Office 365. Одно из имен SPN должно содержать имя общедоступного корневого домена, перед которым стоит идентификатор субъекта приложения SharePoint Online. Для регистрации используются подстановочные знаки, процесс выглядит следующим образом:

00000003-0000-0ff1-ce00-000000000000/*.<имя_общедоступного_домена>.com

Это имя должно быть единственным именем субъекта-службы, содержащим имя общедоступного корневого домена.

Этап 4. Регистрация идентификатора объекта субъекта приложения SharePoint Online в SharePoint Server

На этом этапе необходимо зарегистрировать идентификатор главного объекта приложения SharePoint Online в локальной службе управления приложениями SharePoint, что позволяет SharePoint Server проверить подлинность в SharePoint Online с помощью OAuth.

В командной строке PowerShell введите следующие команды:

$spoappprincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $spoappid).ObjectID
$sponameidentifier = "$spoappprincipalID@$spocontextID"
$appPrincipal = Register-SPAppPrincipal -site $site.rootweb -nameIdentifier $sponameidentifier -displayName "SharePoint Online"

Для проверки этого шага в командной строке PowerShell введите переменную $appPrincipal:

$appPrincipal | fl

В результате вы получите описание зарегистрированных субъектов приложения с именем SharePoint Online, похожее на следующий пример:

На этом рисунке отображены зарегистрированные субъекты приложения для SharePoint Online

Этап 5. Установка области проверки подлинности SharePoint

На этом этапе для идентификатора контекста клиента Office 365 в организации задается область проверки подлинности фермы SharePoint Server.

В командной строке PowerShell введите следующую команду:

Set-SPAuthenticationRealm -realm $spocontextID

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

$spocontextID
 Get-SPAuthenticationRealm

Вывод каждой из этих команд — это GUID, который представляет собой идентификатор контекста клиента SharePoint Online. Результаты всех этих команд должны быть идентичны.

Важно!

Если вы настроили сценарии установки фермы, которые определяют значения области проверки подлинности фермы, их необходимо обновить, добавив новое значение.
Дополнительные сведения о требованиях для значений области в скриптах настройки фермы см. в статье Планирование проверки подлинности между серверами в SharePoint Server. Так как вы настроили эту ферму SharePoint для участия в гибридной конфигурации, значение области проверки подлинности фермы SharePoint всегда должно совпадать с идентификатором контекста клиента. Если изменить это значение, ферма не сможет участвовать в гибридной среде.

Этап 6. Настройка локального прокси для Azure Active Directory

На этом этапе создается прокси-служба Azure Active Directory в ферме SharePoint Server. Это позволяет сделать Azure Active Directoryнадежным поставщиком токенов, с помощью которого SharePoint Server будет подписывать и проверять токены утверждений от SharePoint Online.

Выполните следующие команды в окне командной строки PowerShell.

New-SPAzureAccessControlServiceApplicationProxy -Name "ACS" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
New-SPTrustedSecurityTokenIssuer -MetadataEndpoint $metadataEndpoint -IsTrustBroker:$true -Name "ACS"

Чтобы проверить команду New-SPAzureAccessControlServiceApplicationProxy:

  1. Откройте веб-сайт Центр администрирования SharePoint 2016 и последовательно выберите Безопасность, Общая безопасность и Управление доверительными отношениями.

  2. Убедитесь, что имя записи начинается с ACS и она относится к типу Доверенный потребитель службы.

Для проверки этого этапа выполните следующую команду в окне командной строки PowerShell.

Get-SPTrustedSecurityTokenIssuer

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

00000001-0000-0000-c000-000000000000@<идентификатор_контекста_клиента>

где <идентификатор_контекста_клиента> — идентификатор контекста клиента SharePoint Online, равный значению переменной $spocontextID.

Проверка и дальнейшие действия

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

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

После завершения и проверки задач настройки из этого раздела продолжайте работу с планом настройки.

See also

Гибридная конфигурация SharePoint Server
Установка и настройка гибридной среды SharePoint Server