設定 Customer Engagement (on-premises) 和 SharePoint 內部部署的伺服器架構驗證
本主題描述如何設定 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) 設定資料庫
- 在所有已安裝 Dynamics 365 Server 完整伺服器角色的伺服器上開啟 PowerShell 命令工作階段。
重要
您必須在所有執行 Web 應用程式伺服器角色的伺服器上執行此處所述的命令。
將您的位置變更為 <drive>:\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) 設定資料庫。
重要
即使您已部署多個 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 領域識別碼
啟動啟用伺服器架構 SharePoint 整合精靈。 移至設定>文件管理。
選取下一步,選取 On-Premises,然後選取下一步。
頁面上的 Dynamics 365 領域識別碼旁邊會顯示識別碼。
小費
將 Dynamics 365 領域識別碼儲存在安全網路共用或雲端式儲存空間上的文字檔。 然後,可以從執行啟用伺服器架構 SharePoint 整合精靈的位置輕鬆擷取它。
在 SharePoint on-premises 伺服器的 SharePoint 管理命令介面中,依指定順序執行下列 PowerShell 命令。
準備 SharePoint 伺服器進行 Dynamics 365 Server 驗證
如果您使用的 PowerShell 管理命令介面不是 SharePoint 管理命令介面,您必須使用下列命令註冊 SharePoint 模組。
Add-PSSnapin Microsoft.SharePoint.PowerShell
啟用 PowerShell 工作階段,對 SharePoint 伺服陣列的 Security Token Service 進行變更。
$c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp= $true $c.Update()
建立信任的 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
-
向 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"
授與 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 整合精靈
在 Customer Engagement (on-premises) 中,移至設定>文件管理。
在 [文件管理] 區域中,選取啟用伺服器架構 SharePoint 整合。
檢閱資訊,然後選取下一步。
對於 SharePoint 網站,選擇內部部署,然後選取下一步。
在準備網站階段中輸入下列資訊:
SharePoint On-Premises 網站集合 URL,例如 https://sharepoint.contoso.com/sites/crm。 該網站必須已設定成使用 TLS/SSL。
SharePoint 領域識別碼。 取得 SharePoint 領域識別碼
選取下一步。
驗證網站區段隨即出現。 如果所有網站皆有效,請選取啟用。 如果有一或多個網站無效,請參閱<疑難排解 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 電子郵件地址設定使用者宣告對應
開啟表單編輯器自訂使用者表單。 若要這麼做,請移至設定>安全性>使用者,然後開啟您要的使用者記錄。
在工具列上,選取 …,然後選取表單編輯器。
在欄位總管窗格中找到 SharePoint 電子郵件地址欄位,然後將它拖曳至使用者表單的使用者資訊區段上。
在表單編輯器工具列上中,選取儲存,然後選取發行。
關閉表單編輯器,然後重新整理網頁瀏覽器索引標籤,以顯示使用者記錄上新增的欄位。
在使用者記錄 SharePoint 電子郵件地址欄位中,輸入與 SharePoint 中所顯示完全一樣的電子郵件地址。
選取儲存。
針對需要文件管理的所有使用者重複前兩個步驟。
使用數位憑證
下列程序會建立個人資訊交換檔 (.pfx)。
在可存取您要用於伺服器對伺服器驗證之憑證的電腦上,依序選取開始、執行,輸入 MMC,然後按 Enter。
選取檔案,然後選取新增/移除嵌入式管理單元。
在可用的嵌入式管理單元清單中,依序按一下憑證、新增,再依序選取電腦帳戶、下一步和完成,以選取本機電腦,然後按選取確定。
依多展開憑證、個人,然後選取憑證。
以滑鼠右鍵按一下您要用來建立個人憑證檔的憑證,指向所有工作,然後選取匯出。
選取下一步,再選取是,以匯出私密金鑰,確認已核取下列選項,然後選取下一步。
如果可能的話,包含認證路徑中的所有憑證
匯出所有擴充屬性
選取瀏覽並輸入 .pfx 檔案的位置與檔案名稱,然後選取儲存。
選取下一步,然後選取完成。
取得 SharePoint 領域識別碼
在 SharePoint 管理命令介面中執行下列 PowerShell 命令,其中 https://sharepoint.contoso.com/sites/crm/ 為 SharePoint 網站集合的 URL。
Get-SPAuthenticationRealm -ServiceContext https://sharepoint.contoso.com/sites/crm/
或者,您可以在 SharePoint 網站集合的網站應用程式權限設定中尋找 SharePoint 領域識別碼。
登入將用於 Customer Engagement (on-premises) 文件管理的 SharePoint 網站集合。
移至網站設定>網站應用程式權限。
領域識別碼會顯示在應用程式識別碼底下,在 @ 符號右邊。 將它複製到剪貼簿。 在啟用伺服器架構 SharePoint 整合精靈中,僅貼入 GUID。 請勿貼入 @ 左邊識別碼的任何部分。