准备以在 Azure AD 与 Oracle Access Manager 之间配置用于 Oracle Retail Merchandising Suite 的 SSO

在尝试此解决方案之前,您应该先熟悉其重要概念,如联盟流和容量及软件要求。您还需要通过安装 Retail Merchandising Suite 组件和预配用户属性来准备环境。

许可证和软件要求

安装 Oracle Retain Merchandising Suite 之前,请确保以下几点:

  • 您具有零售商品套件版本16.0.2或更高版本的软件许可证。

  • 您的环境满足此处所述的容量和软件要求:
    组件 需求
    数据库软件 Oracle Database Enterprise Edition 12cR1 (12.1.0.2)
    数据库硬件(Oracle Cloud Infrastructure 位置)

    注 :

    执行完全的功能-规划实践,以确定零售企业工作量是否需要更多的数据库容量或存储。
    2-node RAC 数据库系统或 Exadata 数据库系统大小已适当于零售商的卷(最少 8 个 VCPU 和 60-GB RAM)
    中间件软件 Oracle Fusion Middleware 12.2.1.3 .0
    组件:
    • FMW 12.2.1.3 .0 基础结构(包含 WLS 和 ADF)
    • Oracle Enterprise Manager Fusion Middleware Control 12.2.1.3.0
    • 旧报告的 BI Publisher 12.2.1.3 .0
    • Oracle Identity Management 11g 发行版 1 (11.1.1.9)

    Java:JDK 1.8+ 64 位

    一次登入(SSO ):
    • Oracle Web Tier (12.2.1.3 .0)
    • Oracle Access Manager 11g 发行版 2 (11.1.2.3) Oracle Access Manager Agent (WebGate) 11g 发行版 2 (11.1.2.3)
    最低中间件硬件(Azure 位置)

    注 :

    执行完全的功能-规划实践,以确定零售企业工作量是否需要更多的数据库容量或存储。
    • 用于零售和零售集成应用的四个 2-node 集群 Azure 计算和 300-GB 存储
    • 用于 BI 和 IDM 组件的四个 2-node Cluster Azure Compute 和 300-GB 存储
    • 用于 SFTP 服务器的一个 VS Azure 计算

了解联盟流

在这种情况下,用户通过存储在 Azure AD 中的凭据访问 Retail Merchandising 应用程序。该访问通过带有 SAML 2.0协议的联合验证设置来实现,其中 Azure AD 是身份提供方(IDP)。由于 Oracle Access Manager 是在 Retail Merchandising Suite for SSO 前面部署的,因此还是提供联盟功能的组件。
后面是 merch-federation-flow.png 的说明
插图 merch-federation-flow.png 的说明

主要用例是在访问零售商品套件端点时启动的联盟流。如前面的图表所示,Oracle Access Manager Server (OAM Server)检测对 Retail Merchandising 的访问权限,创建验证请求(SAMLRequest),并将浏览器重定向到 Azure AD 以进行验证。Azure AD 会为用户提供身份证明挑战,验证用户,创建 SAMLResponse 作为对接收到的验证请求的响应,并将其发送回 Oracle Access Manager。反过来,Oracle Access Manager 将验证断言并声明断言中嵌入的用户标识信息,并授予对受保护资源的访问权限。

安装组件

Retail Merchandising Suite 包含四个组件,这些组件需要单独安装,然后才能为零售部署集成 Oracle Access Manager 和 Azure AD。

需要安装的组件包括:
  • 商品及零售集成数据库

    将安装的 Retail Merchandising 和 Retail Integration 应用程序已在 Oracle Cloud Infrastructure 上针对 12.1.0.2 RAC 数据库进行验证。

  • 商品及零售集成应用
    Retail Merchandising 系统部署在 Azure 的 WebLogic 群集中。来自负载平衡器的请求通过每个集群节点上托管的 Oracle HTTP Web 服务器传递,并通过代理传送到主动-主动式水平 WebLogic 集群。

    注 :

    在开始安装过程之前,请确保所有中间件软件都已按 Azure 的要求安装。

安装 Merchandising 数据库

商品销售发行版包含一个安装程序包,用于为商品销售应用程序安装数据库对象。

要安装商品销售数据库,请执行以下操作:

  1. 在暂存目录中提取 rms16installer.zip 文件,并验证是否已创建所需的 Merchandising 表空间和方案。
  2. 确保在集群节点上装载了共享 NFS,以便在无提示模式下安装 Merchandising 数据库。
  3. 在 RETAIL_HOME 路径中创建 Wallet,并在 ant.install.properties 文件中使用所有必需的别名。
  4. 导出 Oracle 环境变量(ORACLE_HOME、ORACLE_SID、PATH 等)。
  5. 运行 install.sh 脚本以在无提示模式下启动安装程序。例如:
    ./install.sh silent

安装 Merchandising 数据库

创建安装 Retail Integration Bus 应用程序所需的用户方案并授予必要的权限。

安装商品销售应用

首先,请安装商品销售应用程序。

要安装商品销售应用程序:

  1. 为每个 Merchandising 和 Retail Integration 应用程序创建一个 WebLogic 域,并为安全通信配置 SSL 证书。在 WebLogic 域中配置 Oracle Internet Directory 提供方 , 并加载验证应用程序请求所需的 LDIF 文件。
  2. 使用 Oracle HTTP 服务器配置 Oracle Access Manager 以进行单点登录验证。
  3. 在跨集群节点装载的共享 NFS 上,将每个 Merchandising 和 Retail Integration 应用程序的安装程序 zip 文件提取到相应的应用程序登台目录中。
  4. 在 RETAIL_HOME 路径中为每个应用程序创建一个 Wallet,并将所有必需别名用于 ant.install.properties 文件中。
  5. 设置环境变量(J2EE_ORACLE_HOME、J2EE_DOMAIN_HOME、JAVA_HOME 等)。
  6. 运行 install.sh 脚本以在无提示模式下启动应用程序安装程序。
  7. 确保通过安全通信中的负载平衡器 IP 地址可以访问应用程序 SSO url。

安装零售集成应用程序

Retail Integration 应用程序部署到 Azure 中的 WebLogic 服务器。

要安装零售集成应用程序:

  1. 提取文件系统临时目录中的零售集成应用程序。
  2. 使用适当的环境信息修改 conf 目录下的属性文件。
  3. 使用 bin 目录中提供的 shell 脚本编译和设置安全 Wallet。
  4. 在每个 WebLogic 服务器上部署零售集成应用程序(RIB、RSB、JMS、IGS、RSE 和 RIHA)。
  5. 在 WebLogic 域中配置 Oracle Internet Directory 提供方 , 并加载验证应用程序请求所需的 LDIF 文件。
  6. 确保通过安全通信中的负载平衡器 IP 地址可以访问应用程序 SSO url。

预配关键用户属性

以下 Azure AD 最佳实践是用户主用户名称(UPN)用作联合用户映射属性值。UPN 提供用于登录到用户帐户和在 Oracle Access Manager 中匹配的可靠唯一值。

至少必须预配以下属性。请注意,您不需要预配口令。
Azure 属性 LDAP 属性 示例
userPrincipalName 邮件 test.user1@example.co
samAccountName uid test.user1@example.com
displayName cn 测试 User1
givenName givenName Test
sn sn User1