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

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

必要條件

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

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

  • 使用者可以看到的外部 URL,並在 Microsoft Entra 識別碼中決定。 此 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 識別符中設定應用程式

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

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

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

    將 SharePoint 發佈為應用程式

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

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

    設定 SSO 的整合式 Windows 驗證

  3. 完成應用程式設定,移至 [ 使用者和群組 ] 區段,並指派使用者存取此應用程式。

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

SharePoint Web 應用程式必須使用 Kerberos 和適當的替代存取對應來設定,才能使用 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 Central 管理員 istration 網站。

    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 Central 管理員 istration 網站。

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

    2. 使用擴充的 Web 應用程式篩選顯示。

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

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

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

  1. 開啟 SharePoint Central 管理員 istration 網站。

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

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

    設定服務帳戶的選項

  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. 開啟 網際網路資訊服務 Manager 控制台。

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

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

  6. 在 [TLS/SSL 憑證] 字段中,選擇 [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 應用程式集區帳戶Contoso\spapppool的 SPNHTTP/sharepoint,請以網域的系統管理員身分,從命令提示字元執行下列命令:

setspn -S HTTP/sharepoint Contoso\spapppool

命令 Setspn 會在新增SPN之前搜尋SPN。 如果SPN已經存在,您會看到 重複的SPN值 錯誤。 拿掉現有的SPN。 使用 選項執行 Setspn 命令 -L ,確認已成功新增SPN。 若要深入瞭解命令,請參閱 Setspn

請確定連接器可信任委派至新增至 SharePoint 應用程式集區帳戶的 SPN

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

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

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

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

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

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

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

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

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

    委派設定

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

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

如果登入網站無法運作,您可以在 連線 or 記錄檔中取得問題的詳細資訊:從執行連接器的計算機開啟事件查看器,移至 [應用程式及服務>記錄] Microsoft>Microsoft Entra 專用網> 連線 or,然後檢查 管理員 記錄。

下一步