分享方式:


使用 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:

重要

若要確定連結已正確對應,請針對內部 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 中使用。

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

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

    將 SharePoint 發佈為應用程式

  2. 發佈應用程式之後,請遵循下列步驟來設定單一登入設定。

    1. 在入口網站的應用程式頁面上,選取 [單一登入]
    2. 針對單一登入模式,選取 [整合式 Windows 驗證]
    3. 內部應用程式服務主體名稱 (SPN) 設定為您先前設定的值。 在此範例中,值是 HTTP/sharepoint
    4. 在 [委派的登入身分識別] 底下,為 Active Directory 樹系設定選取最適合的選項。 例如,如果您的樹系中有單一 Active Directory 網域,請選取 [內部部署 SAM 帳戶名稱] (如下列螢幕擷取畫面所示)。 但是,如果您的使用者與 SharePoint 和私人網路連接器伺服器不在相同的網域中,請選取 [內部部署使用者主體名稱] (不會顯示在螢幕擷取畫面中)。

    設定 SSO 的整合式 Windows 驗證

  3. 若要完成您的應用程式設定,請前往 [使用者與群組] 區段並指派使用者,以存取此應用程式。

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

必須使用 Kerberos 和適當的備用存取對應來設定 SharePoint Web 應用程式,才能正確地與 Microsoft Entra 應用程式 Proxy 搭配運作。 可能的原因有兩個:

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

重要

無論使用哪一個區域,SharePoint Web 應用程式的應用程式集區帳戶都必須是網域帳戶,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 應用程式篩選顯示。

      Web 應用程式的替代存取對應

  • 如果您將現有的 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. 使用擴充的 Web 應用程式篩選顯示。

      擴充應用程式的替代存取對應

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

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

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

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

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

    設定服務帳戶的選項

  4. 確認 [選取此元件的帳戶] 會傳回網域帳戶,並記住此帳戶,因為在下一個步驟中需要此資訊。

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

因為內部 URL 使用 HTTPS 通訊協定 (https://SharePoint/),所以必須在 Internet Information Services (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 管理員] 主控台。

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

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

  6. 在 [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,請針對每部連接器電腦遵循下列步驟:

  1. 以網域管理員身分登入網域控制站,然後開啟 Active Directory 使用者和電腦。

  2. 尋找執行 Microsoft Entra 私人網路連接器的電腦。 在此範例中,這是執行 SharePoint Server 的電腦。

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

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

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

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

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

    委派設定

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

登入錯誤疑難排解

如果登入網站無法運作,您可以取得連接器記錄中問題的詳細資訊:從執行連接器的電腦開啟 [事件檢視器],移至 [應用程式及服務記錄] > [Microsoft] > [Microsoft Entra 私人網路] > [連接器],然後檢查管理員記錄。

下一步