共用方式為


設定 Customer Engagement (on-premises) 和 SharePoint 內部部署的伺服器架構驗證

Note

如果您已啟用僅整合介面模式,請在使用程序之前在本文中執行以下動作:

  1. 在導航欄上選擇 Settings齒輪圖示。)。
  2. 選取進階設定

    進階設定。

本主題描述如何設定 Dynamics 365 Customer Engagement (on-premises) 和 Microsoft SharePoint 內部部署之間的伺服器架構整合。

設定 Customer Engagement (on-premises) 和 SharePoint 的伺服器架構整合

依提供的順序執行步驟,以設定 Customer Engagement (on-premises) 與 Microsoft SharePoint 伺服器內部部署。

重要

  • PowerShell 命令應以系統管理員模式來執行。 請參閱:如何啟動 PowerShell?
  • 如果未完成工作 (例如,如果 PowerShell 命令傳回錯誤訊息),必須先解決錯誤,才能繼續執行下一個命令、工作或步驟。
  • 一旦啟用伺服器架構 SharePoint 整合,您就無法還原為先前的用戶端驗證方法。 因此,您無法使用 Microsoft Dynamics CRM 清單元件,在您設定 Customer Engagement (on-premises) 應用程式組織進行伺服器架構 SharePoint 整合之後。

確認先決條件

在您設定 Customer Engagement (on-premises) 和 SharePoint 內部部署進行伺服器架構整合之前,需要下列使用權限且符合先決條件。

需要權限

Customer Engagement (on-premises)

  • 系統管理員資訊安全角色 - 這是為執行 Customer Engagement (on-premises) 中啟用伺服器架構 SharePoint 整合精靈所需。

  • 如果為評估用途使用自我簽署憑證,您必須擁有執行 Dynamics 365 Server 所在電腦的本機系統管理員群組成員資格。

SharePoint On-Premises

  • 伺服器陣列管理員群組成員資格 - 這是在 SharePoint 伺服器上執行大部分 Windows PowerShell 命令所需。

SharePoint 先決條件

  • 需要下列其中一個 SharePoint 版本:

    • Sharepoint 服務訂閱版本。

    • SharePoint 2019 On-Premises。

      Dynamics 365 Customer Engagement (on-premises) 與 Microsoft SharePoint 2019 內部部署之間的伺服器架構整合需要 Microsoft Dynamics 365 Server v9.0 (on-premises) 更新 0.13 或更新版本。

    • SharePoint 2016 On-Premises。

    • Microsoft SharePoint 2013 On-Premises with Service Pack 1 (SP1) 或更新版本及下列更新。

      • 為 SharePoint 2013 產品系列安裝 2019 年 4 月的累積更新(CU)。 這個 2019 年 4 月的 CU 包含自 SP1 以來發行的所有 SharePoint 2013 修補程式(包括所有 SharePoint 2013 的安全性修正)。 2019 年 4 月的 CU 不包含 SP1。 您必須先安裝 SP1,才能安裝 2019 年 4 月的 CU。

        • KB4464512 – SharePoint Foundation 2013 2019 年 4 月 CU

        • KB 4464514 – SharePoint Server 2013 2019 年 4 月 CU

        • KB4464513 – Project Server 2013 2019 年 4 月 CU

  • SharePoint 設定

    • SharePoint 只能對單一伺服器陣列部署進行設定。

    • 若要使用預設宣告型驗證對應,SharePoint 伺服器和 Dynamics 365 Server 伺服器所在的 Active Directory 網域必須相同,或者 SharePoint 伺服器所在的網域必須信任 Dynamics 365 Server 所在的網域。 其他資訊:關於宣告型驗證對應

    • 必須將 SharePoint 網站設定為使用 TLS/SSL (HTTPS),而且必須由公用根憑證授權單位發行憑證。 其他資訊:SharePoint:關於安全通道 SSL 憑證

    • 必須建立和啟動應用程式管理服務應用程式 Proxy。 其他資訊:設定 SharePoint 應用程式的環境

    • 必須設定和啟動使用者設定檔服務應用程式。 其他資訊:在 SharePoint Server 2013 中建立、編輯或刪除 User Profile Service 應用程式

    • 若要進行文件共用,SharePoint 搜尋服務必須啟用。 其他資訊:建立與設定 SharePoint Server 中的搜尋服務應用程式

    • 使用 Microsoft Customer Engagement (on-premises) 行動應用程式時若要使用文件管理功能,內部部署 SharePoint 伺服器必須能夠透過網際網路提供。

    • 若要讓使用者從 Customer Engagement (on-premises) 建立 SharePoint 文件庫,需要下列權限和組態:

      • Customer Engagement (on-premises) 使用者 Active Directory 帳戶必須是網站成員群組的成員,在儲存文件的 SharePoint 網站集合上。

      • 根據預設,宣告型驗證對應會使用 Customer Engagement (on-premises) 使用者的 SharePoint 電子郵件地址以及使用者的 SharePoint 內部部署工作電子郵件地址進行對應。 使用此對應時,使用者的電子郵件地址必須在兩個系統之間相符。 其他資訊:使用 SharePoint 電子郵件地址設定使用者宣告對應

其他先決條件和限制

  • 用於在 Dynamics 365 Server 和 SharePoint 伺服器之間進行伺服器架構驗證的 X509 數位憑證。 憑證金鑰必須至少有 2048 位元加密。 在許多情況下,此憑證必須由信任的憑證授權單位發行,但是在評估中,您可以使用自我簽署的憑證。

  • CRMAppPool 應用程式集區的識別必須具有 x509 憑證的讀取存取權,該憑證用於搭配 Dynamics 365 Server 和 SharePoint 伺服器進行伺服器架構驗證。 您可以使用憑證 MMC 嵌入式管理單元授與此存取權。

  • 如果您使用 Microsoft SharePoint 2013,在每個 SharePoint 陣列,只有一個 Customer Engagement (on-premises) 組織可設定用於伺服器架構整合。 不過,您可以將多個 Customer Engagement (on-premises) 組織連線至一個 SharePoint 2016 伺服器陣列。

準備 Dynamics 365 Server 進行伺服器架構整合

CertificateReconfiguration.ps1 是 Windows PowerShell 指令碼,它可將憑證安裝至本機憑證存放區,將憑證的存取權授與指定的 Microsoft Dynamics 365 非同步處理服務識別,以及更新 Dynamics 365 Server 以使用憑證。

將伺服器對伺服器憑證新增至本機憑證存放區和 Customer Engagement (on-premises) 設定資料庫

  1. 在所有已安裝 Dynamics 365 Server 完整伺服器角色的伺服器上開啟 PowerShell 命令工作階段。

重要

您必須在所有執行 Web 應用程式伺服器角色的伺服器上執行此處所述的命令。

  1. 將您的位置變更為 <drive>:\Program Files\Microsoft Dynamics CRM\Tools 資料夾。

  2. 執行 CertificateReconfiguration.ps1 Windows PowerShell 指令碼,如下所述:

    • certificateFilepath\Personalcertfile.pfx。 指定個人資訊交換檔案 (.pfx) 之完整路徑的必要參數。 其他資訊:使用數位憑證

    • passwordpersonal_certfile_password。 指定私人憑證密碼的必要參數。

    • certificateType S2STokenIssuer。 指定憑證類型的必要參數。 對於 Customer Engagement (on-premises) 和 SharePoint 伺服器架構整合,僅支援 S2STokenIssuer

    • serviceAccountDomainName\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) 設定資料庫。

      重要

      即使您已部署多個 Web 應用程式伺服器或非同步服務角色,也只需要執行使用 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 領域識別碼

  1. 啟動啟用伺服器架構 SharePoint 整合精靈。 移至設定>文件管理

  2. 選取下一步,選取 On-Premises,然後選取下一步

  3. 頁面上的 Dynamics 365 領域識別碼旁邊會顯示識別碼。

    小費

    將 Dynamics 365 領域識別碼儲存在安全網路共用或雲端式儲存空間上的文字檔。 然後,可以從執行啟用伺服器架構 SharePoint 整合精靈的位置輕鬆擷取它。

在 SharePoint on-premises 伺服器的 SharePoint 管理命令介面中,依指定順序執行下列 PowerShell 命令。

準備 SharePoint 伺服器進行 Dynamics 365 Server 驗證

  1. 如果您使用的 PowerShell 管理命令介面不是 SharePoint 管理命令介面,您必須使用下列命令註冊 SharePoint 模組。

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    

    啟用 PowerShell 工作階段,對 SharePoint 伺服陣列的 Security Token Service 進行變更。

    $c = Get-SPSecurityTokenServiceConfig
    $c.AllowMetadataOverHttp = $true
    $c.AllowOAuthOverHttp= $true
    $c.Update()
    
  2. 建立信任的 Security Token Service 物件,其中 OrganizationName 是 Customer Engagement (on-premises) 組織唯一名稱,而 CrmServer 是安裝 Customer Engagement (on-premises) Web 應用程式伺服器角色的 IIS Web 伺服器名稱,以及 -Name "crm" 用於命名 Security Token Server (STS)。

    重要

    • 不支援將多個 Customer Engagement (on-premises) 組織連線至單一 Microsoft SharePoint 2013 伺服器陣列。 不過,您可以將多個 Customer Engagement (on-premises) 組織連線至一個 SharePoint 2016 伺服器陣列。

    • 當您執行 New-SPTrustedSecurityTokenIssuer PowerShell 命令時,若 Customer Engagement (on-premises) 網站只有 HTTPS 或同時有 HTTPS 和 HTTP 繫結,則必須為 Customer Engagement (on-premises) 中繼資料端點指定 HTTPS,如下方範例所示。

    New-SPTrustedSecurityTokenIssuer –Name "crm" –IsTrustBroker:$false –MetadataEndpoint https://CrmServer/XrmServices/2015/metadataendpoint.svc/json?orgName=OrganizationName
    
  3. 向 SharePoint 網站集合註冊 Customer Engagement (on-premises)。

    若要執行下列命令,您必須指定兩個參數:

    • SharePoint 內部部署網站集合 URL。 在此處的範例中,https://sharepoint.contoso.com/sites/crm/ 用於網站集合 URL。

    • CrmRealmId 是要供 SharePoint 文件管理使用的 Customer Engagement (on-premises) 組織識別碼。 其他資訊:取得 Dynamics 365 領域識別碼

    重要

    若要完成這些命令,SharePoint 應用程式管理服務應用程式 Proxy 必須存在且正在執行。 如需如何啟動和設定服務的詳細資訊,請參閱設定 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"
    
  4. 授與 Customer Engagement (on-premises) 存取 SharePoint 網站的權限。

    Note

    在下列範例中,使用 –Scope sitecollection 參數授與 Customer Engagement (on-premises) 指定 SharePoint 網站集合的權限。 範圍參數接受下列選項。 使用最適合您的 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 整合精靈

  1. 在 Customer Engagement (on-premises) 中,移至設定>文件管理

  2. 在 [文件管理] 區域中,選取啟用伺服器架構 SharePoint 整合

  3. 檢閱資訊,然後選取下一步

  4. 對於 SharePoint 網站,選擇內部部署,然後選取下一步

  5. 準備網站階段中輸入下列資訊:

    •  SharePoint On-Premises 網站集合 URL,例如 https://sharepoint.contoso.com/sites/crm。 該網站必須已設定成使用 TLS/SSL。

    • SharePoint 領域識別碼。 取得 SharePoint 領域識別碼

  6. 選取下一步

  7. 驗證網站區段隨即出現。 如果所有網站皆有效,請選取啟用。 如果有一或多個網站無效,請參閱<疑難排解 Dynamics 365 Server 對 SharePoint Server 內部部署伺服器架構整合>。

選取要包含在文件管理中的實體

預設會包含客戶、文章、潛在客戶、產品、報價及銷售文宣實體。 您可以在 Customer Engagement 應用程式的文件管理設定中,新增或移除文件管理搭配 SharePoint 所使用的實體。 移至設定>文件管理。 其他資訊:啟用特定實體的 SharePoint 文件管理

新增商務用 OneDrive 整合

完成 Customer Engagement (on-premises) 及 SharePoint 內部部署伺服器架構整合設定之後,您也可以整合商務用 OneDrive。 透過 Customer Engagement (on-premises) 商務用 OneDrive 整合,Customer Engagement (on-premises) 使用者可以使用商務用 OneDrive 建立和管理私人文件。 當系統管理員已啟用商務用 OneDrive,可以在 Customer Engagement (on-premises) 中存取這些文件。

啟用商務用 OneDrive

在 SharePoint On-Premises 執行所在的 Windows 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 伺服器內部部署伺服器架構整合

如需如何疑難排解啟用伺服器架構 SharePoint 整合精靈及檢視 SharePoint 監控記錄的資訊,請參閱疑難排解伺服器架構驗證

已知問題

如需透過 SharePoint 疑難排解管理文件與已知問題的相關資訊,請參閱疑難排解伺服器架構驗證

關於宣告型驗證對應

使用宣告型驗證對應時,SharePoint Server 和 Dynamics 365 Server 位置所在的 Active Directory 網域必須相同。 不支援位於不同 Active Directory 樹系或網域的伺服器。 同樣的,位於 Dynamics 365 Server 或 SharePoint Server 外部網域的使用者無法存取文件。

根據預設,在 Customer Engagement (on-premises) 與 SharePoint 內部部署伺服器架構驗證會使用使用者的安全性識別碼 (SID) 驗證每位使用者。 如果您想要使用自訂宣告型驗證對應(如使用者的電子郵件地址),請參閱定義 SharePoint 伺服器架構整合的自訂宣告對應

使用 SharePoint 電子郵件地址設定使用者宣告對應

  1. 開啟表單編輯器自訂使用者表單。 若要這麼做,請移至設定>安全性>使用者,然後開啟您要的使用者記錄。

  2. 在工具列上,選取 ,然後選取表單編輯器

    開啟使用者表單的編輯器。

  3. 欄位總管窗格中找到 SharePoint 電子郵件地址欄位,然後將它拖曳至使用者表單的使用者資訊區段上。

    在使用者表單上新增 SharePoint 電子郵件地址欄位。

  4. 在表單編輯器工具列上中,選取儲存,然後選取發行

  5. 關閉表單編輯器,然後重新整理網頁瀏覽器索引標籤,以顯示使用者記錄上新增的欄位。

  6. 在使用者記錄 SharePoint 電子郵件地址欄位中,輸入與 SharePoint 中所顯示完全一樣的電子郵件地址。

  7. 選取儲存

  8. 針對需要文件管理的所有使用者重複前兩個步驟。

使用數位憑證

下列程序會建立個人資訊交換檔 (.pfx)。

  1. 在可存取您要用於伺服器對伺服器驗證之憑證的電腦上,依序選取開始執行,輸入 MMC,然後按 Enter。

  2. 選取檔案,然後選取新增/移除嵌入式管理單元

  3. 在可用的嵌入式管理單元清單中,依序按一下憑證新增,再依序選取電腦帳戶下一步完成,以選取本機電腦,然後按選取確定

  4. 依多展開憑證個人,然後選取憑證

  5. 以滑鼠右鍵按一下您要用來建立個人憑證檔的憑證,指向所有工作,然後選取匯出

  6. 選取下一步,再選取,以匯出私密金鑰,確認已核取下列選項,然後選取下一步

    • 如果可能的話,包含認證路徑中的所有憑證

    • 匯出所有擴充屬性

  7. 選取瀏覽並輸入 .pfx 檔案的位置與檔案名稱,然後選取儲存

  8. 選取下一步,然後選取完成

取得 SharePoint 領域識別碼

在 SharePoint 管理命令介面中執行下列 PowerShell 命令,其中 https://sharepoint.contoso.com/sites/crm/ 為 SharePoint 網站集合的 URL。

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

或者,您可以在 SharePoint 網站集合的網站應用程式權限設定中尋找 SharePoint 領域識別碼。

  1. 登入將用於 Customer Engagement (on-premises) 文件管理的 SharePoint 網站集合。

  2. 移至網站設定>網站應用程式權限

  3. 領域識別碼會顯示在應用程式識別碼底下,在 @ 符號右邊。 將它複製到剪貼簿。 在啟用伺服器架構 SharePoint 整合精靈中,僅貼入 GUID。 請勿貼入 @ 左邊識別碼的任何部分。