教程:使用 Microsoft Entra ID 和 Datawiza 配置安全混合访问
本教程介绍如何将 Microsoft Entra ID 与 Datawiza 集成,以实现混合访问。 Datawiza Access Proxy (DAP) 可扩展 Microsoft Entra ID,以启用单一登录 (SSO) 和提供访问控制来保护本地和云托管应用程序,例如 Oracle E-Business Suite、Microsoft IIS 和 SAP。 借助此解决方案,企业可以从 Symantec SiteMinder、NetIQ、Oracle 和 IBM 等旧式 Web 访问管理器 (WAM) 过渡到 Microsoft Entra ID,而无需重新编写应用程序。 企业可以使用 Datawiza 作为无代码或少代码解决方案,将新应用程序集成到 Microsoft Entra ID。 这种方法使企业能够实现其零信任策略,同时节省工程时间和降低成本。
了解详细信息:零信任安全性
采用 Microsoft Entra 身份验证体系结构的 Datawiza
Datawiza 集成包括以下组件:
- Microsoft Entra ID - 标识和访问管理服务,可帮助用户登录以及访问内部和外部资源
- Datawiza Access Proxy (DAP) - 此服务通过 HTTP 标头以透明方式将标识信息传递给应用程序
- Datawiza Cloud Management Console (DCMC) - 提供 UI 和 RESTful API,供管理员管理 DAP 配置和访问控制策略
下图说明了混合环境中 Datawiza 的身份验证体系结构。
- 用户请求访问本地或云托管应用程序。 DAP 将请求代理到该应用程序。
- DAP 检查用户身份验证状态。 如果没有会话令牌,或者会话令牌无效,DAP 会将用户请求发送到 Microsoft Entra ID 进行身份验证。
- Microsoft Entra ID 会将用户请求发送到 Microsoft Entra 租户中在注册 DAP 期间指定的终结点。
- DAP 会评估要包含在转发给应用程序的 HTTP 标头中的策略和属性值。 DAP 可能会调用标识提供者来检索信息以正确设置标头值。 DAP 会设置标头值并将请求发送到应用程序。
- 用户已经过身份验证并被授予访问权限。
先决条件
要开始,需要:
- 一个 Azure 订阅
- 如果没有,可以获取一个 Azure 免费帐户
- 链接到 Azure 订阅的 Microsoft Entra 租户
- 需要有 Docker 和 docker-compose 才能运行 DAP
- 应用程序可以在平台上运行,例如虚拟机 (VM) 和裸机
- 要从旧标识系统转换到 Microsoft Entra ID 的本地或云托管应用程序
- 在本示例中,DAP 将部署在该应用程序所在的同一服务器上
- 该应用程序在 localhost: 3001 上运行。 DAP 通过 localhost: 9772 将流量代理到应用程序
- 传送到应用程序的流量先到达 DAP,然后通过代理到达应用程序
配置 Datawiza 云管理控制台
登录到 Datawiza 云管理控制台 (DCMC)。
在 DCMC 上创建应用程序,并为应用生成密钥对:
PROVISIONING_KEY
和PROVISIONING_SECRET
。要创建应用并生成密钥对,请按照 Datawiza 云管理控制台中的说明进行操作。
使用与 Microsoft Entra ID 的一键式集成在 Microsoft Entra ID 中注册应用程序。
若要使用 Web 应用程序,请手动填充表单字段:“租户 ID”、“客户端 ID”和“客户端密码”。
了解详细信息:若要创建 Web 应用程序并获取值,请访问 docs.datawiza.com 获取 Microsoft Entra ID 文档。
使用 Docker 或 Kubernetes 来运行 DAP。 需要使用 docker 映像来创建基于标头的示例应用程序。
- 对于 Kubernetes,请参阅使用 Kubernetes 为 Web 应用部署 Datawiza Access Proxy
- 对于 Docker,请参阅为应用部署 Datawiza Access Proxy
- 可以使用以下示例 docker 映像 docker-compose.yml 文件:
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
restart: always
ports:
- "3001:3001"
- 登录到容器注册表。
- 在此重要步骤中下载 DAP 映像和基于标头的应用程序。
- 运行以下命令:
docker-compose -f docker-compose.yml up
。 - 基于标头的应用程序拥有已启用 Microsoft Entra ID 的 SSO。
- 在浏览器中转到
http://localhost:9772/
。 - 此时会显示 Microsoft Entra 登录页。
- 将用户属性传递给基于标头的应用程序。 DAP 从 Microsoft Entra ID 获取用户属性,并通过标头或 cookie 将这些属性传递给应用程序。
- 若要向基于标头的应用程序传递用户属性(例如电子邮件地址、名字和姓氏),请参阅传递用户属性。
- 若要确认配置的用户属性,请观察每个属性旁边的绿色复选标记。
测试流
- 转到应用程序 URL。
- DAP 会将你重定向到 Microsoft Entra 登录页。
- 身份验证后,你将重定向到 DAP。
- DAP 会评估策略、计算标头,并将你发送到应用程序。
- 此时将显示请求的应用程序。
后续步骤
- 教程:为 Azure Active Directory B2C 配置 Datawiza 以提供安全的混合访问权限
- 教程:配置 Datawiza 以便为 Oracle JD Edwards 启用 Microsoft Entra 多重身份验证和 SSO
- 教程:配置 Datawiza 以便为 Oracle PeopleSoft 启用 Microsoft Entra 多重身份验证和 SSO
- 教程:配置 Datawiza 以便为 Oracle Hyperion EPM 启用 Microsoft Entra 多重身份验证和 SSO
- 访问 docs.datawiza.com 获取 Datawiza 用户指南