共用方式為


使用 Microsoft Entra 應用程式 Proxy 啟用 SharePoint 的遠端存取

本逐步指南說明如何將內部部署 SharePoint 伺服器陣列與 Microsoft Entra 應用程式 Proxy 整合。

先決條件

若要執行設定,您需要下列資源:

  • SharePoint 2016 伺服器陣列或更新版本。
  • 包含應用程式 Proxy 的方案的一個 Microsoft Entra 租使用者。 深入瞭解 Microsoft Entra ID 方案和定價
  • Microsoft Office Web Apps Server 伺服器陣列,用於從內部部署的 SharePoint 伺服器陣列正確啟動 Office 檔案。
  • Microsoft Entra 租使用者中 自定義、已驗證的網域
  • 與 Microsoft Entra Connect 同步的內部 Active Directory 部署,用戶可以透過該服務 登入 Azure
  • 在公司網域內的計算機上安裝並執行專用網連接器。

使用應用程式 Proxy 設定 SharePoint 需要兩個 URL:

  • 在 Microsoft Entra ID 中決定的外部 URL,為使用者可見。 此 URL 可以使用自訂網域。 深入瞭解如何在 Microsoft Entra 應用程式 Proxy 中處理自定義網域
  • 內部 URL,是只有在公司網域內才會知道的,而且不會被直接使用。

重要

若要確保連結能正確對應內部網站的URL,請遵循以下建議:

  • 使用 HTTPS。
  • 請勿使用自定義埠。
  • 在企業網域名稱系統(DNS)中建立一個主機(A 紀錄),指向 SharePoint 網頁前端(WFE)(或負載平衡器),而非別名(CName 紀錄)。

本文使用下列值:

  • 內部 URL:https://sharepoint
  • 外部網址:https://spsites-demo1984.msappproxy.net/
  • SharePoint Web 應用程式的應用程式集區帳戶:Contoso\spapppool

步驟 1:在 Microsoft Entra ID 中設定使用應用程式代理的應用程式

在此步驟中,您將在您的 Microsoft Entra 租使用者中建立一個應用程式,此應用程式會使用應用程式代理。 您可以設定外部 URL 並指定內部 URL,這兩者稍後都會在 SharePoint 中使用。

  1. 請依以下設定建立應用程式。 如需逐步指示,請參閱 使用 Microsoft Entra 應用程式 Proxy 發佈應用程式

    • 內部網址:SharePoint 內部網址,後續在 SharePoint 中設定,例如 https://sharepoint
    • 預先驗證Microsoft Entra ID
    • 標頭中的轉譯 URLNo
    • 在應用程式主體中轉譯 URLNo

    Microsoft Entra 應用程式代理設定的截圖,顯示名稱、內部 URL、外部 URL 及預先驗證欄位皆設定為 Microsoft Entra ID。

  2. 發布應用程式後,請依照以下步驟設定單一登入的設定。

    1. 在入口網站的應用程式頁面上,選取 [單一登入]。
    2. 針對 單一登入模式,請選取 [整合式 Windows 驗證]
    3. 內部應用程式服務主體名稱(SPN) 設定為先前設定的值。 在這裡範例中,值為 HTTP/sharepoint
    4. 在 [委派的登入身分識別下,選取最適合 Active Directory 樹系設定的選項。 例如,如果你的森林中只有一個 Active Directory 網域,請選擇本地 SAM 帳號名稱 (如下圖所示)。 但是,如果您的使用者與 SharePoint 和專用網連接器伺服器不在相同的網域中,請選取 [內部部署使用者主體名稱 (未顯示在螢幕快照中)。

    配置整合 Windows 驗證對話框的截圖,顯示 SPN 設定為 HTTP/SharePoint,委派登入身份設定為本地 SAM 帳號名稱。

  3. 完成您的應用程式設定後,前往 「使用者與群組 」區塊,指派使用者存取此應用程式。

步驟 2:設定 SharePoint Web 應用程式

您必須使用 Kerberos 及適當的替代存取映射來設定 SharePoint 網頁應用程式,才能在 Microsoft Entra 應用程式代理中正常運作。 您有兩個選擇:

  • 建立新的 Web 應用程式,並只使用 預設 區域。 使用預設區域以獲得最佳的 SharePoint 使用體驗。 例如,SharePoint 產生的電子郵件警示連結會指向 預設 區域。
  • 擴充現有的 Web 應用程式,以在非預設區域中設定 Kerberos。

重要

無論你使用哪個區域,SharePoint 網頁應用程式的應用程式池帳號必須是網域帳號,Kerberos 才能正常運作。

建立 SharePoint Web 應用程式

  • 此文稿示範使用預設 區域建立新的 Web 應用程式範例。 我們建議您使用預設區域。

    1. 啟動 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
      
    2. 開啟 SharePoint 管理中心 網站。

    3. 在 [系統設定]下,選取 [設定替代存取對應]。 [替代存取對應集合] 方塊隨即開啟。

    4. 使用新的 Web 應用程式篩選顯示。

      替代存取映射頁面截圖,顯示 SharePoint 網頁應用程式在預設區域內的內部與公開網址。

  • 如果您將現有的 Web 應用程式延伸至新的區域。

    1. 啟動 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 管理中心 網站。

    1. 在 [系統設定]下,選取 [設定替代存取對應]。 [替代存取對應集合] 方塊隨即開啟。

    2. 用你擴充的網頁應用程式來篩選顯示。

      替代存取映射頁面的截圖,顯示預設與外聯網區域的內部與公開網址,以及選擇的 SharePoint Web 應用程式。

確定 SharePoint Web 應用程式正在網域帳戶下執行

若要識別執行 SharePoint Web 應用程式應用程式集區的帳戶,並確認其為網域帳戶,請遵循下列步驟:

  1. 開啟 SharePoint 管理中心 網站。

  2. 移至 [安全性],然後選取 [設定服務帳戶]。

  3. 選取 Web 應用程式集區 - YourWebApplicationName

    服務帳號選擇對話框的截圖,包含網頁應用程式池 - SharePoint 80 及網域帳號下拉選單。

  4. 確認 選取此元件的帳戶 傳回的是網域帳戶,並記住它,因為您將在下一步中用到這個帳戶。

請確定已針對外部網路區的 IIS 網站設定 HTTPS 憑證

由於內部 URL 使用 HTTPS 協定(https://SharePoint/),你必須在網際網路資訊服務(IIS)網站上設定憑證。

  1. 開啟 Windows PowerShell 控制台。

  2. 執行下列腳本來產生自我簽署憑證,並將它新增至電腦的 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"
    

    重要

    自我簽署憑證僅適用於測試目的。 在生產環境中,應使用由憑證授權機構核發的憑證。

  3. 開啟 Internet Information Services Manager 控制台。

  4. 展開樹檢視中的伺服器,展開 [網站],選取 [SharePoint - Microsoft Entra ID Proxy 網站],然後選取 [系結]

  5. 選取 https 繫結,然後選取 編輯

  6. 在 [傳輸層安全性 (TLS) 憑證] 字段中,選擇 [SharePoint 憑證],然後選取 [ 確定]。

您現在可以透過 Microsoft Entra 應用程式 Proxy,從外部存取 SharePoint 網站。

步驟 3:設定 Kerberos 限制委派

用戶一開始會在 Microsoft Entra 識別符中驗證,然後透過 Microsoft Entra 專用網連接器使用 Kerberos 對 SharePoint 進行驗證。 若要允許連接器代表 Microsoft Entra 使用者取得 Kerberos 令牌,您必須使用通訊協定轉換來設定 Kerberos 限制委派 (KCD)。 欲了解更多關於KCD的資訊,請參閱 Kerberos受限代表團概覽

設定 SharePoint 服務帳戶的服務主體名稱 (SPN)

在本文中,內部 URL 會 https://sharepoint,因此服務主體名稱 (SPN) 會 HTTP/sharepoint。 用對應你環境的數值來取代這些數值。 若要為 SharePoint 應用程式集區帳戶註冊 SPN HTTP/sharepointContoso\spapppool,請以網域的系統管理員身分,從命令提示字元執行下列命令:

setspn -S HTTP/sharepoint Contoso\spapppool

Setspn 命令會在新增SPN之前搜尋SPN。 如果SPN已經存在,您會看到 重複的SPN值 錯誤。 移除現有的SPN。 使用 Setspn 選項執行 -L 命令,確認已成功新增SPN。 欲了解更多指令資訊,請參閱 Setspn

確保連接器被信任,以便能委派 SPN 至您新增到 SharePoint 應用程式集區帳戶的帳戶上。

設定 KCD,讓Microsoft Entra 應用程式 Proxy 服務可以將使用者身分識別委派給 SharePoint 應用程式集區帳戶。 要設定 KCD,請啟用專用網路連接器,以擷取给予在 Microsoft Entra ID 中已驗證的使用者的 Kerberos 票證。 然後,該伺服器會將內容傳遞至目標應用程式(在此案例中為 SharePoint)。

若要設定 KCD,請針對每個連接器電腦遵循下列步驟:

  1. 以網域系統管理員身分登入域控制器,然後開啟 Active Directory 使用者和計算機。

  2. 尋找執行 Microsoft Entra 專用網連接器的電腦。 在此範例中,它是執行 SharePoint Server 的電腦。

  3. 按兩下電腦,然後選取 [委派] 標籤。

  4. 請確定委派選項設定為 [信任這部電腦],以便只委派指定的服務。 然後,選取 使用任何驗證通訊協定

  5. 選取 [新增] 按鈕,選取 [使用者或電腦],然後找出 SharePoint 應用程式集區帳戶。 例如:Contoso\spapppool

  6. 在SPN清單中,選取您稍早為服務帳戶建立的帳戶。

  7. 選取 [確定],然後再次選取 [確定] 以儲存變更。

    委託分頁的截圖顯示「僅信任此電腦進行特定服務的委派」及「使用任何驗證協定」選項已被選取。

您現在已準備好使用外部 URL 登入 SharePoint,並使用 Azure 進行驗證。

針對登入錯誤進行疑難解答

如果無法登入網站,你可以從 Connector 日誌中獲得更多有關此問題的資訊。 從執行連接器的機器,打開事件檢視器,前往應用程式和服務記錄檔>Microsoft>Microsoft Entra 私有網路>連接器,檢查管理員日誌。

故障排除 BadGateway Kerberos 錯誤

如果你看到 BadGateway 錯誤的 Kerberos 錯誤,請以管理員身份在 Windows PowerShell 網域控制器中執行以下指令。用你環境的實際數值來取代 [servername][serviceaccount]

  1. $connector = Get-ADComputer -Identity "[servername]$"
  2. Set-ADUser -Identity "[serviceaccount]" -PrincipalsAllowedToDelegateToAccount $connector

錯誤訊息截圖,顯示「BadGateway:無法存取企業應用程式」,原因是 Kerberos 限制委派設定錯誤。

後續步驟