在 Oracle Cloud Marketplace 上部署 Oracle Advanced Authentication

简介

本教程介绍了如何在 Oracle Cloud Marketplace 上部署 Oracle Advanced Authentication (OAA) 和相关产品以进行评估。

部署后,管理员可以使用 OAA 对受 Oracle Access Management (OAM) 保护的应用程序执行多因素身份验证 (MFA) 评估。

注意:管理员应注意以下事项:

Oracle Cloud Marketplace 上的 OAA 使用 Oracle Kubernetes Engine (OKE) 部署在 Kubernetes (K8S) 集群中。Oracle Cloud Marketplace 上的部署部署部署了以下 Oracle 产品和组件:

部署的体系结构如下:

可用系数

OAA Marketplace 部署提供以下因素,无需任何进一步的管理员配置:

如果需要评估,以下因素需要在部署后添加管理员配置:

:在所有情况下,最终用户都需要访问自助门户来添加要评估的因素。有关管理员和最终用户任务的更多信息,请参见下一教程部分。

已创建用户

部署会在 Oracle Unified Directory 中创建以下用户:

已创建 NFS 卷

以下是 Oracle Cloud Marketplace 部署为 OAA 创建的 NFS 卷:

可以从堡垒节点访问这些卷。

有关 NFS 卷及其内容的更多信息,请参见 Configuring NFS Volumes

典型的最终用户流

以下是可以在 Oracle Cloud Marketplace 上使用 OAA 进行评估的典型流:

  1. 最终用户(例如 oaauser1)在自助门户中为 MFA 配置其因素。
  2. 最终用户访问通过 OAM 和 OAA MFA 策略受保护的页面 (bank-emp.html)。
  3. 最终用户将重定向到 OAM 以使用其凭证 (oaauser1/<password>) 登录。
  4. OAM 根据 OAA 策略触发 MFA。系统会要求用户使用配置的因素之一完成 MFA 或无密码验证。
  5. 验证成功后,将显示受保护页面。

OCI 先决条件

在 Oracle Cloud Marketplace 上部署 OAA 之前,您必须对 OCI 公共租户具有管理员访问权限。

下面显示了部署 OAA 所需的可用性域配额:

:可选 - 建议为 OAA 部署创建新区间。请参阅创建区间

要检查配额,请执行以下操作:

  1. OAA 要求节点池有四 (4) 个或更多计算节点,并且需要在相应的可用性域中为堡垒提供一 (1) 个计算节点。要检查是否有足够的计算节点可用:

    1. 访问 OCI 控制面板并访问“Navigation(导航)”菜单。
    2. 导航到监管和管理 > 限制、配额和使用
    3. 选中显示已过时的限制复选框。
    4. SERVICE 下拉菜单中选择 Compute
    5. SCOPE 菜单中,选择相应的可用性域
    6. COMPARTMENT 菜单中,选择 root 区间。
    7. 资源菜单中,选择要检查的节点配置。必须选择允许 8 个 CPU(节点池为 64GB RAM)和 2 个 CPU 以及 16GB RAM(堡垒)的配置。
    8. 检查 Available(可用)列,并确保有足够的计算可用于要部署的节点配置。

有关可用计算配置的更多信息,请参阅计算配置

  1. OAA 要求在租户中提供两 (2) 个虚拟云网络 (VCN) 资源。要检查是否有足够的 VCN 可用,请执行以下操作:

    1. SERVICE 下拉菜单中选择 Virtual Cloud Network
    2. SCOPE 菜单中选择您的租户。
    3. 资源菜单中,选择 Virtual Cloud Networks Count(虚拟云网络计数)
    4. 检查可用列并确保至少有两 (2) 个 VCN 可用。
  2. OAA 要求一 (1) 个 100Mbps 负载平衡器资源可用:

    1. SERVICE 下拉菜单中选择 LbaaS
    2. SCOPE 菜单中选择您的租户。
    3. 资源菜单中,选择 100Mbps Load Balancer Count
    4. 检查可用列并确保至少有一 (1) 个负载平衡器可用。
  3. OAA 要求一 (1) 个 OKE 群集可用:

    1. SERVICE 下拉菜单中选择 Container Engine
    2. SCOPE 菜单中选择您的租户。
    3. 资源菜单中,选择基本群集计数
    4. 检查可用列并确保至少有一 (1) 个可用。
  4. OAA 要求一 (1) 个文件系统资源和一 (2) 个装载目标资源可用:

    1. SERVICE 下拉菜单中选择 File Storage
    2. SCOPE 菜单中,选择可用性域。
    3. 检查可用列并确保至少有一 (1) 个资源可用于文件系统计数,以及两 (2) 个资源可用于挂载目标计数

有关资源的更多信息,请参阅区间限额

在 Oracle Cloud Marketplace 上预配 OAA

  1. 访问 Oracle Cloud Marketplace

  2. 搜索列表 Oracle Advanced Authentication 并选择它。

  3. 在 Oracle Advanced Authentication 列表中,检查 Version 详细信息显示版本:12.2.1.4.1-<DATE>

  4. 通过选择获取应用,将安装启动到您的租户中。

  5. 登录到您的租户。

  6. 在屏幕右上角,选择 OCI 区域。

  7. 选择将部署 OAA 实例的区间。

    :不要选择默认(根)区间。

    确保选中有关条款和条件的复选框。

  8. 单击启动堆栈

  9. Stack Information 屏幕中,根据需要编辑 Name(名称),并添加 Description(说明)。单击下一步

  10. Configure Variables(配置变量)屏幕中,如下所示输入变量,然后单击 Next(下一步)

    租户详细信息

    名称
    Region 区域应与 OCI 控制台的 URL 中提到的区域相同。
    Availability Domain 将部署 OAA 的可用性域。

    Oracle Kubernetes 引擎 (OKE)

    单击显示 OKE 高级选项

    名称
    OKE Nodepool Instance Shape 选择节点池计算的配置,例如 VM.Standard.E4.Flex
    OCPU Count 8
    Memory 64GB
    Size of the Node Pool 四 (4) 或以上。根据“OCI Prerequisites(OCI 先决条件)”部分,确保在为节点池配置选择的可用性域中检查计算资源的可用性。例如,如果指定四 (4) 个节点,请确保所选 VM 配置的四 (4) 个计算资源可用。

    堡垒—计算节点

    名称
    Bastion Instance Shape 选择堡垒的配置,例如:VM.Standard.E4.Flex。根据“OCI Prerequisites(OCI 先决条件)”部分,请确保在为堡垒节点选择的可用性域中检查计算资源的可用性。需要一 (1) 个所选 VM 配置的计算资源。
    OCPU Count 2
    Memory 16GB
    Common Password 要用于所有组件的公用密码。密码必须与正则表达式匹配:^[a-zA-Z0-9.\-/+=@_]*$|

    其余的变量可以按其默认值保留。

  11. 复查屏幕中,验证配置变量并选择创建

    这将触发将在 OCI 控制台中显示的作业。作业将显示为 IN PROGRESS ,在屏幕底部的 Logs(日志)部分中,将显示部署进度的详细信息。

    完成该作业大约需要 90 分钟。作业成功后,作业状态将显示 SUCCEEDED

将公共 IP 添加到本地主机文件

在此部分中,您将找到负载平衡器的公共 IP 地址。然后,将 IP 地址和主机名 (login.example.com) 添加到需要评估 OAA 的任何计算机的本地 hosts 文件中。

  1. 访问 OCI 控制台,然后从导航菜单中依次选择资源管理器 > 堆栈

  2. 从下拉列表中选择相关区间。将显示区间中的堆栈列表。选择刚刚创建的堆栈,例如 OAA

  3. 单击刚运行的作业。在资源部分中,单击作业的日志链接。

  4. Logs 输出中,使用浏览器搜索字符串 load_balancer_public_ip 。记下负载平衡器的公共 IP 地址。

  5. 将条目添加到本地主机文件,以将负载平衡器 IP 映射到定义的主机名。必须在需要评估 OAA 的所有计算机上执行此操作。

    :必须使用下面列出的主机名:

    <LB_PUBLIC_IP> login.example.com
    

下载可信证书颁发机构

在此部分中,您将下载对负载平衡器证书进行签名的证书颁发机构 (Certificate Authority,CA) 证书。然后,将 CA 证书导入到需要访问和测试 OAA 的任何浏览器中。

:如果您需要测试 OAA FIDO2 验证,并且还需要防止在访问 OAA 或 OAM URL 时在浏览器中出现证书错误,则需要执行此操作。

  1. 运行以下命令获取证书:

    openssl s_client -connect login.example.com:443 -showcerts </dev/null 2>/dev/null| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > certs.pem
    

    :如果在 Windows 环境中运行,请使用 Git Bash 执行上述命令。

  2. 编辑 certs.pemcerts.pem 包含两个证书。文件中的顶级证书是负载平衡器证书。文件中的底部证书是 CA 证书。复制 CA 证书(从 -----BEGIN CERTIFICATE----- 复制到 -----END CERTIFICATE-----)。

  3. 创建新文件 oaamktplaceca.pem 并将复制的证书粘贴到此文件并保存。

  4. oaamktplaceca.pem 复制到其浏览器将访问 OAA 和 OAM URL 的任何计算机。

  5. 将证书导入浏览器的 Trusted Certificate Authority 存储。如果需要,请查阅浏览器文档以了解更多详细信息。

通过 SSH 连接到堡垒主机

要通过 SSH 连接到堡垒主机:

  1. 访问 OCI 控制台,然后从导航菜单中依次选择资源管理器 > 堆栈

  2. 从下拉列表中选择相关区间。将显示区间中的堆栈列表。选择刚刚创建的堆栈,例如 OAA

  3. 单击刚运行的作业。在资源部分中,单击作业的查看状态链接。

  4. 查看状态窗口中,使用浏览器搜索来搜索字符串 ssh_to_bastion。在 value 行结尾处记下 IP 地址,例如:opc@<bastion_ip>

  5. 从同一 value 行复制显示的私钥数据(从 -----BEGIN RSA PRIVATE KEY---- 复制到 -----END RSA PRIVATE KEY-----\n)。创建文件(例如 oaamktplace.key),并将复制的值粘贴到文件中并保存:

    -----BEGIN RSA PRIVATE KEY-----\nXXXXXXXXXXXXYYYYYYYYYYYYYYPPPPPPPPPPP++YYYYY
    YYYYTTTTTTTTTTT\IIIIIIIIIhhhhjjuuuuuu/VVVuuuuuuuuuuu908888/zdS1UCdLr/Q2q9yd12
    etc.....................................................................
    +Qjl5\nxOByCUtZ8TbRbQMgEA/6G6wzVQ+mjCPy0n0ykxhWaHVj22ytfxKtApNLjwhtlZm
    \npD58jI0CgYEAv3GvEcfVPg92KmN8OH+hSrkLzz22bemNqioRvKi2mXBwfk0xu0kK\nvTdjVqwbD
    lCeAhISJxXdsT3J83pyeaGm6TrxBwUptJ8SzlZgFptpJffE1acAq8m\nXd7RoF2rBqZ5HHYYYYYkl
    kkk90zedjxPoJW6XxC3ljingatsgJzAixIMSc8=\n-----END RSA PRIVATE KEY-----\n
    
  6. 发出以下命令以转换删除“\n”字符并更改文件的权限:

    sed -i 's/\\n/\n/g' oaamktplace.key
    
    chmod 400 oaamktplace.key
    

    注意:管理员应注意以下事项:

    • 如果在 Windows 环境中运行,则可以使用 Git Bash 等工具运行该命令,或者在文本编辑器中编辑密钥文件并删除所有 "\n" 字符。
    • 在 Windows 上,不要运行 chmod 400 命令,而是将文件的属性更改为只读。

    打开 oaamktplace.key 文件并验证是否删除了 \n 字符。

  7. 使用私钥文件连接到堡垒主机:

    ssh -i oaamktplace.key opc@<bastion_ip>
    

    登录应成功。

验证 OAA 部署

在本节中,将检查 OAA 环境的所有组件是否正确运行,以及是否可以访问管理控制台和自助门户。

  1. 在堡垒主机上的 ssh 会话中,运行以下命令以检查 OAA pod 的状态:

    kubectl get pods -n oaans
    

    输出将与以下内容类似。所有 pod 都应为 READY 1\1RUNNING

    NAME                                READY   STATUS    RESTARTS   AGE
    edg-email-74766c4548-v58qd          1/1     Running   0          1h
    edg-fido-6d45456459-pbjw6           1/1     Running   0          1h
    edg-oaa-9c9bb4bf-r2fx9              1/1     Running   0          1h
    edg-oaa-admin-ui-79866b8fdc-8lh4z   1/1     Running   0          1h
    edg-oaa-drss-6b47b788b6-8xtlk       1/1     Running   0          1h
    edg-oaa-kba-686c76679c-29nfl        1/1     Running   0          1h
    edg-oaa-policy-6448db6fd8-bzjjb     1/1     Running   0          1h
    edg-push-77dc7db499-rcgp4           1/1     Running   0          1h
    edg-risk-59b856c99c-9qvhn           1/1     Running   0          1h
    edg-risk-cc-6fb6d7b94c-7z8vq        1/1     Running   0          1h
    edg-sms-688679d548-jlxpc            1/1     Running   0          1h
    edg-spui-86dd46d59f-rtgpn           1/1     Running   0          1h
    edg-totp-7f9db7894-mjx82            1/1     Running   0          1h
    edg-yotp-7c88b7fff5-wjjm4           1/1     Running   0          1h
    oaamgmt                             1/1     Running   0          1h
    
  2. 在计算机上打开 Web 浏览器并访问以下控制台。使用相关用户名登录,使用您在部署期间输入的 <COMMON_PASSWORD>。在访问下一个控制台之前,请确保已注销控制台:

    控制台 URL 用户名
    OAM 管理控制台 https://login.example.com/oamconsole weblogic_iam
    OAA 管理控制台 https://login.example.com/oaa-admin/index.html oaaadmin
    OAA 自助门户 https://login.example.com/oaa/rui oaauser1 - oaauser5

    注意:如果已将 CA 证书正确导入浏览器,则不应出现证书错误。

销毁或删除 OAA 堆栈

如果您需要销毁 OAA 堆栈以从失败的部署中清除,或者完全删除堆栈,请执行以下步骤:

:如果部署在创建堡垒主机之前失败,或者 invoke_oaa 未执行,则可能无法执行下面的步骤 1 和 2。如果任一情况,请直接转到步骤 3。

  1. 根据通过 SSH 连接到堡垒主机部分,通过 SSH 连接到堡垒主机。

  2. 在堡垒主机上运行以下命令:

    /home/opc/oaascripts/utils/delete_all.sh
    
  3. 在 OCI 控制台中,导航到 Developer Services > Resource Manager > Stacks

  4. 查找并单击 OAA 堆栈。

  5. 堆栈详细信息页上,单击销毁。这将启动销毁作业以销毁堆栈。

  6. 销毁作业成功后,如果需要完全删除堆栈,请单击面包屑中的堆栈详细信息,然后选择更多操作 > 删除堆栈

  7. 通过导航到 Developer Services > Kubernetes Clusters (OKE) ,确保集群已删除。否则,请手动删除群集。

  8. 终止集群时,也应自动终止实例。导航到计算 > 实例并检查实例是否已删除。如果未删除,则手动终止这些项。

  9. 通过导航到网络 > 负载平衡器来检查负载平衡器和文件存储。如果资源仍然存在,则手动终止资源。

  10. 通过导航到网络 > 虚拟云网络,检查 VCN 是否已销毁。如果未销毁,则手动终止 VCN。如果终止 VCN 时遇到问题,请按照子网或 VCN 删除中的“故障排除”部分进行操作。

  11. 通过导航到身份和安全 > 身份 > 策略,检查是否删除了身份策略。如果未销毁,则手动删除。

  12. 导航到身份和安全 > 身份 > 。选择根区间并选择域。单击 Dynamic Groups(动态组)并检查动态组是否已删除。如果未销毁,则手动删除。

  13. 完成以上步骤后,请等待几分钟,以确保清除所有资源。然后,通过导航到监管和管理 > 限额、限额和使用量,检查限制以确保这些资源现在是免费的。

下一个教程

要测试 MFA 流,请参见 Configuring Oracle Advanced Authentication and Validating End User Flow on Oracle Cloud Marketplace

反馈

要提供有关本教程的反馈,请联系 idm_user_assistance_ww_grp@oracle.com。

如需技术支持,请联系 Oracle 技术支持

致谢