Настройка проверки подлинности на основе сервера с Microsoft Dynamics 365 (локальная версия) и SharePoint (локальная версия)

 

Опубликовано: Февраль 2017

Применимо к: Dynamics 365 (on-premises), Dynamics CRM 2016

В этом разделе описывается, как настроить интеграцию на основе сервера между Dynamics 365 (локальная версия) и Microsoft SharePoint (локальная версия).

Выполните следующие шаги в указанном порядке, чтобы настроить Dynamics 365 (локальная версия) с Microsoft SharePoint Server (локальная версия).

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

  • После включения интеграции SharePoint на основе сервера невозможно вернуться к предыдущему клиентскому методу проверки подлинности. Поэтому нельзя использовать Компонент списков Microsoft Dynamics CRM после настройки организации Dynamics 365 для серверной интеграции SharePoint.

Перед настройкой Dynamics 365 (локальная версия) и SharePoint (локальная версия) для интеграции на основе сервера необходимо выполнить следующие условия и получить следующие разрешения.

Microsoft Dynamics 365

  • Роль безопасности "Системный администратор" необходима для выполнения Мастер включения интеграции с SharePoint на основе сервера в Microsoft Dynamics 365.

  • Если вы используете самозаверяющий сертификат в целях оценки, вы должны быть участником локальной группы "Администраторы" на компьютере, на котором выполняется Сервер Microsoft Dynamics 365 Server.

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

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

  • Цифровой сертификат X509, который будет используемый для проверки подлинности на основе сервера между Сервер Microsoft Dynamics 365 Server и сервером SharePoint. Ключи сертификатов должны иметь шифрование длиной не менее 2048 бит. В большинстве случаев этот сертификат должен быть выдан доверенным центром сертификации, но в целях оценки можно использовать самозаверяющий сертификат.

  • Удостоверение пула приложений CRMAppPool должно иметь доступ на чтение к сертификату кс509, который будет использоваться для проверки подлинности на основе сервера с помощью Сервер Microsoft Dynamics 365 Server и сервера SharePoint. Вы можете использовать оснастку MMC сертификатов для предоставления этого доступа.

  • Если используется Microsoft SharePoint 2013, для каждой фермы SharePoint можно настроить только одну организацию Microsoft Dynamics 365 для интеграции на основе сервера. Однако пользователь может подключить несколько организаций Microsoft Dynamics 365 к ферме серверов SharePoint 2016.

CertificateReconfiguration.ps1 — это скрипт Windows PowerShell, который устанавливает сертификат в локальное хранилище сертификатов, предоставляет указанному удостоверению службы асинхронной обработки Microsoft Dynamics 365 доступ к сертификату и обновляет Сервер Microsoft Dynamics 365 Server для использования этого сертификата.

Добавление сертификата "сервер-сервер" в локальное хранилище сертификатов и базу данных конфигурации Microsoft Dynamics 365

  1. Откройте сеанс команд PowerShell на всех серверах, на которых установлена роль полного сервера Сервер Microsoft Dynamics 365 Server. Для других развертываний ролей сервера место, в котором выполняется командлет для установки сертификата, зависит от используемой версии Microsoft Dynamics 365.

    • Для Пакет обновления для Microsoft Dynamics 365 (локальная версия), декабрь 2016 г. и более поздних версий выполните эту команду на всех серверах, на которых выполняется роль Сервер веб-приложений.

    • Для версий Microsoft Dynamics CRM 2016 с пакетом обновления 1 (SP1) и ранее выполните эту команду на всех серверах, на которых выполняется роль Асинхронный сервис.

  2. Перейдите в папку <диск>:\Program Files\Microsoft Dynamics CRM\Tools.

  3. Запустите скрипт CertificateReconfiguration.ps1 Windows PowerShell, как объясняется здесь:

    • certificateFilepath\Personalcertfile.pfx . Обязательный параметр, который задает полный путь к файлу обмена личной информацией (.pfx). Дополнительные сведения: Работа с цифровыми сертификатами

    • passwordpersonal_certfile_password. Обязательный параметр, который задает пароль к закрытому сертификату.

    • certificateType S2STokenIssuer. Обязательный параметр, который задает тип сертификата. Для интеграции на основе сервера Microsoft Dynamics 365 и SharePoint поддерживается только S2STokenIssuer.

    • serviceAccount "ИмяДомена\ИмяПользователя" или "Сетевая служба".

      • Для Пакет обновления для Microsoft Dynamics 365 (локальная версия), декабрь 2016 г. и более поздних версий:

        serviceAccount "contoso\CRMWebAppServer" или "Сетевая служба". Обязательный параметр, который задает удостоверение для роли Сервер веб-приложений. Удостоверение представляет собой учетную запись, такую как contoso\CRMWebAppServer, или сетевую службу. Этому удостоверению будет предоставлено разрешение на доступ к сертификату.

      • Для версий Microsoft Dynamics CRM 2016 с пакетом обновления 1 (SP1) и ранее:

        serviceAccount "contoso\CRMAsyncService" или "Сетевая служба". Обязательный параметр, который задает удостоверение для Асинхронный сервис. Удостоверение представляет собой учетную запись, такую как contoso\CRMAsyncService, или сетевую службу. Этому удостоверению будет предоставлено разрешение на доступ к сертификату.

    • updateCrm. Добавляет информацию о сертификате в базу данных конфигурации Microsoft Dynamics 365.

      System_CAPS_importantВажно

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

    • storeFindType FindBySubjectDistinguishedName. Задает тип хранилища сертификатов. По умолчанию это значение — FindBySubjectDistinguishedName, и при выполнении скрипта рекомендуется использовать именно его.

    System_CAPS_importantВажно

    Хотя параметры updateCrm и StoreFindType не являются обязательными для выполнения команды, они необходимы для интеграции SharePoint на основе сервера, чтобы информация о сертификате была добавлена в базу данных сертификатов.

    Пример

    .\CertificateReconfiguration.ps1 -certificateFile c:\Personalcertfile.pfx -password personal_certfile_password -updateCrm -certificateType S2STokenIssuer -serviceAccount Domain\UserName -storeFindType FindBySubjectDistinguishedName
    

Получение идентификатора области Dynamics 365

  1. Запустите Мастер включения интеграции с SharePoint на основе сервера.Перейдите в раздел Параметры > Управление документами. (Как это сделать?)

  2. Нажмите кнопку Далее, щелкните Локальная версия и снова нажмите кнопку Далее.

  3. Идентификатор отображается рядом с надписью Код области Dynamics 365 на странице.

    System_CAPS_tipСовет

    Сохраните идентификатор области Dynamics 365 в текстовом файле на безопасном сетевом ресурсе или в облачном хранилище. Затем его можно будет легко восстановить из расположения, в котором выполняется Мастер включения интеграции с SharePoint на основе сервера.

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

Подготовка сервера SharePoint для проверки подлинности Dynamics 365 Server

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

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    

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

    $c = Get-SPSecurityTokenServiceConfig
    $c.AllowMetadataOverHttp = $true
    $c.AllowOAuthOverHttp= $true
    $c.Update()
    
    
  2. Создайте доверенный объект службы токенов безопасности, где OrganizationName — уникальное имя организации Microsoft Dynamics 365, CrmServer — имя веб-сервера IIS, на котором установлена роль сервера веб-приложений Microsoft Dynamics 365, а имя "crm" используется для именования сервера токенов безопасности (STS).

    System_CAPS_importantВажно
    • Подключение нескольких организаций Microsoft Dynamics 365 к одной ферме серверов Microsoft SharePoint 2013 не поддерживается. Однако пользователь может подключить несколько организаций Microsoft Dynamics 365 к ферме серверов SharePoint 2016.

    • При выполнении команды PowerShell New-SPTrustedSecurityTokenIssuer необходимо указать HTTPS для конечной точки метаданных Microsoft Dynamics 365, когда веб-сайт приложения Microsoft Dynamics 365 имеет только привязку HTTPS или обе привязки HTTPS и HTTP, как в следующем примере.

    New-SPTrustedSecurityTokenIssuer –Name "crm" –IsTrustBroker:$false –MetadataEndpoint https://CrmServer/XrmServices/2015/metadataendpoint.svc/json?orgName=OrganizationName
    
  3. Зарегистрируйте Microsoft Dynamics 365 с коллекцией сайтов SharePoint.

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

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

    • CrmRealmId — это идентификатор организации Microsoft Dynamics 365, которую требуется использовать для управления документами с помощью SharePoint.Дополнительные сведения:Получение идентификатора области Dynamics 365

    System_CAPS_importantВажно

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

    $CrmRealmId = "CRMRealmId"
    
    $Identifier  = "00000007-0000-0000-c000-000000000000@" + $CrmRealmId
    
    $site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/"
    
    Register-SPAppPrincipal -site $site.RootWeb -NameIdentifier $Identifier -DisplayName "crm"
    
  4. Предоставьте приложению Microsoft Dynamics 365 доступ к сайту SharePoint.

    System_CAPS_noteПримечание

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

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

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

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

    $app = Get-SPAppPrincipal -NameIdentifier $Identifier -Site $site.Rootweb
    Set-SPAppPrincipalPermission -AppPrincipal $app -Site $site.Rootweb -Scope "sitecollection" -Right "FullControl" -EnableAppOnlyPolicy
    #"Set up claims-based authentication mapping"
    New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    
    
    

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

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

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

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

  5. На этапе Подготовить сайты введите следующие данные:

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

  7. Отобразится раздел проверки сайтов. Если все сайты допустимы, щелкните Включить. Если один или несколько сайтов недопустимы, см. раздел Устранение неполадок интеграции на основе сервера между Dynamics 365 Server (локальная версия) и локальной версией SharePoint Server.

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

После завершения настройки конфигурации интеграции на основе сервера локальной версии Microsoft Dynamics 365 и SharePoint можно также интегрировать OneDrive для бизнеса. С интеграцией Microsoft Dynamics 365 и OneDrive для бизнеса пользователи Microsoft Dynamics 365 смогут создавать и управлять частными документами с помощью OneDrive для бизнеса. Такие документы доступны в Dynamics 365, как только системный администратор включит OneDrive для бизнеса.

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

Add-Pssnapin *
# Access WellKnown App principal
[Microsoft.SharePoint.Administration.SPWebService]::ContentService.WellKnownAppPrincipals

# Create WellKnown App principal
$ClientId = "00000007-0000-0000-c000-000000000000"
$PermissionXml = "<AppPermissionRequests AllowAppOnlyPolicy=""true""><AppPermissionRequest Scope=""http://sharepoint/content/tenant"" Right=""FullControl"" /><AppPermissionRequest Scope=""http://sharepoint/social/tenant"" Right=""Read"" /><AppPermissionRequest Scope=""http://sharepoint/search"" Right=""QueryAsUserIgnoreAppPrincipal"" /></AppPermissionRequests>"

$wellKnownApp= New-Object -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" -ArgumentList ($ClientId, $PermissionXml)

$wellKnownApp.Update()

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

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

По умолчанию при проверке подлинности на основе сервера между Dynamics 365 (локальная версия) и SharePoint для аутентификации каждого пользователя используется идентификатор безопасности (SID) этого пользователя. Если Сервер Microsoft Dynamics 365 Server и SharePoint находятся в разных доменах Active Directory и между этими доменами отсутствует отношение доверия, необходимо использовать сопоставление проверки подлинности на основе утверждений, такое как адрес электронной почты пользователя.Дополнительные сведения:Определение пользовательского сопоставления утверждений для интеграции с SharePoint на основе сервера

В следующей процедуре создается файл обмена персональными данными (.pfx).

  1. На компьютере, у которого есть доступ к сертификату, который требуется использовать для проверки подлинности "сервер-сервер", нажмите кнопку Пуск, щелкните Выполнить, введите MMC и нажмите клавишу ВВОД.

  2. Щелкните Файл и щелкните Добавить или удалить оснастку.

  3. В списке доступных оснасток щелкните Сертификаты, щелкните Добавить, щелкните Учетная запись компьютера, щелкните Далее, щелкните Готово, чтобы выбрать локальный компьютер, и нажмите кнопку ОК.

  4. Разверните Сертификаты, разверните Личное и щелкните Сертификаты.

  5. Щелкните правой кнопкой мыши сертификат, из которого требуется создать файл личного сертификата, выберите Все задачи и щелкните Экспорт.

  6. Щелкните Далее, щелкните Да, экспортируйте закрытый ключ, убедитесь, что следующие флажки установлены, и щелкните Далее.

    • Включить по возможности все сертификаты в путь сертификации

    • Экспортировать все расширенные свойства

  7. Щелкните Обзор и введите расположение и имя файла для PFX-файла, затем щелкните Сохранить.

  8. Щелкните Далее и затем щелкните Готово.

Запустите следующую команду PowerShell в оболочке управления SharePoint, где https://sharepoint.contoso.com/sites/crm/ — это URL-адрес коллекции сайтов SharePoint.

Get-SPAuthenticationRealm -ServiceContext https://sharepoint.contoso.com/sites/crm/

Также можно найти идентификатор области SharePoint в разрешениях приложения сайта коллекции сайтов SharePoint.

  1. Войдите в коллекцию сайтов SharePoint, которая будет использоваться для управления документами в сочетании с Microsoft Dynamics 365.

  2. Перейдите в раздел Параметры сайта > Разрешения для приложений сайта.

  3. Идентификатор области отображается в разделе Идентификатор приложения, справа от знака @. Скопируйте его в буфер обмена. В Мастер включения интеграции с SharePoint на основе серверавставьте только GUID. Не вставляйте ту часть идентификатора, которая находится слева от @.

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

Показ: