共用方式為


使用應用程式代理和 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. 瀏覽至 [身分識別]> [應用程式]> [企業應用程式]> [應用程式代理]
  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. 選取使用者來進行應用程式測試,然後按下[c0]選取[/c0]。 請確定此測試帳戶可存取內部部署應用程式。

  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. 選擇 [儲存]。

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

選擇性宣告可讓您新增每個使用者和租用戶都有的、標準但非預設包含的宣告。 您可以藉由修改應用程式資訊清單,來為應用程式設定選擇性宣告。 如需詳細資訊,請參閱了解 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 系統管理中心複製的 目錄 (租用戶) ID 值來設定令牌提供者。 在 PingAccess 上建立 Web 工作階段。 使用 Application (client) IDPingAccess key 值。 設定身分識別對應,並建立虛擬主機、網站和應用程式。

測試您的應用程式

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

下一步