教學課程:使用 Datawiza 設定 Azure Active Directory B2C 以提供安全的混合式存取
在本教學課程中,瞭解如何整合 Azure Active Directory B2C (Azure AD B2C) 與 Datawiza Access Proxy (DAP) ,以啟用單一登入 (SSO) 和細微存取控制,協助 Azure AD B2C 保護內部部署繼承應用程式。 透過此解決方案,企業可以在不重寫應用程式的情況下,從舊版轉換至 Azure AD B2C。
必要條件
若要開始,您需要:
- Microsoft Entra訂用帳戶
- 如果沒有訂用帳戶,您可以取得 Azure 免費帳戶
- 連結至 Azure 訂用帳戶的 Azure AD B2C 租用戶
-
需要 Docker才能執行 DAB,這是開發、運送和執行應用程式的開放平臺
- 您的應用程式可以在虛擬機器和裸機等平臺上執行
- 從舊版身分識別系統轉換至 Azure AD B2C 的內部部署應用程式
- 在本教學課程中,DAB 會部署在與應用程式相同的伺服器上
- 應用程式會在 localhost 上執行:3001 和 DAP Proxy 透過 localhost 對應用程式的流量:9772
- 應用程式流量會先到達 DAB,然後再將 Proxy 處理至應用程式
案例描述
Datawiza 整合包括下列元件:
-
Azure AD B2C:驗證使用者認證的授權伺服器
- 已驗證的使用者會使用儲存在 Azure AD B2C 目錄中的本機帳戶來存取內部部署應用程式
- Datawiza Access Proxy (DAP) :透過 HTTP 標頭將身分識別傳遞至應用程式的服務
- Datawiza Cloud Management Console (DCMC) :DAB 的管理主控台。 DCMC UI 和 RESTful API 可協助管理 DAB 設定和存取控制原則
下列結構圖顯示該實作。
- 使用者要求存取內部部署應用程式。 DAB 會將要求 Proxy 處理至應用程式。
- DAP 會檢查使用者驗證狀態。 沒有會話權杖或不正確權杖,使用者會前往 Azure AD B2C 進行驗證。
- Azure AD B2C 會將使用者要求傳送至在 Azure AD B2C 租使用者中 DAP 註冊期間指定的端點。
- DAP 會評估存取原則,並在轉送至應用程式的 HTTP 標頭中計算屬性值。 DAP 可能會呼叫識別提供者, (IdP) 擷取資訊以設定標頭值。 DAP 會設定標頭值,並將要求傳送至應用程式。
- 使用者會使用應用程式的存取權進行驗證。
使用 Datawiza 上線
若要整合您的舊版內部部署應用程式與 Azure AD B2C,請聯絡 Datawiza。
設定您的 Azure AD B2C 租用戶
移至 docs.datawiza.com:
瞭解如何在 Azure AD B2C 租使用者中註冊 Web 應用程式,以及設定註冊和登入使用者流程。 如需詳細資訊,請參閱 Azure AD B2C。
在Azure 入口網站中設定使用者流程。
注意
當您在 DCM 中設定 DAB 時,您需要租使用者名稱、使用者流程名稱、用戶端識別碼和用戶端密碼。
在 DCMC 中建立應用程式
在 DCMC 中,建立應用程式,並為此應用程式產生 和
PROVISIONING_SECRET
的PROVISIONING_KEY
金鑰組。 請參閱 Datawiza Cloud Management Console。使用 Azure AD B2C 設定 IdP。 請參閱第 I 部分:Azure AD B2C 設定。
使用標頭式應用程式執行 DAB
您可以使用 Docker 或 Kubernetes 來執行 DAP。 使用 Docker 映射讓使用者建立範例標頭型應用程式。
深入瞭解:若要設定 DAP 和 SSO 整合,請參閱 使用您的應用程式部署 Datawiza Access Proxy
提供範例 Docker 映射 docker-compose.yml file
。 登入容器登錄以下載 DAP 映射和標頭型應用程式。
-
version: '3' services: datawiza-access-broker: image: registry.gitlab.com/datawiza/access-broker container_name: datawiza-access-broker restart: always ports: - "9772:9772" environment: PROVISIONING_KEY: ############################# PROVISIONING_SECRET: ############################# header-based-app: image: registry.gitlab.com/datawiza/header-based-app container_name: ab-demo-header-app restart: always environment: CONNECTOR: B2C ports: - "3001:3001"
標頭型應用程式已啟用與 Azure AD B2C 的 SSO。
開啟瀏覽器並輸入
http://localhost:9772/
。Azure AD B2C 登入頁面隨即出現。
將使用者屬性傳遞給標頭式應用程式
DAB 會從 IdP 取得使用者屬性,並使用標頭或 Cookie 將它們傳遞至應用程式。 設定使用者屬性之後,使用者屬性會出現綠色複選符號。
深入瞭解:將電子郵件地址、名字和姓氏等 使用者屬性傳遞 至標頭型應用程式。
測試流程
- 瀏覽至內部部署應用程式 URL。
- DAP 會重新導向至您在使用者流程中設定的頁面。
- 從清單中,選取 IdP。
- 在提示字元中,輸入您的認證。 如有必要,請包含Microsoft Entra多重要素驗證權杖。
- 系統會將您重新導向至 Azure AD B2C,以將應用程式要求轉送至 DAP 重新導向 URI。
- DAB 會評估原則、計算標頭,並將使用者傳送至上游應用程式。
- 要求的應用程式隨即出現。