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

 

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

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

Введенную в Обновление 1 Microsoft Dynamics CRM Online 2015 интеграцию с Microsoft SharePoint на основе сервера для управления документами можно использовать для подключения Microsoft Dynamics 365 Online к локальной версии SharePoint. При использовании проверки подлинности на основе сервера службы домена Azure AD используются как доверенный посредник, и пользователям не нужно входить в SharePoint.

Dynamics 365 (сетевая версия) и SharePoint (локальная версия)

Office 365

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

Microsoft Dynamics 365 Online

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

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

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

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

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

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

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

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

На сервере локальной версии 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 в Azure Active Directory.

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

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

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

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

System_CAPS_cautionВнимание!

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


Set-SPAuthenticationRealm -Realm $SPOContextId

На сервере локальной версии 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 нового токена в Azure Active Directory.

    New-SPAzureAccessControlServiceApplicationProxy -Name "Internal" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
    
    
    System_CAPS_noteПримечание

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

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

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

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

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

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

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

    System_CAPS_importantВажно

    Для выполнения этой команды прокси-сервер приложения службы управления приложениями 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.

    System_CAPS_noteПримечание

    В следующем примере приложению 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. Укажите тип сопоставления проверки подлинности на основе утверждений.

    System_CAPS_importantВажно

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

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

В приложении 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.Перейдите в раздел Параметры > Управление документами. (Как это сделать?)Дополнительные сведения:Центр клиентов. Включение управления документами в сущностях

После завершения настройки серверной аутентификации локальной версии Microsoft Dynamics 365 и SharePoint можно также интегрировать OneDrive для бизнеса. С интеграцией Microsoft Dynamics 365 и OneDrive для бизнеса пользователи 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 пользователя. Обратите внимание, что какой бы тип проверки подлинности на основе утверждений вы ни использовали, значения, такие как адреса электронной почты, должны совпадать в Microsoft Dynamics 365 Online и SharePoint. Синхронизация каталога Office 365 поможет помочь в этом отношении.Дополнительные сведения:Развертывание Office 365 Directory Synchronization (DirSync) в Microsoft Azure Сведения по использованию другого типа сопоставления проверки подлинности на основе утверждений см. в разделе Определение пользовательского сопоставления утверждений для интеграции с SharePoint на основе сервера.

System_CAPS_importantВажно

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

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

Добавления сообщества

ДОБАВИТЬ
Показ: