設定 SharePoint 內部部署的伺服器架構驗證
伺服器為主的 SharePoint 文件管理整合可用來進行客戶參與應用程式 (Dynamics 365 Sales、Dynamics 365 Customer Service、Dynamics 365 Field Service、Dynamics 365 Marketing 和 Dynamics 365 Project Service Automation) 與 SharePoint 的內部部署。 當使用伺服器架構驗證時,Microsoft Entra 網域服務會當做信任代理人,使用者並不需要登入 SharePoint。
需要的權限
啟用 SharePoint 文件管理需要以下成員資格和權限。
Microsoft 365全域管理員成員資格 - 是以下情況所必需的:
- 對 Microsoft 365 訂閱的管理層級存取權。
- 執行啟用伺服器型驗證精靈。
- 執行 AzurePowerShell Cmdlet。
Power Apps 執行 SharePoint 整合精靈權限。 這是執行 [啟用伺服器架構驗證] 精靈所需的必要項。
根據預設,系統管理員資訊安全角色具備此權限。
對於 SharePoint 內部部署整合,SharePoint 伺服器陣列管理員群組成員資格。 這是在 SharePoint 伺服器上執行大部分的 PowerShell 命令所必需的。
透過 SharePoint 內部部署設定伺服器對伺服器驗證
依照提供的步驟順序設定客戶參與應用程式與 SharePoint 2013 的內部部署。
重要
必須依照提供的順序完成此處所述的步驟。 如果未完成工作 (例如傳回錯誤訊息的 PowerShell 命令),必須先將目標解決,才能繼續執行下一個命令、工作或步驟。
確認先決條件
在您組態客戶參與應用程式和 SharePoint 內部部署進行伺服器架構驗證之前,必須符合下列先決條件:
SharePoint 先決條件
SharePoint 2013 (內部部署),含 Service Pack 1 (SP1) 或更新版本
重要
SharePoint Foundation 2013 版本不支援與客戶參與應用程式文件管理搭配使用。
為 SharePoint 2013 產品系列安裝 2019 年 4 月的累積更新(CU)。 這個 2019 年 4 月的 CU 包含自 SP1 以來發行的所有 SharePoint 2013 修補程式(包括所有 SharePoint 2013 的安全性修正)。 2019 年 4 月的 CU 不包含 SP1。 您必須先安裝 SP1,才能安裝 2019 年 4 月的 CU。 其他資訊:KB 4464514 SharePoint 2013 伺服器 2019 年 4 月 CU
SharePoint 設定
如果您使用 SharePoint 2013,對每個 SharePoint 陣列而言,只有一個客戶參與應用程式可針對伺服器架構整合進行組態。
必須可以透過網際網路存取 SharePoint 網站。 SharePoint 驗證可能也需要反向 Proxy。 其他資訊:設定混合式 SharePoint Server 2013 的反向 Proxy 裝置
必須將 SharePoint 網站設定為使用 TCP 連接埠 443 (不支援任何自訂連接埠) 上的 SSL (HTTPS),而且必須由公用根憑證授權單位發行憑證。 其他資訊:SharePoint:關於安全通道 SSL 憑證
可靠的使用者屬性可用於 SharePoint 和客戶參與應用程式之間的宣告式驗證對應。 其他資訊:選取宣告對應類型
若要進行文件共用,SharePoint 搜尋服務必須啟用。 其他資訊:建立與設定 SharePoint Server 中的搜尋服務應用程式
使用 Dynamics 365 行動應用程式時,若要使用文件管理功能,內部部署 SharePoint 伺服器必須能夠透過網際網路提供。
其他先決條件
SharePoint Online 授權。 客戶參與應用程式對 SharePoint 內部部署伺服器的驗證必須在 Microsoft Entra 識別碼註冊 SharePoint 服務主體名稱 (SPN)。 若要達成此目標,至少需要一個 SharePoint Online 使用者授權。 SharePoint Online 授權可以從單一使用者授權衍生,而且通常隨附下列其中一項:
SharePoint Online 訂閱。 任何 SharePoint Online 方案都充足,即使未指派授權給使用者。
包含 SharePoint Online 的 Microsoft 365 訂閱。 例如,如果您有 Microsoft 365 E3,就有適當的授權,即使未指派授權給使用者。
如需這些計畫的詳細資訊,請參閱 尋找適合您的解決方案 並 比較 SharePoint 選項
必須有下列軟體功能,才能執行本主題所述的 PowerShell Cmdlet。
Microsoft 面向 IT 專業人員的連線服務登錄小幫手測試版
若要安裝 MSOnlineExt 模組,請從系統管理員 PowerShell 工作階段輸入下列命令。
PS> Install-Module -Name "MSOnlineExt"
重要
在撰寫本文時,面向 IT 專業人員的 Microsoft Online Services Sign-In 小幫手的 RTW 版本存在問題。 在解決問題之前,建議您使用 Beta 版 其他資訊:Microsoft Azure 論壇:無法安裝 Microsoft Entra Module for Windows PowerShell。MOSSIA 未安裝。
適合的宣告式驗證對應類型可用於客戶參與應用程式和 SharePoint 內部部署之間的對應身份。 預設會使用電子郵件地址。 其他資訊:授與客戶參與應用程式對 SharePoint 的存取權限並組態宣告式驗證對應
更新 Microsoft Entra 網域服務中的 SharePoint Server SPN
在 SharePoint on-premises 伺服器的 SharePoint 2013 管理命令介面中,依指定順序執行下列 PowerShell 命令。
準備 PowerShell 工作階段。
下列 Cmdlet 可讓電腦接收遠端命令,並將 Microsoft 365 模組新增至 PowerShell 工作階段。 如需這些 Cmdlet 的詳細資訊,請參閱 Windows PowerShell 核心 Cmdlet。
Enable-PSRemoting -force New-PSSession Import-Module MSOnline -force Import-Module MSOnlineExtended -force
連線至 Microsoft 365。
運行 Connect-MsolService 命令時,必須提供一個有效的 Microsoft 帳戶,該帳戶具有所需連線許可證的 SharePoint 全域管理員成員身份。
如需此處所列其中每個 Microsoft Entra IDPowerShell 命令的詳細資訊,請參閱 使用 Windows PowerShell 管理 Microsoft Entra
$msolcred = get-credential connect-msolservice -credential $msolcred
設定 SharePoint 主機名稱。
您設定的 HostName 變數值必須是 SharePoint 網站集合的完整主機名稱。 主機名稱必須衍生自網站集合 URL 並且區分大小寫。 在此範例中,網站集合 URL 為
<https://SharePoint.constoso.com/sites/salesteam>
,因此主機名稱是 SharePoint.contoso.com。$HostName = "SharePoint.contoso.com"
取得 Microsoft 365 物件 (用戶) 和 SharePoint 伺服器服務主體名稱 (SPN)。
$SPOAppId = "00000003-0000-0ff1-ce00-000000000000" $SPOContextId = (Get-MsolCompanyInformation).ObjectID $SharePoint = Get-MsolServicePrincipal -AppPrincipalId $SPOAppId $ServicePrincipalName = $SharePoint.ServicePrincipalNames
在 Microsoft Entra 識別碼中設定 SharePoint 伺服器服務主體名稱 (SPN)。
$ServicePrincipalName.Add("$SPOAppId/$HostName") Set-MsolServicePrincipal -AppPrincipalId $SPOAppId -ServicePrincipalNames $ServicePrincipalName
完成這些命令後,不要關閉 SharePoint 2013 管理命令介面,請繼續執行下一個步驟。
更新 SharePoint 領域以符合 SharePoint Online 的領域
在 SharePoint 內部部署伺服器的 SharePoint 2013 管理命令介面中,執行這個 Windows PowerShell 命令。
下列命令需要 SharePoint 伺服器陣列管理員成員資格,該命令會設定 SharePoint 內部部署伺服陣列的驗證領域。
注意
執行這個命令會變更 SharePoint 內部部署伺服陣列的驗證領域。 對於使用現有 Security Token Service (STS) 的應用程式,這可能會導致其他使用存取 Token 的應用程式出現非預期行為。 其他資訊:Set-SPAuthenticationRealm。
Set-SPAuthenticationRealm -Realm $SPOContextId
為 SharePoint 上的 Microsoft Entra ID 建立信任的安全性權杖簽發者
在 SharePoint on-premises 伺服器的 SharePoint 2013 管理命令介面中,依指定順序執行下列 PowerShell 命令。
下列命令需要 SharePoint 伺服器陣列管理員成員資格。
如需這些 PowerShell 命令的詳細資訊,請參閱在 SharePoint 2013 中使用 Windows PowerShell Cmdlet 管理安全性。
啟用 PowerShell 工作階段,對 SharePoint 伺服陣列的 Security Token Service 進行變更。
$c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp= $true $c.Update()
設定中繼資料端點。
$metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $SPOContextId + "/metadata/json/1" $acsissuer = "00000001-0000-0000-c000-000000000000@" + $SPOContextId $issuer = "00000007-0000-0000-c000-000000000000@" + $SPOContextId
在 Microsoft Entra 識別碼中建立新的 Token 控制服務應用程式 Proxy。
New-SPAzureAccessControlServiceApplicationProxy -Name "Internal" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
注意
New- SPAzureAccessControlServiceApplicationProxy
命令可能會傳回錯誤訊息,表示相同名稱的應用程式 Proxy 已經存在。 如果具名應用程式 Proxy 已存在,您可以忽略該錯誤。在 Microsoft Entra 識別碼的 SharePoint 內部部署中建立新的 Token 控制服務簽發者。
$acs = New-SPTrustedSecurityTokenIssuer –Name "ACSInternal" –IsTrustBroker:$true –MetadataEndpoint $metadataEndpoint -RegisteredIssuerName $acsissuer
授與客戶參與應用程式對 SharePoint 的存取權限並組態宣告式驗證對應
在 SharePoint on-premises 伺服器的 SharePoint 2013 管理命令介面中,依指定順序執行下列 PowerShell 命令。
下列命令需要 SharePoint 網站集合管理成員資格。
使用 SharePoint 網站集合註冊客戶參與應用程式。
輸入 SharePoint 內部部署網站集合 URL。 在此範例中,會使用 https://sharepoint.contoso.com/sites/crm/。
重要
若要完成此命令,SharePoint 應用程式管理服務應用程式 Proxy 必須存在且正在執行。 如需如何啟動和設定服務的詳細資訊,請參閱設定 SharePoint 應用程式的環境 (SharePoint 2013) 中的<設定訂閱設定與應用程式管理服務應用程式>副主題。
$site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/" Register-SPAppPrincipal -site $site.RootWeb -NameIdentifier $issuer -DisplayName "crm"
授予客戶參與應用程式對 SharePoint 網站的存取權。 將 https://sharepoint.contoso.com/sites/crm/ 取代為您的 SharePoint 網站 URL。
Note
在下列範例中,使用 –Scope 網站集合參數授與客戶參與應用程式對特定 SharePoint 網站集合的權限。 範圍參數接受下列選項。 選擇最適合您的 SharePoint 設定的範圍。
site
. 只將客戶參與應用程式權限授與特定的 SharePoint 網站。 這不會將權限授與具名網站下的任何子網站。sitecollection
. 將客戶參與應用程式權限授與所有網站及特定 SharePoint 網站集合中的子網站。sitesubscription
. 將客戶參與應用程式權限授與 SharePoint 陣列中的所有網站,包括所有網站集合、網站和子網站。
$app = Get-SPAppPrincipal -NameIdentifier $issuer -Site "https://sharepoint.contoso.com/sites/crm/" Set-SPAppPrincipalPermission -AppPrincipal $app -Site $site.Rootweb -Scope "sitecollection" -Right "FullControl"
設定宣告型驗證設定對應類型。
重要
默認情況下,基於聲明的身份驗證對應將使用使用者的 Microsoft 帳戶電子郵件地址和使用者的 SharePoint 內部部署 工作 電子郵件地址進行對應。 這樣使用時,使用者的電子郵件地址必須在兩個系統之間相符。 如需詳細資訊,請參閱選取宣告型驗證對應類型。
$map1 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
執行啟用伺服器架構 SharePoint 整合精靈
執行下列步驟:
確定您具有適當的權限可以執行精靈。 詳細資訊:必要的權限
移至設定>文件管理。
在文件管理區域中,按一下啟用伺服器架構 SharePoint 整合。
檢閱資訊,然後按下一步。
對於 SharePoint 網站,按一下內部部署,然後按下一步。
輸入 SharePoint 內部部署網站集合 URL,例如 https://sharepoint.contoso.com/sites/crm。 該網站必須已設定成使用 SSL。
按下一步。
驗證網站區段隨即出現。 如果所有網站皆判定為有效,請按一下啟用。 如果有一個或多個網站判定為無效,請參閱疑難排解伺服器架構驗證。
選取要包含在文件管理中的實體
預設會包含客戶、文章、潛在客戶、產品、報價及銷售文宣實體。 您可以在文件管理設定中,新增或移除用於透過 SharePoint 管理文件的實體。 移至設定>文件管理。 其他資訊:啟用實體的文件管理
新增商務用 OneDrive 整合
完成客戶參與應用程式及 SharePoint 內部部署伺服器架構驗證組態之後,您也可以整合商務用 OneDrive。 使用者可使用客戶參與應用程式與商務用 OneDrive 整合建立和管理使用商務用 OneDrive 的私人文件。 當系統管理員已啟用商務用 OneDrive,可以在系統管理員中存取這些文件。
啟用商務用 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=""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()
選擇宣告型驗證設定對應類型
默認情況下,基於聲明的身份驗證對應將使用使用者的 Microsoft 帳戶電子郵件地址和使用者 SharePoint 的工作電子郵件地址進行對應內部部署。 請注意,不論您使用何種宣告式驗證類型,客戶參與應用程式和 SharePoint 之間的值,例如電子郵件地址,都必須符合。 Microsoft 365 目錄同步處理對此可以有所幫助。 其他資訊:在 Microsoft Azure 中部署 Microsoft 365 目錄同步處理。 若要使用不同類型的宣告型驗證對應,請參閱定義 SharePoint 伺服器架構整合的自訂宣告對應。
重要
若要啟用工作電子郵件屬性,SharePoint 內部部署必須已設定並啟動 User Profile Service 應用程式。 若要在 SharePoint 中啟用 User Profile Service 應用程式,請參閱在 SharePoint Server 2013 中建立、編輯或刪除 User Profile Service 應用程式。 若要變更使用者屬性 (例如工作電子郵件),請參閱編輯使用者設定檔屬性。 如需 User Profile Service 應用程式的詳細資訊,請參閱 SharePoint Server 2013 的 User Profile Service 應用程式概觀。