使用應用程式 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 進行遠端存取。
- 以至少應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別] > [應用程式] > [企業應用程式] > [應用程式 Proxy]。
- 選取 [下載連接器服務]。
- 遵循安裝指示進行。
下載連接器應會自動啟用您目錄的應用程式 Proxy,但如果沒有,則可選取 [啟用應用程式 Proxy]。
使用應用程式 Proxy 將您的應用程式新增至 Microsoft Entra ID
將應用程式新增至 Microsoft Entra ID 有兩個步驟。 首先,您必須使用應用程式 Proxy 發佈應用程式。 然後,您需要收集關於應用程式的資訊,以便在 PingAccess 步驟期間使用。
發佈您的應用程式
首先,發佈您的應用程式。 此動作包含:
- 將內部部署應用程式新增至 Microsoft Entra ID。
- 指派使用者以測試應用程式,並選擇標頭型 SSO。
- 設定應用程式的重新導向 URL。
- 授與權限,讓使用者和其他應用程式可使用內部部署應用程式。
若要發佈您自己的內部部署應用程式:
以應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [企業應用程式] > [新增應用程式] > [新增內部部署應用程式]。 [新增您自己的內部部署應用程式] 頁面隨即出現。
使用新應用程式的相關資訊填寫必要的欄位。 使用指引進行設定。
注意
如需此步驟的更詳細逐步解說,請參閱將內部部署應用程式新增至 Microsoft Entra ID。
內部 URL︰在公司網路上時,通常會提供此 URL 以帶您前往應用程式登入頁面。 針對此情節,連接器需要將 PingAccess Proxy 視為應用程式的首頁。 使用此格式︰
https://<host name of your PingAccess server>:<port>
。 連接埠預設為 3000,但您可以在 PingAccess 中設定它。警告
針對此類型的單一登入,內部 URL 必須使用
https
,而非http
。 此外,兩個應用程式不得具有相同的內部 URL,以讓應用程式 Proxy 可以維持兩者之間的差異。預先驗證方法:選擇 Microsoft Entra ID。
轉譯標頭中的 URL:選擇 [否]。
注意
如果這是您的第一個應用程式,請在變更 PingAccess 設定時,使用連接埠 3000 啟動並返回以更新這項設定。 針對後續的應用程式,連接埠將必須符合您在 PingAccess 中設定的接聽程式。
選取 [新增]。 新應用程式的概觀頁面會隨即出現。
現在指派使用者進行應用程式測試,並選擇 [標頭型單一登入]:
從應用程式側邊欄中,選取 [使用者和群組]>[新增使用者]>[使用者和群組 (已選取 <> 個)]。 系統會顯示使用者和群組的清單供您選擇。
選取使用者進行應用程式測試,然後選取 [選取]。 請確定此測試帳戶可存取內部部署應用程式。
選取指派。
從應用程式側邊欄中,選取 [單一登入]>[標頭型]。
提示
如果這是您第一次使用標頭式單一登入,您需要安裝 PingAccess。 若要確定 Microsoft Entra 訂用帳戶會與 PingAccess 安裝自動產生關聯,請使用此單一登入頁面上的連結來下載 PingAccess。 您現在可以開啟下載網站,或稍後返回此頁面。
選取 [儲存]。
然後,確定您的重新導向 URL 已設定為您的外部 URL:
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取您的應用程式。
- 選取 [重新導向 URI] 旁的連結。 連結會顯示針對 Web 和公用用戶端所設定的重新導向統一資源識別元 (URI) 數量。 [<應用程式名稱> -驗證] 頁面會隨即出現。
- 檢查您先前指派給應用程式的外部 URL 是否位於 [重新導向 URI] 清單中。 如果不是,請立即使用 Web 作為重新導向 URI 類型來新增外部 URL,然後選取 [儲存]。
除了外部 URL 之外,外部 URL 上的 Microsoft Entra ID 授權端點也應該新增至 [重新導向 URI] 清單。
https://*.msappproxy.net/pa/oidc/cb
https://*.msappproxy.net/
最後,設定內部部署應用程式,讓使用者具有 read
存取權,而其他應用程式具有 read/write
存取權:
從應用程式的應用程式註冊側邊欄中,選取 [API 權限]>[新增權限]>[Microsoft API]>[Microsoft Graph]。 Microsoft Graph 的 [要求 API 權限] 頁面隨即出現,其中包含 Microsoft Graph 的權限。
選取 [委派的權限]>[使用者]>[User.Read]。
選取 [應用程式權限]>[應用程式]>[Application.ReadWrite.All]。
選取新增權限。
在 [API 權限] 頁面中,選取 [授與<目錄名稱>的管理員同意]。
收集 PingAccess 步驟的資訊
收集三個全域唯一識別碼 (GUID)。 使用 GUID 來設定您的應用程式與 PingAccess。
Microsoft Entra 欄位的名稱 | PingAccess 欄位的名稱 | 資料格式 |
---|---|---|
應用程式 (用戶端) 識別碼 | 用戶端識別碼 | GUID |
目錄 (租用戶) 識別碼 | 簽發者 | GUID |
PingAccess key |
用戶端祕密 | 隨機字串 |
若要收集此資訊:
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取您的應用程式。
在 [應用程式 (用戶端) 識別碼] 值旁邊,選取 [複製到剪貼簿] 圖示,然後複製並儲存該值。 您稍後會將此值指定為 PingAccess 的用戶端識別碼。
在 [目錄 (租用戶) 識別碼] 值的旁邊,也選取 [複製到剪貼簿],然後複製並儲存該值。 您稍後會將此值指定為 PingAccess 的簽發者。
從應用程式的 [應用程式註冊] 側邊欄中,選取 [憑證和祕密]>[新增用戶端密碼]。 [新增用戶端密碼] 頁面會隨即出現。
在 [描述] 中,輸入
PingAccess key
。在 [到期] 底下,選擇設定 PingAccess 金鑰的方式:1 年、2 年或永不。
選取 [新增]。 PingAccess 金鑰會顯示在用戶端密碼表格中,並在 [值] 欄位中自動填入隨機字串。
在 PingAccess 金鑰的 [值] 欄位旁,選取 [複製到剪貼簿] 圖示,然後複製並儲存該值。 您稍後會將此值指定為 PingAccess 的用戶端密碼。
更新 acceptMappedClaims
欄位:
- 以至少應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心。
- 在右上角選取您的使用者名稱。 請確認您已登入使用應用程式 Proxy 的目錄。 若要變更目錄,請選取 [切換目錄],然後選擇使用應用程式 Proxy 的目錄。
- 瀏覽至 [身分識別] > [應用程式] > [應用程式註冊],然後選取您的應用程式。
- 從應用程式的 [應用程式註冊] 頁面側邊欄中,選取 [資訊清單]。 您應用程式註冊的資訊清單 JSON 程式碼會隨即出現。
- 搜尋
acceptMappedClaims
欄位,然後將值變更為True
。 - 選取 [儲存]。
使用選擇性宣告 (選擇性)
選擇性宣告可讓您新增每個使用者和租用戶都有的「標準但不預設包含 (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) ID
和 PingAccess key
值。 設定身分識別對應,並建立虛擬主機、網站和應用程式。
測試您的應用程式
應用程式已啟動且正在執行中。 若要進行測試,請開啟瀏覽器並瀏覽至您在 Microsoft Entra 中發佈應用程式時所建立的外部 URL。 使用您指派給應用程式的測試帳戶來登入。