Использование Azure AD для проверки подлинности на сервере SharePoint ServerUsing Azure AD for SharePoint Server Authentication

Сводка: Узнайте, как проверить подлинность пользователей SharePoint Server 2016 с помощью Azure Active Directory.Summary: Learn how to authenticate your SharePoint Server 2016 users with Azure Active Directory.

В этой статье приводятся примеры кода для взаимодействия с диаграммой Azure Active Directory.This article refers to code samples for interacting with Azure Active Directory Graph. Вы можете скачать примеры кода [здесь](https://github.com/kaevans/spsaml11/tree/master/scripts).You can download the code samples [here](https://github.com/kaevans/spsaml11/tree/master/scripts).

SharePoint Server 2016 обеспечивает возможность проверки подлинности пользователей с помощью проверки подлинности на основе утверждений, что упрощает управление пользователями с помощью проверки подлинности с другими поставщиками удостоверений, которым вы доверяете, но кто-то еще управляет им.SharePoint Server 2016 provides the ability to authenticate users using claims-based authentication, making it easy to manage your users by authenticating them with different identity providers that you trust but someone else manages. Например, вместо управления проверкой подлинности пользователей с помощью доменных служб Active Directory (AD DS) можно разрешить пользователям выполнять проверку подлинности с помощью Azure Active Directory (Azure AD).For example, instead of managing user authentication through Active Directory Domain Services (AD DS), you could enable users to authenticate using Azure Active Directory (Azure AD). Это позволяет выполнять проверку подлинности для пользователей в облаке с помощью суффикса onmicrosoft.com в имени пользователя, синхронизировать пользователей с локальным каталогом и приглашать гостевых пользователей из других каталогов.This enables authentication for cloud-only users with the onmicrosoft.com suffix in their username, users synchronized with an on-premises directory, and invited guest users from other directories. Кроме того, вы можете использовать преимущества функций Azure AD, таких как многофакторная проверка подлинности и расширенные возможности создания отчетов.It also enables you to take advantage of Azure AD features such as multi-factor authentication and advanced reporting capabilities.

Важно!

Решение, описанное в этой статье, также можно использовать с SharePoint Server 2013. Однако имейте в виду, что SharePoint Server 2013 приближается к концу основной поддержки.The solution described in this article can also be used with SharePoint Server 2013; however, keep in mind that SharePoint Server 2013 is nearing the end of mainstream support. Дополнительные сведения см в разделе Политика жизненного цикла Майкрософт и Обновленная политика обслуживания продукта для SharePoint 2013.For more information, see Microsoft Lifecycle Policy and Updated Product Servicing Policy for SharePoint 2013.

В этой статье объясняется, как можно использовать Azure AD вместо локальных ДОМЕНных служб Active Directory для проверки подлинности пользователей.This article explains how you can use Azure AD instead of your on-premises AD DS to authenticate your users. В этой конфигурации Azure AD становится доверенным поставщиком удостоверений для SharePoint Server 2016.In this configuration, Azure AD becomes a trusted identity provider for SharePoint Server 2016. Эта конфигурация добавляет метод проверки подлинности пользователя, который отличается от проверки подлинности доменных служб Active Directory, используемой установкой SharePoint Server 2016.This configuration adds a user authentication method that is separate from the AD DS authentication used by the SharePoint Server 2016 installation itself. Эта статья будет вам полезна, если вы знакомы с WS-Federation.To benefit from this article, you should be familiar with WS-Federation. Дополнительные сведения см. For more information, see Understanding WS-Federation. Подробные сведения о интеграции SharePoint в локальной среде с Azure Active Directory можно найти в выделенном руководстве.For detailed information about integration of SharePoint on-premises with Azure Active Directory, see the dedicated tutorial.

Использование Azure AD для проверки подлинности SharePoint

Ранее эта конфигурация требовала бы, что служба Федерации, например служба контроля доступа Azure (ACS) в облаке или среде, в которой размещаются службы федерации Active Directory (AD FS), преобразует маркеры из SAML 2,0 в SAML 1,1.Previously, this configuration would have required a federation service such as Azure Access Control Service (ACS) in the cloud or an environment that hosts Active Directory Federation Services (AD FS) to transform tokens from SAML 2.0 to SAML 1.1. Это преобразование больше не нужно, так как Azure AD теперь позволяет выдавать маркеры SAML 1,1.This transformation is no longer required as Azure AD now enables issuing SAML 1.1 tokens. На схеме выше показано, как работает проверка подлинности для пользователей SharePoint 2016 в этой конфигурации, что показывает, что больше не требуется для промежуточных посредников выполнять это преобразование.The diagram above shows how authentication works for SharePoint 2016 users in this configuration, demonstrating that there is no longer a requirement for an intermediary to perform this transformation.

Примечание

Эта конфигурация работает независимо от того, размещается ли ферма SharePoint в виртуальных машинах Azure или локальной среде.This configuration works whether the SharePoint farm is hosted in Azure virtual machines or on-premises. Для этого не требуется открывать дополнительные порты брандмауэра, кроме проверки того, что пользователи могут получать доступ к Azure Active Directory из своего браузера.It does not require opening additional firewall ports other than ensuring users can access Azure Active Directory from their browser.

Сведения о специальных возможностях SharePoint 2016 приведены в статье рекомендации по специальным возможностям в SharePoint Server 2016.For information about SharePoint 2016 accessibility, see Accessibility Guidelines in SharePoint Server 2016.

Общие сведения о конфигурацииConfiguration overview

Выполните следующие общие действия, чтобы настроить среду для использования Azure AD в качестве поставщика удостоверений SharePoint Server 2016.Follow these general steps to set up your environment to use Azure AD as a SharePoint Server 2016 identity provider.

  1. Создайте новый каталог Azure AD или используйте существующий каталог.Create a new Azure AD directory or use your existing directory.
  2. Убедитесь, что зона для веб-приложения, которую требуется защитить с помощью Azure AD, настроена на использование SSL.Ensure the zone for the web application that you want to secure with Azure AD is configured to use SSL.
  3. Создайте новое корпоративное приложение в Azure AD.Create a new enterprise application in Azure AD.
  4. Настройте новый доверенный поставщик удостоверений в SharePoint Server 2016.Configure a new trusted identity provider in SharePoint Server 2016.
  5. Задайте разрешения для веб-приложения.Set the permissions for the web application.
  6. Добавьте политику выдачи маркеров SAML 1,1 в Azure AD.Add a SAML 1.1 token issuance policy in Azure AD.
  7. Проверьте нового поставщика.Verify the new provider.

В следующих разделах описано, как выполнить эти задачи.The following sections describe how to perform these tasks.

Шаг 1: создание нового каталога Azure AD или использование существующего каталогаStep 1: Create a new Azure AD directory or use your existing directory

На портале Azure (https://portal.azure.com) создайте новый каталог.In the Azure Portal (https://portal.azure.com), create a new directory. Укажите название организации, имя исходного домена, страну или регион.Provide the organization name, initial domain name, and the country or region.

Создание каталога

Если у вас уже есть каталог, например, который используется для Microsoft Office 365 или вашей подписки Microsoft Azure, вы можете использовать эту папку.If you already have a directory such as the one used for Microsoft Office 365 or your Microsoft Azure subscription, you can use that directory instead. Необходимо иметь разрешения на регистрацию приложений в каталоге.You must have permissions to register applications in the directory.

Шаг 2: Убедитесь, что зона для веб-приложения, которую требуется защитить с помощью Azure AD, настроена на использование SSLStep 2: Ensure the zone for the web application that you want to secure with Azure AD is configured to use SSL

Эта статья была написана с помощью эталонной архитектуры в статье Запуск фермы SharePoint Server 2016 с высоким уровнем доступности в Azure.This article was written using the reference architecture in Run a high availability SharePoint Server 2016 farm in Azure. Прилагаемые к статье скрипты, используемые для развертывания решения, описанные в этой статье , создают сайт, который не использует SSL.The article’s accompanying scripts used to deploy the solution described in this article create a site that does not use SSL.

Для использования функции SAML необходимо, чтобы приложение было настроено для использования протокола SSL.Using SAML requires the application be configured to use SSL. Если ваше веб-приложение SharePoint не настроено для использования SSL, выполните следующие действия, чтобы создать новый самозаверяющий сертификат для настройки веб-приложения для SSL.If your SharePoint web application is not configured to use SSL, use the following steps to create a new self-signed certificate to configure the web application for SSL. Эта конфигурация предназначена только для лабораторной среды и не предназначена для рабочей среды.This configuration is only meant for a lab environment and is not intended for production. В рабочих средах должен использоваться подписанный сертификат.Production environments should use a signed certificate.

  1. Перейдите в разделУправление > приложениями центра администрирования > Управление веб-приложениямии выберите веб-приложение, которое необходимо расширить для использования протокола SSL.Go to Central Administration > Application Management > Manage Web Applications, and choose the web application that needs to be extended to use SSL. Выберите веб-приложение и нажмите кнопку " расширить ленту ".Select the web application and click the Extend ribbon button. Расширьте веб-приложение, используя тот же URL-адрес, но с помощью SSL с портом 443.Extend the web application to use the same URL but use SSL with port 443.
    Расширение веб-приложения для другого сайта IISExtending the web app to another IIS site
  2. В Диспетчер IIS дважды щелкните Сертификаты сервера.In IIS Manager, double-click Server Certificates.
  3. В области Действия нажмите Создать самозаверяющий сертификат.In the Actions pane, click Create Self-Signed Certificate. Введите понятное имя сертификата в поле Понятное имя сертификата и нажмите кнопку ОК.Type a friendly name for the certificate in the Specify a friendly name for the certificate box, and then click OK.
  4. В диалоговом окне изменение привязки сайта убедитесь, что имя узла совпадает с понятным именем, как показано на следующем рисунке.From the Edit Site Binding dialog box, ensure the host name is the same as the friendly name, as illustrated in the following image.
    Изменение привязки сайта в СЛУЖБах IISEditing site binding in IIS

Для каждого из серверов веб-интерфейсов в ферме SharePoint потребуется настроить сертификат для привязки сайта в СЛУЖБах IIS.Each of the web front end servers in the SharePoint farm will require configuring the certificate for the site binding in IIS.

Шаг 3: создание нового корпоративного приложения в Azure ADStep 3: Create a new enterprise application in Azure AD

  1. На портале Azure (https://portal.azure.com) откройте каталог Azure AD.In the Azure Portal (https://portal.azure.com), open your Azure AD directory. Выберите пункт корпоративные приложенияи нажмите кнопку создать приложение.Click Enterprise Applications, then click New application. Выберите приложение, не являющееся галереей.Choose Non-gallery application. Введите имя, например интеграция с помощью SAML для SharePoint , и нажмите кнопку Добавить.Provide a name such as SharePoint SAML Integration and click Add.
    Добавление нового приложения, не относящегося к коллекцииAdding a new non-gallery application
  2. Щелкните ссылку единый вход в области навигации, чтобы настроить приложение.Click the Single sign-on link in the navigation pane to configure the application. В раскрывающемся списке режим единого входа измените режим единого входа на Вход на основе SAML , чтобы открыть свойства конфигурации SAML для приложения.Change the Single Sign-on Mode dropdown to SAML-based Sign-on to reveal the SAML configuration properties for the application. Настройте со следующими свойствами:Configure with the following properties:
    • Идентификационurn:sharepoint:portal.contoso.localIdentifier: urn:sharepoint:portal.contoso.local
    • URL-адрес ответа:https://portal.contoso.local/_trust/default.aspxReply URL: https://portal.contoso.local/_trust/default.aspx
    • URL-адрес для входа:https://portal.contoso.local/_trust/default.aspxSign-on URL: https://portal.contoso.local/_trust/default.aspx
    • Идентификатор пользователя:user.userprincipalnameUser Identifier: user.userprincipalname
    • Note: не забудьте изменить URL-адреса, заменив URL-адрес сайта Portal. contoso. local URL-адресом сайта SharePoint, который требуется защитить.Note: Remember to change the URLs by replacing portal.contoso.local with the URL of the SharePoint site you want to secure.
  3. Настройте таблицу (аналогичную таблице 1 ниже), которая включает следующие строки:Set up a table (similar to Table 1 below) that includes the following rows:
    • RealmRealm
    • Полный путь к файлу сертификата подписывания SAMLFull path to SAML signing certificate file
    • URL-адрес службы единого входа SAML (замена /SAML2 на /всфед)SAML Single Sign-On service URL (replacing /saml2 with /wsfed)
    • Идентификатор объекта Application.Application Object ID.
      Скопируйте значение идентификатора в свойство realm в таблицу (см. Таблица 1 ниже).Copy the Identifier value into the Realm property into a table (See Table 1 below.)
  4. Сохраните изменения.Save your changes.
  5. Щелкните ссылку Настройка (имя приложения) , чтобы открыть страницу "Настройка входа".Click the Configure (app name) link to access the Configure sign-on page.
    Настройка страницы единого входаConfiguring a single-sign on page
    • Щелкните ссылку " подписанный сертификат SAML-RAW ", чтобы скачать сертификат подписи SAML в виде файла с расширением CER.Click the SAML Signing Certificate - Raw link to download the SAML Signing Certificate as a file with the .cer extension. Скопируйте и вставьте полный путь к загруженному файлу в таблицу.Copy and paste the full path to the downloaded file into your table.
    • Скопируйте и вставьте ссылку на URL-адрес службы единого входа SAML, заменив часть /SAML2 URL-адреса на /всфед.Copy and paste the SAML Single Sign-On Service URL link into your, replacing the /saml2 portion of the URL with /wsfed.
  6. Перейдите в область свойств приложения.Navigate to the Properties pane for the application. Скопируйте и вставьте значение идентификатора объекта в таблицу, настроенную на шаге 3.Copy and paste the Object ID value into the table you set up in Step 3.
    Область свойств для приложенияProperties pane for the application
  7. Используя записанные значения, убедитесь, что таблица, настроенная на шаге 3, похожа на таблицу 1 ниже.Using the values you captured, make sure the table you set up in Step 3 resembles Table 1 below.
Таблица 1: зафиксированные значенияTable 1: Values captured
RealmRealm urn:sharepoint:portal.contoso.local
Полный путь к файлу сертификата подписывания SAMLFull path to SAML signing certificate file C:/temp/SharePoint SAML Integration.cer
URL-адрес службы единого входа SAML (замените/SAML2 на/всфед)SAML single sign-on service URL (replace /saml2 with /wsfed) https://login.microsoftonline.com/b1726649-b616-460d-8d20-defab80d476c/wsfed
Идентификатор объекта ApplicationApplication Object ID a812f48b-d1e4-4c8e-93be-e4808c8ca3ac

Важно!

Замените значение /SAML2 в URL-адресе на /всфед.Replace the /saml2 value in the URL with /wsfed. Конечная точка /SAML2 будет ОБРАБАТЫВАТЬ маркеры SAML 2,0.The /saml2 endpoint will process SAML 2.0 tokens. Конечная точка /всфед разрешает обработку маркеров SAML 1,1 и является обязательной для Федерации SAML для SharePoint 2016.The /wsfed endpoint enables processing SAML 1.1 tokens and is required for SharePoint 2016 SAML federation.

Шаг 4: Настройка нового доверенного поставщика удостоверений в SharePoint Server 2016Step 4: Configure a new trusted identity provider in SharePoint Server 2016

Войдите на сервер SharePoint Server 2016 и откройте командную консоль SharePoint 2016.Sign into the SharePoint Server 2016 server and open the SharePoint 2016 Management Shell. Введите значения $realm, $wsfedurl и $filepath из таблицы 1 и выполните указанные ниже команды, чтобы настроить новый доверенный поставщик удостоверений.Fill in the values of $realm, $wsfedurl, and $filepath from Table 1 and run the following commands to configure a new trusted identity provider.

Совет

Если вы не знакомы с использованием PowerShell или хотите узнать больше о том, как работает PowerShell, обратитесь к разделу SharePoint PowerShell.If you're new to using PowerShell or want to learn more about how PowerShell works, see SharePoint PowerShell.

$realm = "<Realm from Table 1>"
$wsfedurl="<SAML single sign-on service URL from Table 1>"
$filepath="<Full path to SAML signing certificate file from Table 1>"
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($filepath)
New-SPTrustedRootAuthority -Name "AzureAD" -Certificate $cert
$map = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" -IncomingClaimTypeDisplayName "name" -LocalClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" -IncomingClaimTypeDisplayName "GivenName" -SameAsIncoming
$map3 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" -IncomingClaimTypeDisplayName "SurName" -SameAsIncoming
$ap = New-SPTrustedIdentityTokenIssuer -Name "AzureAD" -Description "SharePoint secured by Azure AD" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map,$map2,$map3 -SignInUrl $wsfedurl -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"

После этого выполните указанные ниже действия, чтобы включить доверенный поставщик удостоверений для вашего приложения.Next, follow these steps to enable the trusted identity provider for your application:

  1. В центре администрирования перейдите в раздел Управление веб-приложением и выберите веб-приложение, которое необходимо защитить с помощью Azure AD.In Central Administration, navigate to Manage Web Application and select the web application that you wish to secure with Azure AD.
  2. На ленте щелкните поставщики проверки подлинности и выберите зону, которую вы хотите использовать.In the ribbon, click Authentication Providers and choose the zone that you wish to use.
  3. Выберите доверенный поставщик удостоверений и выберите только что зарегистрированный поставщик с именем AzureAD.Select Trusted Identity provider and select the identify provider you just registered named AzureAD.
  4. В параметре URL-адрес страницы входа выберите пункт Настраиваемая страница входа и укажите значение "/_труст/".On the sign-in page URL setting, select Custom sign in page and provide the value "/_trust/".
  5. Нажмите кнопку ОК.Click OK.

Настройка поставщика проверки подлинности

Важно!

Важно выполнить все действия, в том числе настроить настраиваемую страницу входа в "/_труст/", как показано ниже.It is important to follow all steps, including setting the custom sign in page to "/_trust/" as shown. Конфигурация не будет работать должным образом, если не выполнены все действия.The configuration will not work correctly unless all steps are followed.

Шаг 5: Установка разрешенийStep 5: Set the permissions

Пользователям, которые будут входить в систему Azure AD и получать доступ к SharePoint, должен быть назначен доступ к приложению.The users who will log into Azure AD and access SharePoint must be granted access to the application.

  1. На портале Azure откройте каталог Azure AD.In the Azure Portal, open the Azure AD directory. Щелкните корпоративные приложения, а затем выберите все приложения.Click Enterprise Applications, then click All applications. Выберите приложение, созданное ранее (интеграция с помощью SAML для SharePoint).Click the application that you created previously (SharePoint SAML Integration).
  2. Щелкните Пользователи и группы.Click Users and Groups.
  3. Нажмите кнопку Добавить пользователя , чтобы добавить пользователя или группу, которые будут иметь разрешения на вход в SharePoint с помощью Azure AD.Click Add user to add a user or group who will have permissions to log into SharePoint using Azure AD.
  4. Выберите пользователя или группу, а затем нажмите кнопку назначить.Select the user or group then click Assign.

Пользователю предоставлено разрешение в Azure AD, но ему также должно быть предоставлено разрешение в SharePoint.The user has been granted permission in Azure AD, but also must be granted permission in SharePoint. Выполните указанные ниже действия, чтобы задать разрешения доступа к веб-приложению.Use the following steps to set the permissions to access the web application.

  1. Откройте Центр администрирования и выберите Управление приложениями.In Central Administration, click Application Management.
  2. На странице Управление приложениями в разделе Веб-приложения выберите команду Управление веб-приложениями.On the Application Management page, in the Web Applications section, click Manage web applications.
  3. Щелкните соответствующее веб-приложение, а затем выберите пункт Политика пользователей.Click the appropriate web application, and then click User Policy.
  4. В окне Политика для веб-приложения нажмите кнопку Добавить пользователей.In Policy for Web Application, click Add Users.
    Поиск пользователя по утверждению его имениSearching for a user by their name claim
  5. В диалоговом окне Добавление пользователей щелкните соответствующие зоны в разделе Зоны, а затем нажмите кнопку Далее.In the Add Users dialog box, click the appropriate zone in Zones, and then click Next.
  6. В диалоговом окне " Политика для веб-приложения " в разделе Выбор пользователей щелкните значок Обзор .In the Policy for Web Application dialog box, in the Choose Users section, click the Browse icon.
  7. В текстовом поле найти введите имя пользователя для входа в ваш каталог и нажмите кнопку Поиск.In the Find textbox, type the sign-in name for a user in your directory and click Search.
    Пример: *demouser@blueskyabove.onmicrosoft.com*.Example: *demouser@blueskyabove.onmicrosoft.com*.
  8. Под заголовком AzureAD в представлении списка выберите свойство имя и нажмите кнопку Добавить , а затем нажмите кнопку ОК , чтобы закрыть диалоговое окно.Under the AzureAD heading in the list view, select the name property and click Add then click OK to close the dialog.
  9. В окне Разрешения нажмите кнопку полныйдоступ.In Permissions, click Full Control.
    Предоставление пользователю утверждений полного доступаGranting full control to a claims user
  10. Нажмите Готово, а затем ОК.Click Finish, and then click OK.

Шаг 6: Добавление политики выдачи маркеров SAML 1,1 в Azure ADStep 6: Add a SAML 1.1 token issuance policy in Azure AD

При создании приложения Azure AD на портале по умолчанию используется SAML 2,0.When the Azure AD application is created in the portal, it defaults to using SAML 2.0. Для SharePoint Server 2016 требуется формат маркеров SAML 1,1.SharePoint Server 2016 requires the SAML 1.1 token format. Следующий сценарий удалит политику SAML 2,0 по умолчанию и добавит новую политику для выпусков маркеров SAML 1,1.The following script will remove the default SAML 2.0 policy and add a new policy to issue SAML 1.1 tokens.

Этот код требует загрузки прилагаемых примеров, демонстрирующих взаимодействие с диаграммой Azure Active Directory.This code requires downloading the accompanying samples demonstrating interacting with Azure Active Directory Graph. Если вы скачиваете скрипты в виде ZIP-файла из GitHub на Рабочий стол Windows, не забудьте MSGraphTokenLifetimePolicy.psm1 разблокировать файл модуля скрипта Initialize.ps1 и файл сценария (щелкните правой кнопкой мыши свойства, выберите Разблокировать, нажмите кнопку ОК).If you download the scripts as a ZIP file from GitHub to a Windows desktop, make sure to unblock the MSGraphTokenLifetimePolicy.psm1 script module file and the Initialize.ps1 script file (right-click Properties, choose Unblock, click OK). Разблокировка скачанных файловUnblocking downloaded files

После скачивания примера сценария создайте новый скрипт PowerShell с помощью следующего кода, заменив заполнитель на путь к файлу, скачанному Initialize.ps1 на локальном компьютере.Once the sample script is downloaded, create a new PowerShell script using the following code, replacing the placeholder with the file path of the downloaded Initialize.ps1 on your local machine. Замените заполнитель идентификатора объекта приложения ИДЕНТИФИКАТОРом объекта Application, который вы ввели в таблице 1.Replace the application object ID placeholder with the application object ID that you entered in Table 1. После создания выполните сценарий PowerShell.Once created, execute the PowerShell script.

function AssignSaml11PolicyToAppPrincipal
{
    Param(
        [Parameter(Mandatory=$true)]
        [string]$pathToInitializeScriptFile, 
        [Parameter(Mandatory=$true)]
        [string]$appObjectid
    )

    $folder = Split-Path $pathToInitializeScriptFile
    Push-Location $folder

    #Loads the dependent ADAL module used to acquire tokens
    Import-Module $pathToInitializeScriptFile 

    #Gets the existing token issuance policy
    $existingTokenIssuancePolicy = Get-PoliciesAssignedToServicePrincipal -servicePrincipalId $appObjectid | ?{$_.type -EQ "TokenIssuancePolicy"} 
    Write-Host "The following TokenIssuancePolicy policies are assigned to the service principal." -ForegroundColor Green
    Write-Host $existingTokenIssuancePolicy -ForegroundColor White
    $policyId = $existingTokenIssuancePolicy.objectId

    #Removes existing token issuance policy
    Write-Host "Only a single policy can be assigned to the service principal. Removing the existing policy with ID $policyId" -ForegroundColor Green
    Remove-PolicyFromServicePrincipal -policyId $policyId -servicePrincipalId $appObjectid

    #Creates a new token issuance policy and assigns to the service principal
    Write-Host "Adding the new SAML 1.1 TokenIssuancePolicy" -ForegroundColor Green
    $policy = Add-TokenIssuancePolicy -DisplayName SPSAML11 -SigningAlgorithm "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" -TokenResponseSigningPolicy TokenOnly -SamlTokenVersion "1.1"
    Write-Host "Assigning the new SAML 1.1 TokenIssuancePolicy $policy.objectId to the service principal $appObjectid" -ForegroundColor Green
    Set-PolicyToServicePrincipal -policyId $policy.objectId -servicePrincipalId $appObjectid
    Pop-Location
}

#Only edit the following two variables
$pathToInitializeScriptFile = "<file path of Initialize.ps1>"
$appObjectid = "<Application Object ID from Table 1>"

AssignSaml11PolicyToAppPrincipal $pathToInitializeScriptFile $appObjectid

Важно!

Сценарии PowerShell не подписаны, и вам может быть предложено задать политику выполнения.The PowerShell scripts are not signed and you may be prompted to set the execution policy. Более подробную информацию о политиках выполнения можно узнать в статье о политиках выполнения.For more information on execution policies, see About Execution Policies. Кроме того, может потребоваться открыть командную строку с повышенными привилегиями, чтобы успешно выполнить команды, хранящиеся в примерах сценариев.Additionally, you may need to open an elevated command prompt to successfully execute the commands contained in the sample scripts.

В этих примерах команд PowerShell представлены примеры выполнения запросов к API Graph.These sample PowerShell commands are examples of how to execute queries against the Graph API. Для получения дополнительных сведений о политиках выдачи маркеров в Azure AD, ознакомьтесь со статьей Справочник по API Graph для работы с политикой.For more details on Token Issuance Policies with Azure AD, see the Graph API reference for operations on policy.

Шаг 7: проверка нового поставщикаStep 7: Verify the new provider

Откройте браузер URL-адрес веб-приложения, настроенного в предыдущих шагах.Open a browser to the URL of the web application that you configured in the previous steps. Вы перенаправлены на команду "войти в Azure AD".You are redirected to sign into Azure AD.

Вход в Azure AD, настроенный для Федерации

Вам будет предложено подтвердить вход в систему.You are asked if you want to stay signed in.

Оставайтесь в курсе входа?

Наконец, вы можете получить доступ к сайту, вошедшего в систему от имени пользователя, из клиента Azure Active Directory.Finally, you can access the site logged in as a user from your Azure Active Directory tenant.

Пользователь выполнил вход в SharePoint

Управление сертификатамиManaging certificates

Важно понимать, что сертификат подписи, настроенный для доверенного поставщика удостоверений на шаге 4 выше, имеет дату окончания срока действия и должен быть обновлен.It is important to understand that the signing certificate that was configured for the trusted identity provider in step 4 above has an expiration date and must be renewed. Сведения об обновлении сертификатов можно найти в статье Управление сертификатами для федеративного единого входа в Azure Active Directory .See the article Manage certificates for federated single sign-on in Azure Active Directory for information on certificate renewal. После продления сертификата в Azure AD Скачайте в локальный файл и используйте следующий сценарий для настройки доверенного поставщика удостоверений с обновленным сертификатом подписи.Once the certificate has been renewed in Azure AD, download to a local file and use the following script to configure the trusted identity provider with the renewed signing certificate.

$filepath="<Full path to renewed SAML signing certificate file>"
$cert= New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($filePath)
New-SPTrustedRootAuthority -Name "AzureAD" -Certificate $cert
Get-SPTrustedIdentityTokenIssuer "AzureAD" | Set-SPTrustedIdentityTokenIssuer -ImportTrustCertificate $cert

Настройка одного доверенного поставщика удостоверений для нескольких веб-приложенийConfiguring one trusted identity provider for multiple web applications

Конфигурация работает для одного веб-приложения, но требует дополнительной настройки, если вы планируете использовать один и тот же доверенный поставщик удостоверений для нескольких веб-приложений.The configuration works for a single web application, but needs additional configuration if you intend to use the same trusted identity provider for multiple web applications. Например, предположим, что веб-приложение было расширено для использования URL https://portal.contoso.local -адреса, и теперь вы хотите проверить https://sales.contoso.local подлинность пользователей.For example, assume we had extended a web application to use the URL https://portal.contoso.local and now want to authenticate the users to https://sales.contoso.local as well. Для этого необходимо обновить поставщик удостоверений, чтобы он использовал параметр WReply и обновлял регистрацию приложения в Azure AD, чтобы добавить URL-адрес ответа.To do this, we need to update the identity provider to honor the WReply parameter and update the application registration in Azure AD to add a reply URL.

  1. На портале Azure откройте каталог Azure AD.In the Azure Portal, open the Azure AD directory. Щелкните Регистрация приложений, а затем щелкните Просмотр всех приложений.Click App registrations, then click View all applications. Выберите приложение, созданное ранее (интеграция с помощью SAML для SharePoint).Click the application that you created previously (SharePoint SAML Integration).
  2. Нажмите кнопку Параметры.Click Settings.
  3. В колонке параметры щелкните URL-адреса для ответа.In the settings blade, click Reply URLs.
  4. Добавьте URL-адрес дополнительного веб-приложения с /_trust/default.aspx добавлением к URL-адресу ( https://sales.contoso.local/_trust/default.aspxнапример,), а затем нажмите кнопку сохранить.Add the URL for the additional web application with /_trust/default.aspx appended to the URL (such as https://sales.contoso.local/_trust/default.aspx) and click Save.
  5. На сервере SharePoint откройте командную консоль sharepoint 2016 и выполните следующие команды, используя имя доверенного поставщика маркеров удостоверений, который вы использовали ранее.On the SharePoint server, open the SharePoint 2016 Management Shell and execute the following commands, using the name of the trusted identity token issuer that you used previously.
$t = Get-SPTrustedIdentityTokenIssuer "AzureAD"
$t.UseWReplyParameter=$true
$t.Update()
  1. В центре администрирования перейдите в веб-приложение и включите существующего доверенного поставщика удостоверений.In Central Administration, go to the web application and enable the existing trusted identity provider. Не забудьте также настроить URL-адрес страницы входа как настраиваемую страницу /_trust/входа.Remember to also configure the sign-in page URL as a custom sign in page /_trust/.
  2. В центре администрирования щелкните веб-приложение и выберите Политика пользователя.In Central Administration, click the web application and choose User Policy. Добавьте пользователя с соответствующими разрешениями, как показано выше в этой статье.Add a user with the appropriate permissions as demonstrated previously in this article.

Устранение неполадок средства выбора людейFixing People Picker

Теперь пользователи могут войти в SharePoint 2016 с помощью удостоверений из Azure AD, но по-прежнему существуют возможности улучшения взаимодействия с пользователем.Users can now log into SharePoint 2016 using identities from Azure AD, but there are still opportunities for improvement to the user experience. Например, Поиск пользователя представляет несколько результатов поиска в средстве выбора людей.For instance, searching for a user presents multiple search results in the people picker. Существует результат поиска для каждого из трех типов утверждений, созданных в сопоставлении утверждений.There is a search result for each of the 3 claim types that were created in the claim mapping. Чтобы выбрать пользователя с помощью средства выбора людей, необходимо ввести имя пользователя в точности и выбрать результат утверждения имени .To choose a user using the people picker, you must type their user name exactly and choose the name claim result.

Результаты поиска утверждений

Поиск по искомым значениям не выполняется, что может повлечь за собой неправильное написание или неправильное выбор неправильного типа утверждений **** , например утверждений о фамилии.There is no validation on the values you search for, which can lead to misspellings or users accidentally choosing the wrong claim type to assign such as the SurName claim. Это может препятствовать успешному доступу к ресурсам для пользователей.This can prevent users from successfully accessing resources.

Чтобы помочь этому сценарию, существует решение с открытым кодом, именуемое азурекп , которое предоставляет пользовательский поставщик утверждений для SharePoint 2016.To assist with this scenario, there is an open-source solution called AzureCP that provides a custom claims provider for SharePoint 2016. Он будет использовать Azure AD Graph, чтобы разрешить пользователям ввод и выполнение проверки.It will use the Azure AD Graph to resolve what users enter and perform validation. Узнайте больше по адресу азурекп.Learn more at AzureCP.

Дополнительные ресурсыAdditional resources

Общие сведения о WS-FederationUnderstanding WS-Federation

Освоение облака и гибридные решенияCloud adoption and hybrid solutions

Присоединяйтесь к обсуждениюJoin the discussion

Свяжитесь с намиContact us ОписаниеDescription
Какое вам решение необходимо?What cloud adoption content do you need?
Мы создаем контент для решений, которые охватывают несколько продуктов и служб Майкрософт. Сообщите нам, что вы думаете о наших межсерверных решениях, или укажите интересующие вас решения, написав по адресу MODAcontent@microsoft.com.We are creating content for cloud adoption that spans multiple Microsoft cloud platforms and services. Let us know what you think about our cloud adoption content, or ask for specific content by sending email to cloudadopt@microsoft.com.
Присоединяйтесь к обсуждению решенийJoin the cloud adoption discussion
Если вам интересны облачные решения, присоединяйтесь к теме Cloud Adoption Advisory Board (CAAB) и общайтесь с разработчиками контента Майкрософт, специалистами отрасли и клиентами со всего мира. Чтобы присоединиться, добавьте себя в качестве участника темы CAAB (Cloud Adoption Advisory Board) на сайте Microsoft Tech Community и отправьте нам письмо на адрес CAAB@microsoft.com. Просматривать материалы в блоге CAAB могут все пользователи. Однако только участники CAAB получают приглашения на закрытые вебинары, на которых мы рассказываем о новых облачных решениях и ресурсах по их внедрению.If you are passionate about cloud-based solutions, consider joining the Cloud Adoption Advisory Board (CAAB) to connect with a larger, vibrant community of Microsoft content developers, industry professionals, and customers from around the globe. To join, add yourself as a member of the CAAB (Cloud Adoption Advisory Board) space of the Microsoft Tech Community and send us a quick email at CAAB@microsoft.com. Anyone can read community-related content on the CAAB blog. However, CAAB members get invitations to private webinars that describe new cloud adoption resources and solutions.
Скачать изображения, которые вы видите здесьGet the art you see here
Если вам нужна редактируемая копия иллюстративного материала из этой статьи, мы с радостью вам ее отправим. Напишите нам, указав URL-адрес и название материала, по адресу cloudadopt@microsoft.com.If you want an editable copy of the art you see in this article, we'll be glad to send it to you. Email your request, including the URL and title of the art, to cloudadopt@microsoft.com.