分享方式:


使用應用程式 Proxy 和 PingAccess 單一登入的標頭型驗證

Microsoft 與 PingAccess 合作以提供更多存取應用程式。 PingAccess 除了整合的標頭型單一登入之外,還提供另一個選項。

什麼是適用於 Microsoft Entra ID 的 PingAccess?

您可以使用適用於 Microsoft Entra ID 的 PingAccess,讓使用者存取和單一登入 (SSO) 使用標頭進行驗證的應用程式。 應用程式 Proxy 會如同任何其他應用程式一樣處理這些應用程式,使用 Microsoft Entra ID 驗證存取,然後透過連接器服務傳遞流量。 PingAccess 位於應用程式前面,並且會將 Microsoft Entra ID 中的存取權杖轉譯成標頭。 然後,應用程式會以其可讀取的格式接收驗證。

使用者在登入以使用企業應用程式時,並不會注意到任何不同之處。 應用程式還是會在任何裝置上從任何地方運作。 私人網路連接器會直接將遠端流量導向所有應用程式 (無論其驗證類型為何),因此仍會自動平衡負載。

如何取得存取權?

您需要 PingAccess 和 Microsoft Entra ID 的授權。 不過,Microsoft Entra ID P1 或 P2 訂用帳戶所包含的基本 PingAccess 授權最多可涵蓋 20 個應用程式。 若要發佈 20 個以上的標頭型應用程式,可以從 PingAccess 購買更多授權。

如需詳細資訊,請參閱 Microsoft Entra 版本

在 Microsoft Entra 中發佈您的應用程式

本文概述第一次發佈應用程式的步驟。 本文提供應用程式 Proxy 和 PingAccess 的指引。

注意

Ping 身分識別網站上有一些指示。

安裝私人網路連接器

私人網路連接器是 Windows Server 服務,可將流量從您的遠端員工引導至發行的應用程式。 如需詳細的安裝指示,請參閱教學課程:新增內部部署應用程式以便透過 Microsoft Entra ID 中的應用程式 Proxy 進行遠端存取

  1. 以至少應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別] > [應用程式] > [企業應用程式] > [應用程式 Proxy]
  3. 選取 [下載連接器服務]
  4. 遵循安裝指示進行。

下載連接器應會自動啟用您目錄的應用程式 Proxy,但如果沒有,則可選取 [啟用應用程式 Proxy]

使用應用程式 Proxy 將您的應用程式新增至 Microsoft Entra ID

將應用程式新增至 Microsoft Entra ID 有兩個步驟。 首先,您必須使用應用程式 Proxy 發佈應用程式。 然後,您需要收集關於應用程式的資訊,以便在 PingAccess 步驟期間使用。

發佈您的應用程式

首先,發佈您的應用程式。 此動作包含:

  • 將內部部署應用程式新增至 Microsoft Entra ID。
  • 指派使用者以測試應用程式,並選擇標頭型 SSO。
  • 設定應用程式的重新導向 URL。
  • 授與權限,讓使用者和其他應用程式可使用內部部署應用程式。

若要發佈您自己的內部部署應用程式:

  1. 以應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [企業應用程式] > [新增應用程式] > [新增內部部署應用程式]。 [新增您自己的內部部署應用程式] 頁面隨即出現。

    新增您自己的內部部署應用程式

  3. 使用新應用程式的相關資訊填寫必要的欄位。 使用指引進行設定。

    注意

    如需此步驟的更詳細逐步解說,請參閱將內部部署應用程式新增至 Microsoft Entra ID

    1. 內部 URL︰在公司網路上時,通常會提供此 URL 以帶您前往應用程式登入頁面。 針對此情節,連接器需要將 PingAccess Proxy 視為應用程式的首頁。 使用此格式︰https://<host name of your PingAccess server>:<port>。 連接埠預設為 3000,但您可以在 PingAccess 中設定它。

      警告

      針對此類型的單一登入,內部 URL 必須使用 https,而非 http。 此外,兩個應用程式不得具有相同的內部 URL,以讓應用程式 Proxy 可以維持兩者之間的差異。

    2. 預先驗證方法:選擇 Microsoft Entra ID

    3. 轉譯標頭中的 URL:選擇 [否]

    注意

    如果這是您的第一個應用程式,請在變更 PingAccess 設定時,使用連接埠 3000 啟動並返回以更新這項設定。 針對後續的應用程式,連接埠將必須符合您在 PingAccess 中設定的接聽程式。

  4. 選取 [新增]。 新應用程式的概觀頁面會隨即出現。

現在指派使用者進行應用程式測試,並選擇 [標頭型單一登入]:

  1. 從應用程式側邊欄中,選取 [使用者和群組]>[新增使用者]>[使用者和群組 (已選取 <> 個)]。 系統會顯示使用者和群組的清單供您選擇。

    顯示使用者和群組清單

  2. 選取使用者進行應用程式測試,然後選取 [選取]。 請確定此測試帳戶可存取內部部署應用程式。

  3. 選取指派

  4. 從應用程式側邊欄中,選取 [單一登入]>[標頭型]

    提示

    如果這是您第一次使用標頭式單一登入,您需要安裝 PingAccess。 若要確定 Microsoft Entra 訂用帳戶會與 PingAccess 安裝自動產生關聯,請使用此單一登入頁面上的連結來下載 PingAccess。 您現在可以開啟下載網站,或稍後返回此頁面。

    顯示標頭型登入畫面和 PingAccess

  5. 選取 [儲存]。

然後,確定您的重新導向 URL 已設定為您的外部 URL:

  1. 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取您的應用程式。
  2. 選取 [重新導向 URI] 旁的連結。 連結會顯示針對 Web 和公用用戶端所設定的重新導向統一資源識別元 (URI) 數量。 [<應用程式名稱> -驗證] 頁面會隨即出現。
  3. 檢查您先前指派給應用程式的外部 URL 是否位於 [重新導向 URI] 清單中。 如果不是,請立即使用 Web 作為重新導向 URI 類型來新增外部 URL,然後選取 [儲存]

除了外部 URL 之外,外部 URL 上的 Microsoft Entra ID 授權端點也應該新增至 [重新導向 URI] 清單。

https://*.msappproxy.net/pa/oidc/cb https://*.msappproxy.net/

最後,設定內部部署應用程式,讓使用者具有 read 存取權,而其他應用程式具有 read/write 存取權:

  1. 從應用程式的應用程式註冊側邊欄中,選取 [API 權限]>[新增權限]>[Microsoft API]>[Microsoft Graph]Microsoft Graph 的 [要求 API 權限] 頁面隨即出現,其中包含 Microsoft Graph 的權限。

    顯示 [要求 API 權限] 頁面

  2. 選取 [委派的權限]>[使用者]>[User.Read]

  3. 選取 [應用程式權限]>[應用程式]>[Application.ReadWrite.All]

  4. 選取新增權限

  5. 在 [API 權限] 頁面中,選取 [授與<目錄名稱>的管理員同意]

收集 PingAccess 步驟的資訊

收集三個全域唯一識別碼 (GUID)。 使用 GUID 來設定您的應用程式與 PingAccess。

Microsoft Entra 欄位的名稱 PingAccess 欄位的名稱 資料格式
應用程式 (用戶端) 識別碼 用戶端識別碼 GUID
目錄 (租用戶) 識別碼 簽發者 GUID
PingAccess key 用戶端祕密 隨機字串

若要收集此資訊:

  1. 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取您的應用程式。

  2. 在 [應用程式 (用戶端) 識別碼] 值旁邊,選取 [複製到剪貼簿] 圖示,然後複製並儲存該值。 您稍後會將此值指定為 PingAccess 的用戶端識別碼。

  3. 在 [目錄 (租用戶) 識別碼] 值的旁邊,也選取 [複製到剪貼簿],然後複製並儲存該值。 您稍後會將此值指定為 PingAccess 的簽發者。

  4. 從應用程式的 [應用程式註冊] 側邊欄中,選取 [憑證和祕密]>[新增用戶端密碼]。 [新增用戶端密碼] 頁面會隨即出現。

    顯示 [新增用戶端密碼] 頁面

  5. 在 [描述] 中,輸入 PingAccess key

  6. 在 [到期] 底下,選擇設定 PingAccess 金鑰的方式:1 年2 年永不

  7. 選取 [新增]。 PingAccess 金鑰會顯示在用戶端密碼表格中,並在 [值] 欄位中自動填入隨機字串。

  8. 在 PingAccess 金鑰的 [值] 欄位旁,選取 [複製到剪貼簿] 圖示,然後複製並儲存該值。 您稍後會將此值指定為 PingAccess 的用戶端密碼。

更新 acceptMappedClaims 欄位:

  1. 以至少應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心
  2. 在右上角選取您的使用者名稱。 請確認您已登入使用應用程式 Proxy 的目錄。 若要變更目錄,請選取 [切換目錄],然後選擇使用應用程式 Proxy 的目錄。
  3. 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取您的應用程式。
  4. 從應用程式的 [應用程式註冊] 頁面側邊欄中,選取 [資訊清單]。 您應用程式註冊的資訊清單 JSON 程式碼會隨即出現。
  5. 搜尋 acceptMappedClaims 欄位,然後將值變更為 True
  6. 選取 [儲存]。

使用選擇性宣告 (選擇性)

選擇性宣告可讓您新增每個使用者和租用戶都有的「標準但不預設包含 (standard-but-not-included-by-default)」宣告。 您可以藉由修改應用程式資訊清單,來為應用程式設定選擇性宣告。 如需詳細資訊,請參閱了解 Microsoft Entra 應用程式資訊清單一文。

在 PingAccess 取用的 access_token 中包含電子郵件地址的範例:

    "optionalClaims": {
        "idToken": [],
        "accessToken": [
            {
                "name": "email",
                "source": null,
                "essential": false,
                "additionalProperties": []
            }
        ],
        "saml2Token": []
    },

使用宣告對應原則 (選擇性)

宣告對應可讓您將舊的內部部署應用程式移轉至雲端,方法是新增更多支援 Active Directory 同盟服務 (ADFS) 或使用者物件的自訂宣告。 如需詳細資訊,請參閱 宣告自定義

若要使用自訂宣告,並在您的應用程式中包含更多欄位。 建立自訂宣告對應原則,並將其指派給應用程式

注意

若要使用自訂宣告,您必須已定義自訂原則且已指派給應用程式。 此原則應包含所有必要的自訂屬性。

您可以透過 PowerShell 或 Microsoft Graph 進行原則定義和指派。 如果您是在 PowerShell 中執行這些動作,您可能需要先使用 New-AzureADPolicy,然後使用 Add-AzureADServicePrincipalPolicy 將其指派給應用程式。 如需詳細資訊,請參閱宣告對應原則指派

範例:

$pol = New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","JwtClaimType":"employeeid"}]}}') -DisplayName "AdditionalClaims" -Type "ClaimsMappingPolicy"

Add-AzureADServicePrincipalPolicy -Id "<<The object Id of the Enterprise Application you published in the previous step, which requires this claim>>" -RefObjectId $pol.Id

啟用 PingAccess 以使用自訂宣告

啟用 PingAccess 以使用自訂宣告是選擇性的,但如果您預期應用程式會取用其他宣告,則為必要項目。

在下列步驟中設定 PingAccess 時,您建立的 Web 工作階段 ([設定]->[存取]->[Web 工作階段]) 必須取消選取 [要求設定檔],並將 [重新整理使用者屬性] 設定為 [否]

下載 PingAccess 及設定您的應用程式

這個案例的 PingAccess 部分詳細步驟會在 Ping 身分識別文件中繼續進行。

若要建立 Microsoft Entra ID OpenID Connect (OIDC) 連線,請使用您從 Microsoft Entra 系統管理中心複製的 Directory (租用戶) 識別碼值來設定權杖提供者。 在 PingAccess 上建立 Web 工作階段。 使用 Application (client) IDPingAccess key 值。 設定身分識別對應,並建立虛擬主機、網站和應用程式。

測試您的應用程式

應用程式已啟動且正在執行中。 若要進行測試,請開啟瀏覽器並瀏覽至您在 Microsoft Entra 中發佈應用程式時所建立的外部 URL。 使用您指派給應用程式的測試帳戶來登入。

下一步