Настройка проверки подлинности на основе сервера в Dynamics CRM Online и локальной версии SharePoint

 

Опубликовано: Ноябрь 2016

Применимо к: Dynamics CRM 2015

Введенную в Обновление 1 Microsoft Dynamics CRM Online 2015 интеграцию с Microsoft SharePoint на основе сервера для управления документами теперь можно использовать для подключения Microsoft Dynamics CRM Online к локальной версии SharePoint. При использовании проверки подлинности на основе сервера служба Azure Active Directory Access Control Service (ACS) используется как доверенный посредник, и пользователям не нужно входить в SharePoint. Кроме того, элемент управление списком, который требует наличия устаревшей функции песочницы SharePoint, не требуется для отображения документов SharePoint в представлениях Microsoft Dynamics 365.

CRM Online и SharePoint (локальная версия)

Требуемые разрешения

Office 365

  • Наличие роли глобального администратора Office 365. Это необходимо для доступа к подписке Microsoft Office 365 на уровне администрирования и выполнения командлетов Microsoft AzurePowerShell.

Microsoft Dynamics CRM Online

  • Привилегия Запуск мастера интеграции SharePoint. Это необходимо для запуска мастера включения проверки подлинности на основе сервера в Microsoft Dynamics 365.

    По умолчанию роль безопасности "Системный администратор" имеет это разрешение.

Локальная версия SharePoint

  • Членство в группе "Администраторы фермы". Это необходимо для выполнения команд PowerShell на сервере SharePoint.

Настройка проверки подлинности сервер-сервер в CRM Online и локальной версии SharePoint

Выполните следующие инструкции в указанном порядке, чтобы настроить CRM Online с локальной версией SharePoint 2013.

Важно!

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

Проверка необходимых условий

Перед настройкой Microsoft Dynamics CRM Online и локальной версии SharePoint для проверки подлинности на основе сервера необходимо выполнить следующие условия.

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

  • Microsoft SharePoint 2013 (локальная версия) с пакетом обновления 1 (SP1) или более поздняя версия

    Важно!

    Версии Microsoft SharePoint Foundation 2013 не поддерживаются для использования с управлением документами Microsoft Dynamics 365.

  • Исправление KB2883081 для SharePoint Foundation 2013 от 12 августа 2014 г. (Sts-x-none.msp)

    Важно!

    Следующие обновления являются необходимыми для KB2883081 и также могут потребоваться.

  • Настройка SharePoint

    • Приложение SharePoint должно быть настроено только для одного развертывания фермы.

    • Наличие доступа к веб-сайтам SharePoint через Интернет. Обратный прокси-сервер также может потребоваться для проверки подлинности SharePoint. Дополнительные сведения см. в разделе Настройка обратного прокси-сервера для гибрида SharePoint Server 2013.

    • Веб-сайт SharePoint должен быть настроен для использования SSL (HTTPS), и сертификат должен быть выдан общественным корневым центром сертификации.Дополнительные сведения:SharePoint: о сертификатах SSL безопасного канала

    • Надежное свойство пользователя, используемое для сопоставления проверки подлинности на основе утверждений между SharePoint и Microsoft Dynamics 365.Дополнительные сведения:Выбор типа сопоставления проверки подлинности на основе утверждений

Другие необходимые условия

  • Лицензия SharePoint Online. Локальная серверная аутентификация Microsoft Dynamics CRM Online в SharePoint подразумевает наличие имени субъекта-службы SharePoint, зарегистрированного в Azure Active Directory. Для использования этой функции требуется хотя бы одна пользовательская лицензия SharePoint Online. Лицензия SharePoint Online может наследоваться от одной пользовательской лицензии и, как правило, имеет источником одно из следующего.

    • Подписка SharePoint Online. Достаточно любого плана SharePoint Online, даже если лицензия не назначена пользователю.

    • Подписка Office 365, которая включает SharePoint Online. Например, если имеется Office 365 E3, у вас будет подходящая лицензия, даже если лицензия не назначена пользователю.

    Дополнительные сведения об этих планах см. в разделах Office 365. Выбор плана и Сравнение параметров SharePoint.

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

    Важно!

    На момент написания этой статьи существует проблема с версией RTW помощника по входу в Microsoft Online Services для ИТ-профессионалов. Пока проблема не будет устранена, рекомендуется использовать бета-версию.Дополнительные сведения:Форумы Microsoft Azure: невозможно установить модуль Azure Active Directory для Windows PowerShell. MOSSIA не установлен.

  • Соответствующий тип сопоставления проверки подлинности на основе утверждений, используемый для сопоставления удостоверений между Microsoft Dynamics CRM Online и локальной версией SharePoint. По умолчанию используется адрес электронной почты.Дополнительные сведения:Предоставление разрешения Microsoft Dynamics CRM на доступ к SharePoint и настройка сопоставления проверки подлинности на основе утверждений

Обновление имени участника-службы SharePoint Server в ACS

На сервере локальной версии SharePoint в оболочке управления SharePoint 2013 выполните следующие команды PowerShell в указанном порядке.

  1. Подготовьте сеанс PowerShell.

    Следующие командлеты позволяют компьютеру получать удаленные команды и добавлять модули Office 365 в сеанс PowerShell. Дополнительные сведения об этих командлетах см. в разделе Основные командлеты Windows PowerShell.

    Enable-PSRemoting -force
    New-PSSession
    Import-Module MSOnline -force
    Import-Module MSOnlineExtended -force
    
  2. Подключитесь к Office 365.

    При выполнении команды Connect-MsolService необходимо предоставить действительный Учетная запись Майкрософт с членством в группе глобальных администраторов Office 365 для необходимой лицензии SharePoint Online.

    Дополнительные сведения о каждой из перечисленных ниже команд PowerShellAzure Active Directory см. в разделе MSDN. Управление Azure AD с помощью Windows PowerShell.

    $msolcred = get-credential
    connect-msolservice -credential $msolcred
    
  3. Укажите имя узла SharePoint.

    Значение, задаваемое для переменной HostName, должно быть полным именем узла коллекции сайтов SharePoint. Имя узла должно быть производным от URL-адреса коллекции сайтов и вводиться с учетом регистра. В этом примере URL-адресом коллекции сайтов является https://SharePoint.constoso.com/sites/salesteam, поэтому именем узла будет SharePoint.contoso.com.

    $HostName = "SharePoint.contoso.com"
    
  4. Получите идентификатор объекта (клиента) Office 365 и имя участника-службы SharePoint Server.

    $SPOAppId = "00000003-0000-0ff1-ce00-000000000000"
    $SPOContextId = (Get-MsolCompanyInformation).ObjectID
    $SharePoint = Get-MsolServicePrincipal -AppPrincipalId $SPOAppId
    $ServicePrincipalName = $SharePoint.ServicePrincipalNames
    
  5. Укажите имя участника-службы SharePoint Server в ACS.

    $ServicePrincipalName.Add("$SPOAppId/$HostName") 
    Set-MsolServicePrincipal -AppPrincipalId $SPOAppId -ServicePrincipalNames $ServicePrincipalName 
    

По завершении выполнения этих команд не закрывайте оболочку управления SharePoint 2013 и переходите к следующему шагу.

Обновление области SharePoint для соответствия области SharePoint Online

На сервере локальной версии SharePoint в оболочке управления SharePoint 2013 выполните следующую команду Windows PowerShell.

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

Предупреждение

При выполнении этой команды изменяется область проверки подлинности фермы локальной версии SharePoint. В случае приложений, использующих существующую службу токенов безопасности, это может привести к неожиданному поведению с другими приложениями, использующими токены доступа. Дополнительные сведения см. в разделе Set-SPAuthenticationRealm.

Set-SPAuthenticationRealm -Realm $SPOContextId

Создание доверенного издателя токена безопасности для ACS в SharePoint

На сервере локальной версии SharePoint в оболочке управления SharePoint 2013 выполните следующие команды PowerShell в указанном порядке.

Следующие команды требуют членства в группе администраторов фермы SharePoint.

Дополнительные сведения об этих командах PowerShell см. в разделе Использование командлетов Windows PowerShell для администрирования безопасности в SharePoint 2013.

  1. Включите сеанс PowerShell, чтобы внести изменения в службу токенов безопасности для фермы SharePoint.

    $c = Get-SPSecurityTokenServiceConfig
    $c.AllowMetadataOverHttp = $true
    $c.AllowOAuthOverHttp= $true
    $c.Update()
    
  2. Настройте конечную точку метаданных.

    $metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $SPOContextId + "/metadata/json/1"
    $acsissuer = "00000001-0000-0000-c000-000000000000@" + $SPOContextId
    $issuer = "00000007-0000-0000-c000-000000000000@" + $SPOContextId
    
  3. Создайте прокси-сервер приложения Control Service нового токена в ACS.

    New-SPAzureAccessControlServiceApplicationProxy -Name "ACSInternal" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
    

    Примечание

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

  4. Создайте издателя новых токенов Control Service в локальной версии SharePoint для ACS.

    $acs = New-SPTrustedSecurityTokenIssuer –Name "ACSInternal" –IsTrustBroker:$true –MetadataEndpoint $metadataEndpoint -RegisteredIssuerName $acsissuer 
    

Предоставление разрешения Microsoft Dynamics CRM на доступ к SharePoint и настройка сопоставления проверки подлинности на основе утверждений

На сервере локальной версии SharePoint в оболочке управления SharePoint 2013 выполните следующие команды PowerShell в указанном порядке.

Следующие команды требуют членства в группе администраторов коллекции сайтов SharePoint.

  1. Зарегистрируйте Microsoft Dynamics 365 с коллекцией сайтов SharePoint.

    Введите URL-адрес коллекции сайтов локальной версии SharePoint. В этом примере используется https://sharepoint.contoso.com/sites/crm/.

    Важно!

    Для выполнения этой команды прокси-сервер приложения службы управления приложениями SharePoint должен существовать и быть активным. Дополнительные сведения о том, как запустить и настроить службу, см. в подразделе "Настройка параметров подписки и приложений службы управления приложениями" раздела Настройка среды для приложений SharePoint (SharePoint 2013).

    $site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/"
    Register-SPAppPrincipal -site $site.RootWeb -NameIdentifier $issuer -DisplayName "crm"
    
  2. Предоставьте приложению Microsoft Dynamics 365 доступ к сайту SharePoint. Замените https://sharepoint.contoso.com/sites/crm/ на URL-адрес сайта SharePoint.

    Примечание

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

    • site. Предоставляет приложению Dynamics 365 разрешение только на заданный веб-сайт SharePoint. Не предоставляются разрешения ко всем подсайтам указанного сайта.

    • sitecollection. Предоставляет приложению Dynamics 365 разрешения на все веб-сайты и подсайты в заданной коллекции сайтов SharePoint.

    • sitesubscription. Предоставляет приложению Dynamics 365 разрешение на все веб-сайты фермы SharePoint, включая все коллекции сайтов, веб-сайты и подсайты.

    $app = Get-SPAppPrincipal -NameIdentifier $issuer -Site "https://sharepoint.contoso.com/sites/crm/"
    Set-SPAppPrincipalPermission -AppPrincipal $app -Site $site.Rootweb -Scope "sitecollection" -Right "FullControl"
    
  3. Укажите тип сопоставления проверки подлинности на основе утверждений.

    Важно!

    По умолчанию при сопоставлении проверки подлинности на основе утверждений для сопоставления будет использоваться адрес электронной почты Учетная запись Майкрософт пользователя и Рабочий адрес электронной почты локальной версии SharePoint пользователя. В этом случае адреса электронной почты пользователя должны совпадать в двух системах. Дополнительные сведения см. в статье Выбор типа сопоставления проверки подлинности на основе утверждений.

    $map1 = New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    

Запуск мастера включения интеграции с SharePoint на основе сервера

В приложении Microsoft Dynamics 365 выполните следующие действия.

  1. Перейдите в раздел Параметры > Управление документами.

  2. В области Управление документами выберите Включение интеграции с SharePoint на основе сервера.

  3. Просмотрите сведения и щелкните Далее.

  4. В случае сайтов SharePoint выберите Локальная версия и щелкните Далее.

  5. Введите URL-адрес коллекции сайтов локальной версии SharePoint, например https://sharepoint.contoso.com/sites/crm. Сайт должен быть настроен для SSL.

  6. Нажмите кнопку Далее.

  7. Отобразится раздел проверки сайтов. Если все сайты определены как допустимые, выберите Включить. Если один или несколько сайтов определены как недопустимые, см. раздел Устранение неполадок с проверкой подлинности на основе сервера.

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

По умолчанию сущности "Организация", "Статья", "Интерес", "Продукт", "Предложение с расценками" и "Литература" включены. Можно добавить или удалить сущности, которые будут использоваться для управления документами с SharePoint в разделе Параметры управления документами в Microsoft Dynamics 365.Перейдите в раздел Параметры > Управление документами.Дополнительные сведения:Центр клиентов. Включение управления документами в сущностях

Выбор типа сопоставления проверки подлинности на основе утверждений

По умолчанию при сопоставлении проверки подлинности на основе утверждений для сопоставления будет использоваться адрес электронной почты Учетная запись Майкрософт пользователя и рабочий адрес электронной почты локальной версии SharePoint пользователя. Обратите внимание, что какой бы тип проверки подлинности на основе утверждений вы ни использовали, значения, такие как адреса электронной почты, должны совпадать в Microsoft Dynamics CRM Online и SharePoint. Синхронизация каталога Office 365 поможет помочь в этом отношении.Дополнительные сведения:Развертывание Office 365 Directory Synchronization (DirSync) в Microsoft Azure Сведения по использованию другого типа сопоставления проверки подлинности на основе утверждений см. в разделе MSDN. Определение пользовательского сопоставления утверждений для интеграции с SharePoint на основе сервера.

Важно!

Для включения свойства рабочего адреса электронной почты необходимо настроить и запустить приложение службы профилей пользователей в локальной версии SharePoint. Для включения приложения службы профилей пользователей в SharePoint см. раздел Создание, изменение и удаление приложения службы профилей пользователей в SharePoint Server 2013. Чтобы внести изменения в свойство пользователя, например рабочий адрес электронной почты, см. раздел Изменение свойства профиля пользователя. Дополнительные сведения о приложении службы профилей пользователей см. в разделе Обзор приложения службы профилей пользователей в SharePoint Server 2013.

См. также

Устранение неполадок с проверкой подлинности на основе сервера
Настройка интеграции SharePoint с Microsoft Dynamics CRM

© Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. Авторские права