关于在 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 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 的说明
通过此方法,您可以离将部分基础设施迁移到云更近一步。无需停用 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 |
|
Oracle Cloud Infrastructure | Oracle E-Business Suite Database 12.2 或更高版本 |
客户本地部署 |
|
了解预配和联盟流
上图说明了为此体系结构定义的组合预配和联盟流。
此预配流(下文事务处理 1-3 中所述)举例说明如何在 Azure AD 中创建用户账户、预配到 Oracle Access Manager LDAP 服务器并使用 Oracle Directory Integration Platform 同步到 E-Business Suite 数据库。联邦流程在事务处理 4-10 中进行了说明。了解 Azure AD 和 E-Business Suite 联合流中介绍了其他联盟流详细信息。
- 包括用户主体名称 (User Principal Name,UPN) 的初始用户帐户从 Azure AD 预配到 Oracle Access Manager LDAP 服务器(Oracle Unified Directory 或 Oracle Internet Directory)。此预配不是 Oracle Directory Integration Platform 的责任,而是由本手册范围之外的某种预配来完成。
- Oracle Directory Integration Platform 将侦听 Oracle Unified Directory 更改日志并将用户帐户预配到 E-Business Suite 数据库。
- Oracle Directory Integration Platform 将用户帐户(将 uid 映射到 USER_NAME 和 orclguid 映射到 USER_GUID)预配到 E-Business Suite 数据库。
- 用户请求 E-Business Suite 访问,WebGate 将检查 OAMAuthCookie 标记。
- WebGate 将验证用户是否没有 OAMAuthCookie 令牌,因此它会向 Oracle Access Manager 检查操作过程。
- Oracle Access Manager 指示 WebGate 将用户重定向到 Azure AD 进行联合验证,Azure AD 将提示用户登录。
- Azure AD 将验证用户的凭证,然后使用邮件属性作为用户映射向 Oracle Access Manager 发送 SAML 2.0 断言。
- Oracle Access Manager 接受 SAML 2.0 断言并使用 UPN 返回 Oracle Unified Directory 中的匹配用户。在响应中,它在策略中定义的标头中提供 Oracle Unified Directory 的 USER_NAME (uid) 和 USER_ORCLGUID (orclguid)。
- WebGate 将用户重定向到 E-Business Suite,并将 USER_NAME 和 USER_ORCLGUID 作为标题发送到 AccessGate。
- 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 端设置 |