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

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

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

使用適用於 Microsoft Entra ID 的 PingAccess,您可以為使用者提供使用標頭進行驗證的應用程式存取權和單一登錄 (SSO)。 應用程式 Proxy 會將這些應用程式視為任何其他應用程式,使用 Microsoft Entra ID 來驗證存取權,然後透過連接器服務傳遞流量。 PingAccess 位於應用程式前面,並將來自 Microsoft Entra ID 的存取令牌轉譯為標頭。 然後,應用程式會以可讀取的格式接收驗證。

當使用者登入以使用公司應用程式時,不會注意到任何不同之處。 應用程式仍可從任何裝置上的任何位置運作。 應用程式 Proxy 連接器會將遠端流量導向至所有應用程式,而不考慮其驗證類型,因此它們仍會自動平衡負載。

如何? 取得存取權嗎?

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

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

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

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

注意

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

安裝應用程式 Proxy 連接器

應用程式 Proxy 連接器是 Windows Server 服務,會將來自遠端員工的流量導向至已發佈的應用程式。 如需更詳細的安裝指示,請參閱 教學課程:在 Microsoft Entra ID 中新增內部部署應用程式,以透過應用程式 Proxy 進行遠端訪問。

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

下載連接器應該會自動為您的目錄啟用應用程式 Proxy,但如果不是,您可以選取 [ 啟用應用程式 Proxy]。

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

將應用程式新增至 Microsoft Entra ID 有兩個步驟。 首先,您必須使用應用程式 Proxy 發佈應用程式。 然後,您必須收集可在 PingAccess 步驟期間使用之應用程式的相關信息。

發佈您的應用程式

首先,發佈您的應用程式。 此動作牽涉到:

  • 將內部部署應用程式新增至 Microsoft Entra ID。
  • 指派用戶以測試應用程式,並選擇標頭型單一登錄。
  • 設定應用程式的重新導向URL。
  • 授與其他應用程式使用內部部署應用程式的許可權。

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

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

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

    Add your own on-premises application

  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 標識符]。

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

    注意

    如果這是您的第一個應用程式,請使用埠 3000 啟動,並在變更 PingAccess 組態時回來更新此設定。 針對後續的應用程式,埠必須符合您在 PingAccess 中設定的接聽程式。 深入瞭解 PingAccess 中的接聽程式。

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

現在將使用者指派給應用程式測試,然後選擇標頭型單一登錄:

  1. 從應用程式提要欄位中,選取 [使用者和群組] [新增使用者和>群組>] [<已選取數位]。> 使用者和群組清單隨即出現,可供您選擇。

    Shows the list of users and groups

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

  3. 選取指派

  4. 從應用程式提要欄位中,選取 [單一登錄>標頭]。

    提示

    如果這是您第一次使用標頭型單一登錄,您需要安裝 PingAccess。 若要確定您的 Microsoft Entra ID 訂用帳戶會自動與您的 PingAccess 安裝相關聯,請使用此單一登錄頁面上的鏈接來下載 PingAccess。 您可以立即開啟下載網站,或稍後返回此頁面。

    Shows header-based sign-on screen and PingAccess

  5. 選取 [儲存]。

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

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

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

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

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

  1. 從應用程式的 應用程式註冊 提要字段中,選取 [API 許可權>] [新增許可權>Microsoft API>Microsoft Graph]。 [Microsoft Graph 的要求 API 許可權] 頁面隨即出現,其中包含 Microsoft Graph 的許可權。

    Shows the Request API permissions page

  2. 選取 [委派的許可權>用戶使用者>]。Read。

  3. 選取 [應用程式許可權>][Application.ReadWrite.All]。>

  4. 選取新增權限

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

收集 PingAccess 步驟的資訊

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

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

若要收集此資訊:

  1. 流覽至 [身分>識別應用程式> 應用程式註冊 並選取您的應用程式。

    Registration overview for an application

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

  3. 接下來的 [ 目錄](租用戶)標識符 值,也選取 [ 複製到剪貼簿],然後複製並儲存它。 您稍後將此值指定為 PingAccess 的簽發者。

  4. 從應用程式的 應用程式註冊 提要字段中,選取 [憑證和秘密>] [新增客戶端密碼]。 [ 新增客戶端密碼 ] 頁面隨即出現。

    Shows the Add a client secret page

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

  6. 在 [到期] 底下,選擇如何設定 PingAccess 機碼:在 1 年2 年內永不

  7. 選取 [新增]。 PingAccess 金鑰會出現在用戶端秘密的數據表中,並具有自動填入 VALUE 欄位中的隨機字串。

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

acceptMappedClaims更新欄位:

  1. 以至少應用程式 管理員 istrator 身分登入 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 工作階段(設定-Access-Web 工作階段)必須取消選取要求設定檔,並將 [重新整理使用者屬性] 設定為 [否]。>>

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

此案例中 PingAccess 部分的詳細步驟會繼續進行 Ping 身分識別檔。 請遵循在 Ping 身分識別網站上設定 Microsoft Entra ID 的 PingAccess 中的指示,並下載最新版的 PingAccess

PingAccess 文章中的步驟會逐步引導您取得 PingAccess 帳戶。 若要建立 Microsoft Entra ID OpenID 連線 (OIDC) 連線,請使用您從 Microsoft Entra 系統管理中心複製的目錄(租使用者)標識符值來設定令牌提供者。 在 PingAccess 上建立 Web 工作階段。 Application (client) ID使用和 PingAccess key 值。 設定身分識別對應,並建立虛擬主機、月臺和應用程式。

測試您的應用程式

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

下一步