在 Oracle Cloud Marketplace 上部署 Oracle Advanced Authentication
简介
本教程介绍了如何在 Oracle Cloud Marketplace 上部署 Oracle Advanced Authentication (OAA) 和相关产品以进行评估。
部署后,管理员可以使用 OAA 对受 Oracle Access Management (OAM) 保护的应用程序执行多因素身份验证 (MFA) 评估。
注意:管理员应注意以下事项:
- 此部署应仅用于评估目的,并且应仅用于非敏感数据。
- Oracle Cloud Marketplace 上的 OAA 当前不支持推送通知因素。
- Oracle Cloud Marketplace 上的 OAA 当前不支持 Oracle Universal Authenticator。
Oracle Cloud Marketplace 上的 OAA 使用 Oracle Kubernetes Engine (OKE) 部署在 Kubernetes (K8S) 集群中。Oracle Cloud Marketplace 上的部署部署部署了以下 Oracle 产品和组件:
- Oracle 数据库
- Oracle Unified Directory (OUD)
- Oracle Access Management (OAM)
- Oracle Advanced Authentication (OAA)
- Oracle HTTP Server (OHS)
部署的体系结构如下:
可用系数
OAA Marketplace 部署提供以下因素,无需任何进一步的管理员配置:
- 基于时间的一次性验证码 (Time-based One Time Passcode,TOTP) 和移动验证器
- FIDO2
- YubiKey
如果需要评估,以下因素需要在部署后添加管理员配置:
- 安全问题
- 电子邮件
- 短信
注:在所有情况下,最终用户都需要访问自助门户来添加要评估的因素。有关管理员和最终用户任务的更多信息,请参见下一教程部分。
已创建用户
部署会在 Oracle Unified Directory 中创建以下用户:
weblogic_iam
- 用于登录到 OAM 管理控制台的用户名。oaaadmin
- 用于登录到 OAA 管理控制台的用户名。oaauser1
、oaauser2
、oaauser3
、oaauser4
、oaauser5
- 最终用户通过 OAM 进行验证以及登录 OAA 自助门户的用户名。
已创建 NFS 卷
以下是 Oracle Cloud Marketplace 部署为 OAA 创建的 NFS 卷:
- <NFS_CREDS_PATH>:
/mnt/oaa/oaacredpv
- <NFS_CONFIG_PATH>:
/mnt/oaa/oaaconfigpv
- <NFS_VAULT_PATH>:
/mnt/oaa/oaavaultpv
- <NFS_LOGS_PATH>:
/mnt/oaa/oaalogpv
可以从堡垒节点访问这些卷。
有关 NFS 卷及其内容的更多信息,请参见 Configuring NFS Volumes 。
典型的最终用户流
以下是可以在 Oracle Cloud Marketplace 上使用 OAA 进行评估的典型流:
- 最终用户(例如
oaauser1
)在自助门户中为 MFA 配置其因素。 - 最终用户访问通过 OAM 和 OAA MFA 策略受保护的页面 (
bank-emp.html
)。 - 最终用户将重定向到 OAM 以使用其凭证 (
oaauser1
/<password>
) 登录。 - OAM 根据 OAA 策略触发 MFA。系统会要求用户使用配置的因素之一完成 MFA 或无密码验证。
- 验证成功后,将显示受保护页面。
OCI 先决条件
在 Oracle Cloud Marketplace 上部署 OAA 之前,您必须对 OCI 公共租户具有管理员访问权限。
下面显示了部署 OAA 所需的可用性域配额:
- 1 个 OKE 集群
- 节点池的 4 个计算节点(8 个 CPU,具有 64GB RAM)
- 堡垒的 1 个计算节点(2 个 CPU,具有 16GB RAM)
- 1 个文件系统,2 个挂载目标
- 1 个负载平衡器 (100 Mbps)
- 2 个具有 Internet、NAT 和服务网关的虚拟云网络 (VCN)
注:可选 - 建议为 OAA 部署创建新区间。请参阅创建区间。
要检查配额,请执行以下操作:
-
OAA 要求节点池有四 (4) 个或更多计算节点,并且需要在相应的可用性域中为堡垒提供一 (1) 个计算节点。要检查是否有足够的计算节点可用:
- 访问 OCI 控制面板并访问“Navigation(导航)”菜单。
- 导航到监管和管理 > 限制、配额和使用。
- 选中显示已过时的限制复选框。
- 从 SERVICE 下拉菜单中选择 Compute 。
- 从 SCOPE 菜单中,选择相应的可用性域。
- 从 COMPARTMENT 菜单中,选择 root 区间。
- 在资源菜单中,选择要检查的节点配置。必须选择允许 8 个 CPU(节点池为 64GB RAM)和 2 个 CPU 以及 16GB RAM(堡垒)的配置。
- 检查 Available(可用)列,并确保有足够的计算可用于要部署的节点配置。
有关可用计算配置的更多信息,请参阅计算配置。
-
OAA 要求在租户中提供两 (2) 个虚拟云网络 (VCN) 资源。要检查是否有足够的 VCN 可用,请执行以下操作:
- 从 SERVICE 下拉菜单中选择 Virtual Cloud Network 。
- 从 SCOPE 菜单中选择您的租户。
- 在资源菜单中,选择 Virtual Cloud Networks Count(虚拟云网络计数)。
- 检查可用列并确保至少有两 (2) 个 VCN 可用。
-
OAA 要求一 (1) 个 100Mbps 负载平衡器资源可用:
- 从 SERVICE 下拉菜单中选择 LbaaS 。
- 从 SCOPE 菜单中选择您的租户。
- 在资源菜单中,选择 100Mbps Load Balancer Count 。
- 检查可用列并确保至少有一 (1) 个负载平衡器可用。
-
OAA 要求一 (1) 个 OKE 群集可用:
- 从 SERVICE 下拉菜单中选择 Container Engine 。
- 从 SCOPE 菜单中选择您的租户。
- 在资源菜单中,选择基本群集计数。
- 检查可用列并确保至少有一 (1) 个可用。
-
OAA 要求一 (1) 个文件系统资源和一 (2) 个装载目标资源可用:
- 从 SERVICE 下拉菜单中选择 File Storage 。
- 从 SCOPE 菜单中,选择可用性域。
- 检查可用列并确保至少有一 (1) 个资源可用于文件系统计数,以及两 (2) 个资源可用于挂载目标计数。
有关资源的更多信息,请参阅区间限额。
在 Oracle Cloud Marketplace 上预配 OAA
-
搜索列表 Oracle Advanced Authentication 并选择它。
-
在 Oracle Advanced Authentication 列表中,检查 Version 详细信息显示版本:
12.2.1.4.1-<DATE>
。 -
通过选择获取应用,将安装启动到您的租户中。
-
登录到您的租户。
-
在屏幕右上角,选择 OCI 区域。
-
选择将部署 OAA 实例的区间。
注:不要选择默认(根)区间。
确保选中有关条款和条件的复选框。
-
单击启动堆栈。
-
在 Stack Information 屏幕中,根据需要编辑 Name(名称),并添加 Description(说明)。单击下一步。
-
在 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.\-/+=@_]*$| 其余的变量可以按其默认值保留。
-
在复查屏幕中,验证配置变量并选择创建。
这将触发将在 OCI 控制台中显示的作业。作业将显示为 IN PROGRESS ,在屏幕底部的 Logs(日志)部分中,将显示部署进度的详细信息。
完成该作业大约需要 90 分钟。作业成功后,作业状态将显示 SUCCEEDED 。
将公共 IP 添加到本地主机文件
在此部分中,您将找到负载平衡器的公共 IP 地址。然后,将 IP 地址和主机名 (login.example.com
) 添加到需要评估 OAA 的任何计算机的本地 hosts 文件中。
-
访问 OCI 控制台,然后从导航菜单中依次选择资源管理器 > 堆栈。
-
从下拉列表中选择相关区间。将显示区间中的堆栈列表。选择刚刚创建的堆栈,例如
OAA
。 -
单击刚运行的作业。在资源部分中,单击作业的日志链接。
-
在 Logs 输出中,使用浏览器搜索字符串 load_balancer_public_ip 。记下负载平衡器的公共 IP 地址。
-
将条目添加到本地主机文件,以将负载平衡器 IP 映射到定义的主机名。必须在需要评估 OAA 的所有计算机上执行此操作。
注:必须使用下面列出的主机名:
<LB_PUBLIC_IP> login.example.com
下载可信证书颁发机构
在此部分中,您将下载对负载平衡器证书进行签名的证书颁发机构 (Certificate Authority,CA) 证书。然后,将 CA 证书导入到需要访问和测试 OAA 的任何浏览器中。
注:如果您需要测试 OAA FIDO2 验证,并且还需要防止在访问 OAA 或 OAM URL 时在浏览器中出现证书错误,则需要执行此操作。
-
运行以下命令获取证书:
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 执行上述命令。
-
编辑
certs.pem
。certs.pem
包含两个证书。文件中的顶级证书是负载平衡器证书。文件中的底部证书是 CA 证书。复制 CA 证书(从-----BEGIN CERTIFICATE-----
复制到-----END CERTIFICATE-----
)。 -
创建新文件
oaamktplaceca.pem
并将复制的证书粘贴到此文件并保存。 -
将
oaamktplaceca.pem
复制到其浏览器将访问 OAA 和 OAM URL 的任何计算机。 -
将证书导入浏览器的 Trusted Certificate Authority 存储。如果需要,请查阅浏览器文档以了解更多详细信息。
通过 SSH 连接到堡垒主机
要通过 SSH 连接到堡垒主机:
-
访问 OCI 控制台,然后从导航菜单中依次选择资源管理器 > 堆栈。
-
从下拉列表中选择相关区间。将显示区间中的堆栈列表。选择刚刚创建的堆栈,例如
OAA
。 -
单击刚运行的作业。在资源部分中,单击作业的查看状态链接。
-
在查看状态窗口中,使用浏览器搜索来搜索字符串
ssh_to_bastion
。在value
行结尾处记下 IP 地址,例如:opc@<bastion_ip>
。 -
从同一
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
-
发出以下命令以转换删除“\n”字符并更改文件的权限:
sed -i 's/\\n/\n/g' oaamktplace.key
chmod 400 oaamktplace.key
注意:管理员应注意以下事项:
- 如果在 Windows 环境中运行,则可以使用 Git Bash 等工具运行该命令,或者在文本编辑器中编辑密钥文件并删除所有 "\n" 字符。
- 在 Windows 上,不要运行
chmod 400
命令,而是将文件的属性更改为只读。
打开
oaamktplace.key
文件并验证是否删除了\n
字符。 -
使用私钥文件连接到堡垒主机:
ssh -i oaamktplace.key opc@<bastion_ip>
登录应成功。
验证 OAA 部署
在本节中,将检查 OAA 环境的所有组件是否正确运行,以及是否可以访问管理控制台和自助门户。
-
在堡垒主机上的 ssh 会话中,运行以下命令以检查 OAA pod 的状态:
kubectl get pods -n oaans
输出将与以下内容类似。所有 pod 都应为
READY 1\1
和RUNNING
: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
-
在计算机上打开 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。
-
根据通过 SSH 连接到堡垒主机部分,通过 SSH 连接到堡垒主机。
-
在堡垒主机上运行以下命令:
/home/opc/oaascripts/utils/delete_all.sh
-
在 OCI 控制台中,导航到 Developer Services > Resource Manager > Stacks 。
-
查找并单击 OAA 堆栈。
-
在堆栈详细信息页上,单击销毁。这将启动销毁作业以销毁堆栈。
-
销毁作业成功后,如果需要完全删除堆栈,请单击面包屑中的堆栈详细信息,然后选择更多操作 > 删除堆栈。
-
通过导航到 Developer Services > Kubernetes Clusters (OKE) ,确保集群已删除。否则,请手动删除群集。
-
终止集群时,也应自动终止实例。导航到计算 > 实例并检查实例是否已删除。如果未删除,则手动终止这些项。
-
通过导航到网络 > 负载平衡器来检查负载平衡器和文件存储。如果资源仍然存在,则手动终止资源。
-
通过导航到网络 > 虚拟云网络,检查 VCN 是否已销毁。如果未销毁,则手动终止 VCN。如果终止 VCN 时遇到问题,请按照子网或 VCN 删除中的“故障排除”部分进行操作。
-
通过导航到身份和安全 > 身份 > 策略,检查是否删除了身份策略。如果未销毁,则手动删除。
-
导航到身份和安全 > 身份 > 域。选择根区间并选择域。单击 Dynamic Groups(动态组)并检查动态组是否已删除。如果未销毁,则手动删除。
-
完成以上步骤后,请等待几分钟,以确保清除所有资源。然后,通过导航到监管和管理 > 限额、限额和使用量,检查限制以确保这些资源现在是免费的。
下一个教程
要测试 MFA 流,请参见 Configuring Oracle Advanced Authentication and Validating End User Flow on Oracle Cloud Marketplace 。
反馈
要提供有关本教程的反馈,请联系 idm_user_assistance_ww_grp@oracle.com。
如需技术支持,请联系 Oracle 技术支持。
致谢
- 作者 — Russ Hodgson
Deploying Oracle Advanced Authentication on Oracle Cloud Marketplace
G36601-01
Copyright ©2025, Oracle and/or its affiliates.