Настройка проверки подлинности на основе сервера с помощью Customer Engagement (on-premises) и локальной версии SharePoint
Заметка
Если вы включили режим Только единый интерфейс, перед выполнением описанных в этой статье процедур сделайте следующее:
- Выберите Настройки () на панели навигации.
- Выберите Дополнительные параметры.
В этом разделе описывается, как настроить интеграцию на основе сервера между Dynamics 365 Customer Engagement (on-premises) и Microsoft SharePoint (локальная версия).
Настройка интеграции на основе сервера с Customer Engagement (on-premises) и SharePoint
Выполните следующие инструкции в указанном порядке, чтобы настроить Customer Engagement (on-premises) с локальной версией Microsoft SharePoint Server.
Внимание
- Команды PowerShell следует запускать в режиме администратора. См. раздел: Как запустить PowerShell?
- Если какая-либо задача не завершена, — например, если команда PowerShell возвращает сообщение об ошибке — проблему следует устранить до перехода к следующей команде, задаче или шагу.
- После включения интеграции SharePoint на основе сервера невозможно вернуться к предыдущему клиентскому методу проверки подлинности. Поэтому нельзя использовать компонент списков Microsoft Dynamics CRM после настройки организации Customer Engagement (on-premises) для серверной интеграции SharePoint.
Проверка необходимых условий
Перед настройкой Customer Engagement (on-premises) и SharePoint (локальная версия) для интеграции на основе сервера необходимо выполнить следующие условия и получить следующие разрешения.
Требуемые разрешения
Customer Engagement (on-premises)
Роль безопасности системного администратора необходима для запуска мастера интеграции SharePoint на основе сервера с Customer Engagement (on-premises).
Если вы используете самозаверяющий сертификат в целях оценки, вы должны быть участником локальной группы "Администраторы" на компьютере, на котором выполняется Dynamics 365 Server.
SharePoint (локальная версия)
- Членство в группе "Администраторы фермы" необходимо для выполнения большинства команд Windows PowerShell на сервере SharePoint.
Необходимые условия SharePoint
Одна из следующих версий SharePoint:
Издание с подпиской на службу Sharepoint.
SharePoint 2019 (локальная версия).
Для интеграции на основе сервера между Dynamics 365 Customer Engagement (on-premises) и Microsoft SharePoint 2019 On-Premises требуется Microsoft Dynamics 365 Server, v9.0 (on-premises), обновление 0.13 или более поздняя версия.
SharePoint 2016 (локальная версия).
Microsoft SharePoint 2013 (локальная версия) с пакетом обновления 1 (SP1) или более поздняя версия со следующими обновлениями.
Установите накопительное обновление (CU) за апрель 2019 г. для семейства продуктов SharePoint 2013 г. Это накопительное обновление за апрель 2019 года включает в себя все исправления SharePoint 2013 г. (включая все исправления безопасности SharePoint 2013 г.), выпущенные после пакета обновления SP1. Накопительное обновление за апрель 2019 г. не включает в себя пакет обновления SP1. Вам необходимо установить пакет обновления SP1 перед установкой накопительного обновления от апреля 2019 года.
Настройка SharePoint
Приложение SharePoint должно быть настроено только для одного развертывания фермы.
Чтобы использовать предусмотренное по умолчанию сопоставление проверки подлинности на основе утверждений, домен Active Directory, в котором находятся сервер SharePoint и сервер Dynamics 365 Server, должен быть одним и тем же, либо домен, в котором находится сервер SharePoint, должен доверять домену, в котором находится Dynamics 365 Server. Дополнительные сведения: О сопоставлении проверки подлинности на основе утверждений
Веб-сайт SharePoint должен быть настроен для использования TLS/SSL (HTTPS), и сертификат должен быть выдан общественным корневым центром сертификации. Дополнительные сведения: SharePoint: О сертификатах SSL безопасного канала
Должен быть создан и запущен прокси приложения-службы для управления приложениями. Дополнительные сведения: Настройка среды для приложений для SharePoint
Должно быть настроено и запущено приложение-служба профилей пользователей. Дополнительные сведения: Создание, изменение и удаление приложений-служб профилей пользователей в SharePoint Server 2013
Для общего доступа к документам должна быть включена поисковая служба SharePoint. Дополнительные сведения: Создание и настройка приложения службы поиска в SharePoint Server
Для работы функции управления документами при использовании мобильных приложений Microsoft Customer Engagement (on-premises) локальный сервер SharePoint должен быть доступен через Интернет.
Чтобы пользователи могли создавать библиотеки документов SharePoint из Customer Engagement (on-premises), требуются указанные ниже разрешения и конфигурации:
Учетная запись Active Directory пользователя Customer Engagement (on-premises) должна быть участником группы участников сайта в коллекции сайтов SharePoint, где хранятся документы.
По умолчанию при сопоставлении проверки подлинности на основе утверждений для сопоставления будет использоваться адрес электронной почты SharePoint пользователя Customer Engagement (on-premises) и рабочий адрес электронной почты локальной версии SharePoint пользователя. При использовании такого сопоставления адреса электронной почты пользователя должны совпадать в двух системах. Дополнительные сведения: Настройка утверждений пользователя с использованием адреса электронной почты SharePoint
Другие требования и ограничения
Цифровой сертификат X509, который будет используемый для проверки подлинности на основе сервера между Dynamics 365 Server и сервером SharePoint. Ключи сертификатов должны иметь шифрование длиной не менее 2048 бит. В большинстве случаев этот сертификат должен быть выдан доверенным центром сертификации, но в целях оценки можно использовать самозаверяющий сертификат.
Удостоверение пула приложений CRMAppPool должно иметь доступ на чтение к сертификату x509, который будет использоваться для проверки подлинности на основе сервера с помощью Dynamics 365 Server и сервера SharePoint. Вы можете использовать оснастку MMC сертификатов для предоставления этого доступа.
Если используется Microsoft SharePoint 2013, для каждой фермы SharePoint можно настроить только одну организацию Customer Engagement (on-premises) для интеграции на основе сервера. Однако пользователь может подключить несколько организаций Customer Engagement (on-premises) к ферме серверов 2016 SharePoint.
Подготовка Dynamics 365 Server для интеграции на основе сервера
CertificateReconfiguration.ps1 — это скрипт Windows PowerShell, который устанавливает сертификат в локальное хранилище сертификатов, предоставляет указанному удостоверению службы асинхронной обработки Microsoft Dynamics 365 доступ к сертификату и обновляет Dynamics 365 Server для использования этого сертификата.
Добавление сертификата "сервер-сервер" в локальное хранилище сертификатов и базу данных конфигурации Customer Engagement (on-premises)
- Откройте сеанс команд PowerShell на всех серверах, на которых установлена роль полного сервера Dynamics 365 Server.
Внимание
Необходимо выполнить указанную выше команду для всех серверов, где выполняется роль сервера веб-приложений.
Перейдите в папку <диск>:\Program Files\Microsoft Dynamics CRM\Tools.
Выполните сценарий CertificateReconfiguration.ps1 Windows PowerShell, как указано здесь:
certificateFilepath\Personalcertfile.pfx. Обязательный параметр, который задает полный путь к файлу обмена личной информацией (.pfx). Дополнительные сведения: Работа с цифровыми сертификатами
passwordpersonal_certfile_password. Обязательный параметр, который задает пароль к закрытому сертификату.
certificateType S2STokenIssuer. Обязательный параметр, который задает тип сертификата. Для интеграции на основе сервера Customer Engagement (on-premises) и SharePoint поддерживается только S2STokenIssuer.
serviceAccount ‘DomainName\UserName’ или ‘Network Service’.
serviceAccount 'contoso\\CRMWebAppServer' or ‘Network Service’. Required parameter that specifies the identity for the Web Application Server role. The identity is either a domain user account, such as *contoso\\CRMWebAppServer*, or Network Service. The identity will be granted permission to the certificate.
updateCrm. Добавляет информацию о сертификате в базу данных конфигурации Microsoft Customer Engagement (on-premises).
Внимание
Даже если имеется несколько развернутых ролей сервера веб-приложений или асинхронного сервиса, эту команду требуется выполнить с параметром updateCrm только один раз.
storeFindType FindBySubjectDistinguishedName. Задает тип хранилища сертификатов. По умолчанию это значение — FindBySubjectDistinguishedName, и при выполнении скрипта рекомендуется использовать именно его.
Внимание
Хотя параметры updateCrm и StoreFindType не являются обязательными для выполнения команды, они необходимы для интеграции SharePoint на основе сервера, чтобы информация о сертификате была добавлена в базу данных сертификатов.
Пример
.\CertificateReconfiguration.ps1 -certificateFile c:\Personalcertfile.pfx -password personal_certfile_password -updateCrm -certificateType S2STokenIssuer -serviceAccount Domain\UserName -storeFindType FindBySubjectDistinguishedName
Подготовка фермы SharePoint для интеграции на основе сервера
Получение идентификатора области Dynamics 365
Запустите мастер включения интеграции с SharePoint на основе сервера. Перейдите в раздел Параметры>Управление документами.
Выберите Далее, щелкните Локальная версия и снова нажмите кнопку Далее.
Идентификатор отображается рядом с надписью Код области Dynamics 365 на странице.
Совет
Сохраните идентификатор области Dynamics 365 в текстовом файле на безопасном сетевом ресурсе или в облачном хранилище. После этого можно будет легко извлечь его с компьютера, на котором вы запускаете мастер интеграции SharePoint на основе сервера.
На локальном сервере SharePoint в командной консоли SharePoint выполните следующие команды PowerShell в указанном порядке.
Подготовка сервера SharePoint для проверки подлинности Dynamics 365 Server
Если вы используете командную консоль PowerShell, отличную от командной консоли SharePoint, необходимо зарегистрировать модуль SharePoint, используя следующую команду.
Add-PSSnapin Microsoft.SharePoint.PowerShell
Включите сеанс PowerShell, чтобы внести изменения в службу токенов безопасности для фермы SharePoint.
$c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp= $true $c.Update()
Создайте доверенный объект службы токенов безопасности, где OrganizationName — уникальное имя организации Customer Engagement (on-premises), CrmServer — имя веб-сервера IIS, на котором установлена роль сервера веб-приложений Customer Engagement (on-premises), а -Name "crm" используется для именования сервера токенов безопасности (STS).
Внимание
-
Подключение нескольких организаций Customer Engagement (on-premises) к одной ферме серверов Microsoft SharePoint 2013 не поддерживается. Однако пользователь может подключить несколько организаций Customer Engagement (on-premises) к ферме серверов 2016 SharePoint.
-
При выполнении команды PowerShell New-SPTrustedSecurityTokenIssuer необходимо указать HTTPS для конечной точки метаданных Customer Engagement (on-premises), когда веб-сайт приложения Customer Engagement (on-premises) имеет только привязку HTTPS или обе привязки HTTPS и HTTP, как в следующем примере.
New-SPTrustedSecurityTokenIssuer –Name "crm" –IsTrustBroker:$false –MetadataEndpoint https://CrmServer/XrmServices/2015/metadataendpoint.svc/json?orgName=OrganizationName
-
Зарегистрируйте Customer Engagement (on-premises) с коллекцией сайтов SharePoint.
Для выполнения следующих команд необходимо указать два параметра:
URL-адрес коллекции сайтов локальной версии SharePoint. В этом примере
https://sharepoint.contoso.com/sites/crm/
используется для URL-адреса семейства веб-сайтов.CrmRealmId — это идентификатор организации Customer Engagement (on-premises), которую требуется использовать для управления документами с помощью SharePoint. Дополнительные сведения: Получение идентификатора области Dynamics 365
Внимание
Для выполнения этих команд прокси-сервер приложения службы управления приложениями SharePoint должен существовать и быть активным. Дополнительные сведения о том, как запустить и настроить службу, см. в подразделе "Настройка параметров подписки и приложений службы управления приложениями" раздела Настройка среды для приложений SharePoint.
$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"
Предоставьте Customer Engagement (on-premises) доступ к сайту SharePoint.
Заметка
В примере ниже для Customer Engagement (on-premises) предоставлено разрешение в отношении указанной коллекции сайтов SharePoint с помощью параметра –Scope sitecollection. Параметр "Scope" принимает следующие ключи. Используйте ту область, которая лучше всего подходит для используемой конфигурации SharePoint:
-
site. Предоставляет для Customer Engagement (on-premises) разрешение только на заданный веб-сайт SharePoint. Не предоставляются разрешения ко всем подсайтам указанного сайта.
-
sitecollection. Предоставляет для Customer Engagement (on-premises) разрешения на все веб-сайты и подсайты в заданной коллекции сайтов SharePoint.
-
sitesubscription. Предоставляет для Customer Engagement (on-premises) разрешение на все веб-сайты фермы 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 "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
-
Запуск мастера включения интеграции с SharePoint на основе сервера
В Customer Engagement (on-premises) перейдите в раздел Параметры>Управление документами.
В области "Управление документами" выберите Включение интеграции SharePoint на основе сервера.
Просмотрите сведения и выберите Далее.
В случае сайтов SharePoint выберите Локальная версия и выберите Далее.
На этапе Подготовить сайты введите следующие данные:
URL-адрес коллекции сайтов локальной версии SharePoint, например https://sharepoint.contoso.com/sites/crm. Сайт должен быть настроен для TLS/SSL.
Идентификатор области SharePoint. Получение идентификатора области SharePoint
Выберите Далее.
Отобразится раздел проверки сайтов. Если все сайты допустимы, выберите Включить. Если один или несколько сайтов недопустимы, см. устранение неполадок интеграции на основе сервера между Dynamics 365 Server и локальной версией SharePoint Server.
Выбор сущностей для включения в управление документами
По умолчанию сущности "Организация", "Статья", "Интерес", "Продукт", "Предложение с расценками" и "Литература" включены. Можно добавить или удалить сущности, которые будут использоваться для управления документами с SharePoint в разделе Параметры управления документами в приложениях Customer Engagement. Перейдите в раздел Параметры>Управление документами. Дополнительные сведения: Включение управления документами SharePoint для определенных сущностей
Добавление OneDrive для интеграции для бизнеса
После завершения настройки конфигурации интеграции на основе сервера локальной версии Customer Engagement (on-premises) и SharePoint можно также интегрировать OneDrive для бизнеса. Благодаря интеграции Customer Engagement (on-premises) OneDrive для бизнеса, пользователи Customer Engagement (on-premises) смогут создавать частные документы и управлять или с помощью OneDrive для бизнеса. Такие документы будут доступны в Customer Engagement (on-premises), как только системный администратор включит OneDrive для бизнеса.
Включить 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=""https://sharepoint/content/tenant"" Right=""FullControl"" /><AppPermissionRequest Scope=""https://sharepoint/social/tenant"" Right=""Read"" /><AppPermissionRequest Scope=""https://sharepoint/search"" Right=""QueryAsUserIgnoreAppPrincipal"" /></AppPermissionRequests>"
$wellKnownApp= New-Object -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" -ArgumentList ($ClientId, $PermissionXml)
$wellKnownApp.Update()
Устранение неполадок интеграции на основе сервера между Customer Engagement (on-premises) и локальной версией SharePoint Server
Дополнительные сведения о том, как устранять неполадки при включении мастера интеграции с SharePoint на основе сервера и просматривать журналы мониторинга SharePoint, см. в разделе Устранение неполадок с аутентификацией на основе сервера.
Известные проблемы
Для управления документами с устранением неполадок SharePoint и известных ошибок см. Устранение неполадок с аутентификацией на основе сервера.
О сопоставлении проверки подлинности на основе утверждений
При использовании сопоставления проверки подлинности на основе утверждений домен Active Directory, в котором расположены сервер SharePoint и Dynamics 365 Server, должен быть одинаковым. Серверы, которые располагаются в разных лесах или доменах Active Directory, не поддерживаются. Точно так же пользователи, которые расположены во внешних доменах для сервера Dynamics 365 Server или SharePoint Server, не будет иметь доступа к документам.
По умолчанию при проверке подлинности на основе сервера между Customer Engagement (on-premises) и SharePoint для аутентификации каждого пользователя используется идентификатор безопасности (SID) этого пользователя. Если необходимо воспользоваться настраиваемым сопоставлением проверки подлинности на основе утверждений, например адресом электронной почты пользователя, см. Определение пользовательского сопоставления утверждений для интеграции SharePoint на основе сервера
Настройка утверждений пользователя с использованием адреса электронной почты SharePoint
Откройте редактор форм, чтобы настроить форму пользователя. Для этого выберите Параметры>Безопасность>Пользователи и откройте требуемую запись пользователя.
На панели инструментов выберите …, затем выберите Редактор форм.
Найдите поле Адрес электронной почты SharePoint в области Обозреватель полей и перетащите его в раздел Сведения о пользователе формы пользователя.
На панели инструментов редактора форм выберите Сохранить и нажмите Опубликовать.
Закройте редактор форм и обновите вкладку браузера, чтобы отобразить добавленное поле в записи пользователя.
В записи пользователя Адрес электронной почты SharePoint введите адрес электронной почты пользователя точно так же, как он указан в SharePoint.
Нажмите кнопку Сохранить.
Повторите предыдущие два шага для всех пользователей в системе управления документами.
Работа с цифровыми сертификатами
В следующей процедуре создается файл обмена персональными данными (.pfx).
На компьютере, у которого есть доступ к сертификату, который требуется использовать для аутентификации "сервер-сервер", нажмите кнопку Пуск, щелкните Выполнить, введите MMC и нажмите клавишу "Ввод".
Выберите Файл и выберите Добавить или удалить оснастку.
В списке доступных оснасток щелкните Сертификаты, выберите Добавить, выберите Учетная запись компьютера, выберите Далее, выберите Готово, чтобы выбрать локальный компьютер, и нажмите ОК.
Разверните Сертификаты, разверните Личное и выберите Сертификаты.
Щелкните правой кнопкой мыши сертификат, из которого требуется создать файл личного сертификата, выберите Все задачи и выберите Экспорт.
Выберите Далее, выберите Да, экспортируйте закрытый ключ, убедитесь, что следующие флажки установлены, и выберите Далее.
Включить по возможности все сертификаты в путь сертификации
Экспортировать все расширенные свойства
Выберите Обзор и введите расположение и имя файла для PFX-файла, затем выберите Сохранить.
Выберите Далее, затем выберите Готово.
Получение идентификатора области SharePoint
Запустите следующую команду PowerShell в оболочке управления SharePoint, где https://sharepoint.contoso.com/sites/crm/ — это URL-адрес коллекции сайтов SharePoint.
Get-SPAuthenticationRealm -ServiceContext https://sharepoint.contoso.com/sites/crm/
Также можно найти идентификатор области SharePoint в разрешениях приложения сайта коллекции сайтов SharePoint.
Войдите в коллекцию сайтов SharePoint, которая будет использоваться для управления документами в сочетании с Customer Engagement (on-premises).
Перейдите в раздел Параметры сайта>Разрешения для приложений сайта.
Идентификатор области отображается в разделе Идентификатор приложения, справа от знака @. Скопируйте его в буфер обмена. В мастере включения интеграции с SharePoint на основе сервера вставьте только GUID. Не вставляйте ту часть идентификатора, которая находится слева от @.