关于在 Azure AD 与 Oracle Access Manager for Oracle E-Business Suite 之间设置 SSO

如果客户想要在 Microsoft Azure 上运行 Oracle 应用(例如 Oracle E-Business Suite),但使用内部部署 Oracle Access Manager 作为服务提供商,则需要在 Azure AD 和内部部署 OAM 之间建立联合 SSO。

由于在逻辑上与其他云应用配合使用时,云端集成支持非常强大,因此理想的解决方案是配置 SAML 2.0 来提供必要的联合 SSO 体系结构。

准备工作

开始在连接到 Oracle Cloud 中数据库的 Microsoft Azure 中运行应用程序之前,请了解用于连接 Oracle Cloud 和 Microsoft Azure 上部署的工作负载的网络体系结构。

请参阅 了解如何将 Oracle Cloud 与 Microsoft Azure 互连

体系结构

此解决方案提供了一种架构,该架构是对 Oracle Access Manager 与 E-Business Suite 之间已记录在案的内部部署集成的一种混合方法。

这被视为混合体系结构,因为:
  • 它将 Oracle E-Business Suite 置于 Azure 中。
  • 它使用 Azure Active Directory (Azure AD) 作为联合身份提供者 (IDP) 来向 E-Business Suite 验证用户。
  • 使用后端 LDAP 服务器(Oracle Unified Directory 或 Oracle Internet Directory)将 Oracle Access Manager 作为内部部署服务提供商 (SP) 运行。
后面是 ebiz-architecture.png 的说明
插图 ebiz-architecture.png 的说明

通过此方法,您可以离将部分基础设施迁移到云更近一步。无需停用 E-Business Suite - Oracle Access Manager 和 Oracle Unified Directory 或 Oracle Internet Directory 即可迁移到云中。

此体系结构的另一个关键部分是预配用户帐户。本文假定 Azure AD 是用户帐户的真实信息源。这意味着,应使用预配方法(如 Oracle Directory Integration Platform 同步)或身份管理工具(如 Microsoft Identity Manager 或 Oracle Identity Manager)在 Oracle Access Manager LDAP 服务器(Oracle Unified Directory 或 Oracle Internet Directory)中预配用户帐户。然后,用作双向同步服务的 Oracle Directory Integration Platform 可以将该帐户同步到 E-Business Suite 数据库中。本文稍后将介绍对 SSO 至关重要的某些关键属性。

了解组件

下表中介绍了此混合体系结构中的组件,如上图所示。

数据中心 组件
Azure
  • Azure AD
  • Oracle E-Business Suite 12.2.x
  • Oracle HTTP Server 11g 或 12c
  • Oracle WebGate 11g 或 12c
  • Oracle AccessGate 11g 或 12c
Oracle Cloud Infrastructure Oracle E-Business Suite Database 12.2 或更高版本
客户本地部署
  • Oracle Access Manager 11g 或 12c
  • Oracle Unified Directory 或 Oracle Internet Directory 11g 或 12c
  • Oracle Directory Integration Platform 11g 或 12c
  • Oracle HTTP Server 11g 或 12c(可选)

了解预配和联盟流

上图说明了为此体系结构定义的组合预配和联盟流。

此预配流(下文事务处理 1-3 中所述)举例说明如何在 Azure AD 中创建用户账户、预配到 Oracle Access Manager LDAP 服务器并使用 Oracle Directory Integration Platform 同步到 E-Business Suite 数据库。联邦流程在事务处理 4-10 中进行了说明。了解 Azure AD 和 E-Business Suite 联合流中介绍了其他联盟流详细信息。

  1. 包括用户主体名称 (User Principal Name,UPN) 的初始用户帐户从 Azure AD 预配到 Oracle Access Manager LDAP 服务器(Oracle Unified Directory 或 Oracle Internet Directory)。此预配不是 Oracle Directory Integration Platform 的责任,而是由本手册范围之外的某种预配来完成。
  2. Oracle Directory Integration Platform 将侦听 Oracle Unified Directory 更改日志并将用户帐户预配到 E-Business Suite 数据库。
  3. Oracle Directory Integration Platform 将用户帐户(将 uid 映射到 USER_NAME 和 orclguid 映射到 USER_GUID)预配到 E-Business Suite 数据库。
  4. 用户请求 E-Business Suite 访问,WebGate 将检查 OAMAuthCookie 标记。
  5. WebGate 将验证用户是否没有 OAMAuthCookie 令牌,因此它会向 Oracle Access Manager 检查操作过程。
  6. Oracle Access Manager 指示 WebGate 将用户重定向到 Azure AD 进行联合验证,Azure AD 将提示用户登录。
  7. Azure AD 将验证用户的凭证,然后使用邮件属性作为用户映射向 Oracle Access Manager 发送 SAML 2.0 断言。
  8. Oracle Access Manager 接受 SAML 2.0 断言并使用 UPN 返回 Oracle Unified Directory 中的匹配用户。在响应中,它在策略中定义的标头中提供 Oracle Unified Directory 的 USER_NAME (uid) 和 USER_ORCLGUID (orclguid)。
  9. WebGate 将用户重定向到 E-Business Suite,并将 USER_NAME 和 USER_ORCLGUID 作为标题发送到 AccessGate。
  10. AccessGate 在 E-Business Suite 数据库中查找 USER_NAME 和 USER_ORCLGUID,以验证用户是否存在。成功后,它将设置自己的会话并将 E-Business Suite 门户页返回给用户。

关于必需的服务和角色

此解决方案需要组合这些服务中的特定服务和角色。

这些服务和应用程序是必需的:
  • Oracle Cloud Infrastructure
  • Oracle Access Manager
  • 部署到 Azure 的功能完备的 Oracle E-Business Suite 实例
  • Microsoft Azure 广告
服务名称:角色 要求 ...
Oracle Cloud Infrastructure:管理员 创建和管理身份资源
Oracle Access Manager:管理员 在内部部署中配置和维护用户设置
E-Business Suite:管理角色,包括数据库管理员LDAP 管理员 配置 E-Business Suite 并更改安全设置
Azure AD:Azure AD 贡献者或更多特权帐户 获取 Azure 订阅
Azure AD:Azure 应用程序全局管理员 处理配置并在 Azure 端设置