使用 Microsoft Entra 應用程式 Proxy 啟用 SharePoint 的遠端存取
此逐步指南說明如何將內部部署 SharePoint 伺服器陣列與 Microsoft Entra 應用程式 Proxy 整合。
必要條件
若要執行此設定,您需有下列資源:
- SharePoint 2013 伺服器陣列或更新版本。 SharePoint 伺服器陣列必須與 Microsoft Entra ID 整合。
- 具有包含應用程式 Proxy 之方案的 Microsoft Entra 租用戶。 深入了解 Microsoft Entra ID 方案和價格。
- Microsoft Office Web Apps Server 伺服器陣列,可從內部部署 SharePoint 伺服器陣列正確啟動 Office 檔案。
- Microsoft Entra 租用戶中已驗證的自訂網域。
- 內部部署 Active Directory 與 Microsoft Entra Connect 同步處理,使用者可透過其登入 Azure。
- 在公司網域內的機器上,安裝並執行的私人網路連接器。
使用應用程式 Proxy 設定 SharePoint 需要兩個 URL:
- 終端使用者可以看見並在 Microsoft Entra ID 中判斷的外部 URL。 此 URL 可以使用自訂網域。 深入了解使用 Microsoft Entra 應用程式 Proxy 中的自訂網域。
- 只有在公司網域內才知道,而且永遠不會直接使用的內部 URL。
重要
若要確定連結已正確對應,請針對內部 URL 遵循下列建議:
- 使用 HTTPS。
- 請勿使用自訂連接埠。
- 在公司網域名稱系統 (DNS) 中,建立主機 (A) 以指向 SharePoint WFE (或負載平衡器),而不是別名 (CName)。
本文使用下列值:
- 內部 URL:
https://sharepoint
。 - 外部 URL:
https://spsites-demo1984.msappproxy.net/
。 - SharePoint Web 應用程式的應用程式集區帳戶:
Contoso\spapppool
。
步驟 1:在使用應用程式 Proxy 的 Microsoft Entra ID 中設定應用程式
在此步驟中,您會在使用應用程式 Proxy 的 Microsoft Entra 租用戶中建立應用程式。 您可以設定外部 URL 並指定內部 URL,這兩個 URL 稍後均會在 SharePoint 中使用。
依照下列設定所述,建立應用程式。 如需逐步指示,請參閱使用 Microsoft Entra 應用程式 Proxy 發佈應用程式。
- 內部 URL:將在 SharePoint 稍後設定的 SharePoint 內部 URL,例如
https://sharepoint
。 - 預先驗證:
Microsoft Entra ID
。 - 轉譯標頭中的 URL:
No
。 - 轉譯應用程式主體中的 URL:
No
。
- 內部 URL:將在 SharePoint 稍後設定的 SharePoint 內部 URL,例如
發佈應用程式之後,請遵循下列步驟來設定單一登入設定。
- 在入口網站的應用程式頁面上,選取 [單一登入]。
- 針對單一登入模式,選取 [整合式 Windows 驗證]。
- 將內部應用程式服務主體名稱 (SPN) 設定為您先前設定的值。 在此範例中,值是
HTTP/sharepoint
。 - 在 [委派的登入身分識別] 底下,為 Active Directory 樹系設定選取最適合的選項。 例如,如果您的樹系中有單一 Active Directory 網域,請選取 [內部部署 SAM 帳戶名稱] (如下列螢幕擷取畫面所示)。 但是,如果您的使用者與 SharePoint 和私人網路連接器伺服器不在相同的網域中,請選取 [內部部署使用者主體名稱] (不會顯示在螢幕擷取畫面中)。
若要完成您的應用程式設定,請前往 [使用者與群組] 區段並指派使用者,以存取此應用程式。
步驟 2:設定 SharePoint Web 應用程式
必須使用 Kerberos 和適當的備用存取對應來設定 SharePoint Web 應用程式,才能正確地與 Microsoft Entra 應用程式 Proxy 搭配運作。 可能的原因有兩個:
- 建立新的 Web 應用程式,並僅使用預設區域。 使用預設區域是慣用的選項,可提供 SharePoint 的最佳體驗。 例如,SharePoint 產生的電子郵件警示連結會指向預設區域。
- 擴充現有的 Web 應用程式,以在非預設區域中設定 Kerberos。
重要
無論使用哪一個區域,SharePoint Web 應用程式的應用程式集區帳戶都必須是網域帳戶,Kerberos 才能正確運作。
建立 SharePoint Web 應用程式
該指令碼顯示了使用預設區域建立新 Web 應用程式的範例。 使用預設區域是慣用的選項。
啟動 [SharePoint 管理命令介面],然後執行指令碼。
# This script creates a web application and configures the Default zone with the internal/external URL needed to work with Azure AD application proxy # Edit variables below to fit your environment. Note that the managed account must exist and it must be a domain account $internalUrl = "https://sharepoint" $externalUrl = "https://spsites-demo1984.msappproxy.net/" $applicationPoolManagedAccount = "Contoso\spapppool" $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false $wa = New-SPWebApplication -Name "SharePoint - AAD Proxy" -Port 443 -SecureSocketsLayer -URL $externalUrl -ApplicationPool "SharePoint - AAD Proxy" -ApplicationPoolAccount (Get-SPManagedAccount $applicationPoolManagedAccount) -AuthenticationProvider $winAp New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Default -Internal
開啟 [SharePoint 管理中心] 網站。
在 [系統設定] 下,選取 [設定備用存取對應]。 [備用存取對應集合] 方塊隨即開啟。
使用新的 Web 應用程式篩選顯示。
如果您將現有的 Web 應用程式延伸至新的區域。
啟動 [SharePoint 管理命令介面],然後執行下列指令碼。
# This script extends an existing web application to Internet zone with the internal/external URL needed to work with Azure AD application proxy # Edit variables below to fit your environment $webAppUrl = "http://spsites/" $internalUrl = "https://sharepoint" $externalUrl = "https://spsites-demo1984.msappproxy.net/" $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false $wa = Get-SPWebApplication $webAppUrl New-SPWebApplicationExtension -Name "SharePoint - AAD Proxy" -Identity $wa -SecureSocketsLayer -Zone Extranet -Url $externalUrl -AuthenticationProvider $winAp New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Extranet -Internal
`. 開啟 [SharePoint 管理中心] 網站。
在 [系統設定] 下,選取 [設定備用存取對應]。 [備用存取對應集合] 方塊隨即開啟。
使用擴充的 Web 應用程式篩選顯示。
請確定 SharePoint Web 應用程式在網域帳戶下執行
若要識別執行 SharePoint Web 應用程式之應用程式集區的帳戶,並確保其是網域帳戶,請遵循下列步驟:
開啟 [SharePoint 管理中心] 網站。
移至 [安全性],然後選取 [設定服務帳戶]。
選取 [Web 應用程式集區 - YourWebApplicationName]。
確認 [選取此元件的帳戶] 會傳回網域帳戶,並記住此帳戶,因為在下一個步驟中需要此資訊。
請確定已針對外部網路區域的 IIS 網站設定 HTTPS 憑證
因為內部 URL 使用 HTTPS 通訊協定 (https://SharePoint/
),所以必須在 Internet Information Services (IIS) 網站上設定憑證。
開啟 Windows PowerShell 主控台。
執行下列程式碼,以產生自我簽署憑證,並將其新增至電腦的
MY store
。# Replace "SharePoint" with the actual hostname of the Internal URL of your Azure AD proxy application New-SelfSignedCertificate -DnsName "SharePoint" -CertStoreLocation "cert:\LocalMachine\My"
重要
自我簽署憑證僅適合供測試使用。 在實際執行環境中,強烈建議改用由憑證授權單位簽發的憑證。
開啟 [Internet Information Services 管理員] 主控台。
展開樹狀檢視中的伺服器,展開 [網站],選取 [SharePoint - Microsoft Entra ID Proxy] 網站,然後選取 [繫結]。
選取 [https 繫結],然後選取 [編輯]。
在 [TLS/SSL 憑證] 欄位中,選擇 [SharePoint] 憑證,並選取 [確定]。
您現在可以透過 Microsoft Entra 應用程式 Proxy,從外部存取 SharePoint 網站。
步驟 3:設定 Kerberos 限制委派
使用者一開始會在 Microsoft Entra ID 中進行驗證,然後透過 Microsoft Entra 私人網路連接器使用 Kerberos 對 SharePoint 進行驗證。 若要允許連接器代表 Microsoft Entra 使用者取得 Kerberos 權杖,您必須使用通訊協定轉換設定 Kerberos 限制委派 (KCD)。 若要深入了解 KCD,請參閱 Kerberos 限制委派概觀。
為 SharePoint 服務帳戶設定服務主體名稱 (SPN)
在本文中,內部 URL 是 https://sharepoint
,因此服務主體名稱 (SPN) 是 HTTP/sharepoint
。 您必須將這些值取代為您環境的對應值。
若要為 SharePoint 的應用程式集區帳戶 Contoso\spapppool
註冊 SPN HTTP/sharepoint
,請從命令提示字元以網域的管理員身分執行下列命令:
setspn -S HTTP/sharepoint Contoso\spapppool
Setspn
命令會先搜尋 SPN 再予以新增。 若 SPN 已經存在,您將會看到重複的 SPN 值錯誤。 移除現有的 SPN。 您可以執行 Setspn
命令並搭配 -L
選項,來確認是否已成功新增 SPN。 若要深入了解此命令,請參閱 Setspn。
請確定連接器是受信任,並可委派加入至 SharePoint 應用程式集區帳戶的 SPN
設定 KCD,讓 Microsoft Entra 應用程式 Proxy 服務可以將使用者識別委派給 SharePoint 應用程式集區帳戶。 啟用私人網路連接器來設定 KCD,以便為已在 Microsoft Entra ID 中驗證的使用者擷取 Kerberos 票證。 然後該伺服器會將內容傳遞至目標應用程式 (在此案例中即為 SharePoint)。
若要設定 KCD,請針對每部連接器電腦遵循下列步驟:
以網域管理員身分登入網域控制站,然後開啟 Active Directory 使用者和電腦。
尋找執行 Microsoft Entra 私人網路連接器的電腦。 在此範例中,這是執行 SharePoint Server 的電腦。
按兩下該電腦,然後選取 [委派] 索引標籤。
確定委派選項已設為 [只針對指定服務的委派信任這台電腦]。 然後,選取 [使用任何驗證通訊協定]。
選取 [新增] 按鈕,選取 [使用者或電腦],然後找出 SharePoint 的應用程式集區帳戶。 例如:
Contoso\spapppool
。在 SPN 清單中,選取您稍早針對服務帳戶建立的 SPN。
選取 [確定] ,然後再次選取 [確定] 以儲存變更。
您現在已準備好使用外部 URL 登入 SharePoint 並向 Azure 進行驗證。
登入錯誤疑難排解
如果登入網站無法運作,您可以取得連接器記錄中問題的詳細資訊:從執行連接器的電腦開啟 [事件檢視器],移至 [應用程式及服務記錄] > [Microsoft] > [Microsoft Entra 私人網路] > [連接器],然後檢查管理員記錄。