Настройка аутентификации на основе сервера с помощью Customer Engagement (on-premises) и SharePoint Online

В этом разделе описывается, как настроить проверку подлинности на основе сервера между Dynamics 365 Customer Engagement (on-premises) и Microsoft SharePoint Online.

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

Customer Engagement (on-premises)

  • Роль безопасности "Системный администратор". Это необходимо для запуска мастера включения интеграции с SharePoint на основе сервера в Customer Engagement (on-premises).

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

SharePoint Online

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

Настройка аутентификации на основе сервера с помощью Customer Engagement (on-premises) и SharePoint Online

Выполните следующие инструкции в указанном порядке, чтобы настроить Customer Engagement (on-premises) с SharePoint Online.

Внимание

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

  • После включения интеграции SharePoint на базе сервера невозможно вернуться к предыдущему клиентскому методу аутентификации. Поэтому нельзя использовать компонент списков Microsoft Dynamics CRM после настройки организации Customer Engagement (on-premises) для серверной интеграции SharePoint.

  • Чтобы подключить несколько организаций Customer Engagement (on-premises) в одном и том же развертывании Customer Engagement (on-premises) к нескольким сайтам SharePoint Online, сайты SharePoint Online должны располагаться у одного владельца Microsoft Office 365.

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

Перед настройкой Customer Engagement (on-premises) и локальной версии SharePoint Online для проверки подлинности на основе сервера необходимо выполнить следующие условия:

  • Развертывание Customer Engagement (on-premises) должно уже быть настроено и доступно через Интернет. Дополнительные сведения: Настройка IFD для Dynamics 365 for Customer Engagement (on-premises)

  • Microsoft Dynamics 365 Hybrid Connector. Microsoft Dynamics 365 Hybrid Connector — это бесплатный соединитель, который позволяет использовать проверку подлинности на основе сервера в сочетании с Dynamics 365 (on-premises) и SharePoint Online. Дополнительные сведения: Гибридный соединитель Microsoft Dynamics CRM

  • Цифровой сертификат x509, выпущенный доверенным центром сертификации, который будет использоваться для проверки подлинности между Customer Engagement (on-premises) и SharePoint Online. Если вы используете проверку подлинности на основе сервера в целях оценки, можно использовать самозаверяющий сертификат.

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

Внимание

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

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

  1. На сервере Dynamics 365 Server, где выполняется серверная роль "Средства развертывания", запустите модуль Azure Active Directory для Windows PowerShell.

    Внимание

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

  2. Подготовьте сертификат.

    $CertificateScriptWithCommand = “.\CertificateReconfiguration.ps1 -certificateFile c:\Personalcertfile.pfx -password personal_certfile_password -updateCrm -certificateType S2STokenIssuer -serviceAccount contoso\CRMWebApplicationService -storeFindType FindBySubjectDistinguishedName”
    
     Invoke-Expression -command $CertificateScriptWithCommand
    
  3. Подготовьте сеанс PowerShell.

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

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

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

    Дополнительные сведения о каждом модуле для команд Azure Active Directory PowerShell см. в разделе MSOnline.

    $msolcred = get-credential
    connect-msolservice -credential $msolcred
    
  5. Задайте сертификат.

    $Certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
    $Certificate.Import(“c:\Personalcertfile.cer”)
    $CERCertificateBin = $Certificate.GetRawCertData()
    $CredentialValue = [System.Convert]::ToBase64String($CERCertificateBin)
    
  6. Задайте имя субъекта-службы Azure Active Directory в SharePoint.

    Замените *.contoso.com на имя домена, где находится Microsoft Dynamics 365 Server.

    $RootDomain = “*.contoso.com”
    $CRMAppId = "00000007-0000-0000-c000-000000000000" 
    New-MsolServicePrincipalCredential -AppPrincipalId $CRMAppId -Type asymmetric -Usage Verify -Value $CredentialValue
    $CRM = Get-MsolServicePrincipal -AppPrincipalId $CRMAppId
    $ServicePrincipalName = $CRM.ServicePrincipalNames
    $ServicePrincipalName.Remove("$CRMAppId/$RootDomain")
    $ServicePrincipalName.Add("$CRMAppId/$RootDomain")
    Set-MsolServicePrincipal -AppPrincipalId $CRMAppId -ServicePrincipalNames $ServicePrincipalName
    
  7. Настройте Microsoft Dynamics 365 Server для проверки подлинности на основе сервера с SharePoint.

    Add-PSSnapin Microsoft.Crm.PowerShell 
    $setting = New-Object "Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity"
    $setting.LogicalName = "ServerSettings"
    $setting.Attributes = New-Object "Microsoft.Xrm.Sdk.Deployment.AttributeCollection"
    $attribute1 = New-Object "System.Collections.Generic.KeyValuePair[String, Object]" ("S2SDefaultAuthorizationServerPrincipalId", "00000001-0000-0000-c000-000000000000")
    $setting.Attributes.Add($attribute1)
    $attribute2 = New-Object "System.Collections.Generic.KeyValuePair[String, Object]" ("S2SDefaultAuthorizationServerMetadataUrl", "https://accounts.accesscontrol.windows.net/metadata/json/1")
    $setting.Attributes.Add($attribute2)
    Set-CrmAdvancedSetting -Entity $setting
    

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

  1. В приложении Customer Engagement (on-premises) перейдите в раздел Управление документами.

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

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

  4. В случае сайтов SharePoint выберите Online и выберите Далее.

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

    • Введите URL-адрес коллекции сайтов SharePoint Online, например https://contoso.sharepoint.com/sites/salesteam.

    • Введите идентификатор клиента. Дополнительные сведения: Получение идентификатора клиента SharePoint Online

  6. Выберите Далее.

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

Получение идентификатора клиента SharePoint Online

С помощью PowerShell

  1. В модуле Azure Active Directory для Windows PowerShell выполните следующие команды.

    $CRMContextId = (Get-MsolCompanyInformation).ObjectID
    $CRMContextId
    
  2. Скопируйте отобразившийся GUID в буфер обмена.

С помощью параметров сайта

  1. Войдите в коллекцию сайтов SharePoint, которая будет использоваться для управления документами в сочетании с Customer Engagement (on-premises).

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

    Идентификатор клиента отображается в разделе Идентификатор приложения, справа от знака @. Скопируйте и вставьте только GUID. Не вставляйте ту часть идентификатора, которая находится слева от @.

Устранение неполадок в мастере включения проверки подлинности на основе сервера

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