Share via


設定 Microsoft Dynamics 365 (內部部署) 和 SharePoint 內部部署的伺服器架構驗證

 

發行︰ 2017年2月

適用於: Dynamics 365 (on-premises)、Dynamics CRM 2016

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

本主題內容

設定 Dynamics 365 和 SharePoint 的伺服器架構整合

新增商務用 OneDrive 整合

疑難排解 Dynamics 365 Server (內部部署) 對 SharePoint 伺服器內部部署伺服器架構整合

關於宣告型驗證對應

使用數位憑證

取得 SharePoint 領域識別碼

設定 Dynamics 365 和 SharePoint 的伺服器架構整合

依提供的順序執行步驟,以設定 Dynamics 365 (內部部署) 與 Microsoft SharePoint Server 內部部署。

重要

  • 如果未完成工作 (例如,如果 PowerShell 命令傳回錯誤訊息),必須先解決錯誤,才能繼續執行下一個命令、工作或步驟。

  • 一旦啟用伺服器架構 SharePoint 整合,您就無法還原為先前的用戶端驗證方法。 因此,您無法使用 Microsoft Dynamics CRM 清單元件,在您設定 Dynamics 365 組織進行伺服器架構 SharePoint 整合之後。

確認先決條件

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

需要權限

Microsoft Dynamics 365

  • 系統管理員資訊安全角色 - 這是在 Microsoft Dynamics 365 中執行 啟用伺服器架構 SharePoint 整合精靈 所必要。

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

SharePoint 內部部署

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

SharePoint 先決條件

其他先決條件和限制

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

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

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

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

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

將伺服器對伺服器憑證新增至本機憑證存放區和 Microsoft Dynamics 365 設定資料庫

  1. 在所有已安裝 Microsoft Dynamics 365 Server 完整伺服器角色的伺服器上開啟 PowerShell 命令工作階段。 進行其他伺服器角色部署時,您在其中執行 Cmdlet 以安裝憑證的位置取決於您擁有的 Microsoft Dynamics 365 版本。

    • 對於 Microsoft Dynamics 365 (內部部署) 的 2016 年 12 月 Service Pack 及更新版本,請在所有正在執行 Web 應用程式伺服器 角色的伺服器上執行此命令。

    • 對於 Microsoft Dynamics CRM 2016 Service Pack 1 版本及較早版本,請在所有正在執行 非同步服務 伺服器角色的伺服器上執行此命令。

  2. 將您的位置變更為 <磁碟機>:\Program Files\Microsoft Dynamics CRM\Tools 資料夾。

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

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

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

    • certificateType S2STokenIssuer。 指定憑證類型的必要參數。 對於 Microsoft Dynamics 365 和 SharePoint 伺服器架構整合,僅支援 S2STokenIssuer

    • serviceAccount 'DomainName\UserName' 或 'Network Service'。

      • 對於 Microsoft Dynamics 365 (內部部署) 的 2016 年 12 月 Service Pack 及更新版本:

        serviceAccount 'contoso\CRMWebAppServer' 或 'Network Service'。 需要可指定 Web 應用程式伺服器 角色識別的參數。 這個識別是網域使用者帳戶 (例如 contoso\CRMWebAppServer) 或是網路服務。 這個識別將獲得憑證的權限。

      • 對於 Microsoft Dynamics CRM 2016 Service Pack 1 版本及較早版本:

        serviceAccount 'contoso\CRMAsyncService' 透過 'Network Service'。 需要可指定 非同步服務 識別的參數。 這個識別是網域使用者帳戶 (例如 contoso\CRMAsyncService) 或是網路服務。 這個識別將獲得憑證的權限。

    • updateCrm。 將憑證資訊新增至 Microsoft Dynamics 365 設定資料庫。

      重要

      即使您已部署多個 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. 按一下 [下一步],按一下 [內部部署],然後按 [下一步]。

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

    提示

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

在 SharePoint 內部部署伺服器的 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 是 Microsoft Dynamics 365 組織唯一名稱,而 CrmServer 是安裝 Microsoft Dynamics 365 Web 應用程式伺服器角色的 IIS Web 伺服器名稱,以及 -Name "crm" 用於命名 Security Token Server (STS)。

    重要

    • 不支援將多個 Microsoft Dynamics 365 組織連線至單一 Microsoft SharePoint 2013 伺服器陣列。 不過,您可以將多個 Microsoft Dynamics 365 組織連線至一個 SharePoint 2016 伺服器陣列。

    • 當您執行 New-SPTrustedSecurityTokenIssuer PowerShell 命令時,必須為 Microsoft Dynamics 365 中繼資料端點指定 HTTPS,當 Microsoft Dynamics 365 應用程式網站只有 HTTPS 或同時有 HTTPS 和 HTTP 繫結時,就像下方範例。

    New-SPTrustedSecurityTokenIssuer –Name "crm" –IsTrustBroker:$false –MetadataEndpoint https://CrmServer/XrmServices/2015/metadataendpoint.svc/json?orgName=OrganizationName
    
  3. 向 SharePoint 網站集合註冊 Microsoft Dynamics 365。

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

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

    • CrmRealmId 是要供 SharePoint 文件管理使用的 Microsoft Dynamics 365 組織識別碼。其他資訊:取得 Dynamics 365 領域識別碼

    重要

    若要完成這些命令,SharePoint 應用程式管理服務應用程式 Proxy 必須存在且正在執行。 如需如何啟動和設定服務的詳細資訊,請參閱設定 SharePoint 應用程式的環境 (SharePoint 2013) 中的<設定訂閱設定與應用程式管理服務應用程式>主題。

    $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. 授與 Microsoft Dynamics 365 應用程式存取 SharePoint 網站的權限。

    注意

    在下列範例中,使用 –Scope sitecollection 參數授與 Microsoft Dynamics 365 應用程式指定 SharePoint 網站集合的權限。 範圍參數接受下列選項。 使用最適合您的 SharePoint 設定的範圍:

    • site。 只將特定 SharePoint 網站的權限授與 Dynamics 365 應用程式。 不會將權限授與具名網站下的任何子網站。

    • sitecollection。 將 Dynamics 365 應用程式權限授與所有網站及指定 SharePoint 網站集合中的子網站。

    • sitesubscription。 將 Dynamics 365 應用程式權限授與 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. 在 Microsoft Dynamics 365 應用程式中,移至 [設定] > [文件管理]。

  2. 在 [文件管理] 區域中,按一下 [啟用伺服器架構 SharePoint 整合]。

  3. 檢閱資訊,然後按 [下一步]。

  4. 對於 SharePoint 網站,按一下 [內部部署],然後按一下 [下一步]。

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

  6. 按一下 [Next]。

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

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

預設會包含客戶、文章、潛在客戶、產品、報價及銷售文宣實體。 您可以在 Microsoft Dynamics 365 的 [文件管理設定] 中,新增或移除文件管理搭配 SharePoint 所使用的實體。移至 [設定] > [文件管理]。(要如何達到目標?)其他資訊:客戶中心:啟用實體的文件管理

新增商務用 OneDrive 整合

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

啟用商務用 OneDrive

在 SharePoint Server 內部部署執行所在的 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()

疑難排解 Dynamics 365 Server (內部部署) 對 SharePoint 伺服器內部部署伺服器架構整合

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

已知問題

如需 SharePoint 文件管理疑難排解與已知問題,請參閱疑難排解伺服器架構驗證

關於宣告型驗證對應

根據預設,在 Dynamics 365 (內部部署) 與 SharePoint 內部部署伺服器架構驗證會使用使用者的安全性識別碼 (SID) 驗證每位使用者。 如果 Microsoft Dynamics 365 Server 和 SharePoint 位於其他沒有信任的 Active Directory 網域,則必須使用自訂宣告型驗證對應,例如使用者的電子郵件地址。其他資訊:定義 SharePoint 伺服器架構整合的自訂宣告對應

使用數位憑證

下列程序會建立個人資訊交換檔 (.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. 登入將用於 Microsoft Dynamics 365 文件管理的 SharePoint 網站集合。

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

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

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權