使用 OCI IAM 应用网关保护传统应用
简介
Oracle 应用网关是一款软件设备,可用于将托管在计算实例、云基础设施或内部部署服务器上的应用与 Oracle Cloud Infrastructure 集成,以进行身份验证。
应用程序网关充当反向代理,通过限制对 Web 应用程序的未经授权的网络访问来保护它们。App Gateway 拦截对这些应用的任何 HTTP 请求,并确保用户在将请求转发到这些应用之前通过 OCI Identity and Access Management (IAM) 进行验证。应用程序网关将经过验证的用户身份传播到应用程序。
如果用户未通过 OCI IAM 的验证,则应用程序网关会将用户重定向到 OCI IAM 的“登录”页面进行身份证明验证。
目标
此教程演示如何使用 Oracle 应用网关通过添加与 OCI IAM 集成的身份验证和授权层来保护旧应用。这可以集中控制对旧环境的访问,确保对授权用户的安全性、监管和可见性。
Prerequisites
在 Oracle Cloud Infrastructure (OCI) 中配置应用程序网关之前,请确保您具有:
- 具有管理权限的 OCI 账户
- 已创建类型为 Enterprise 的身份域
- 访问在 OCI IAM 中配置的身份域
- 在 OCI IAM 中创建和管理企业应用的权限
- 已配置的网络环境
- 虚拟云网络 (VCN) 中的子网,用于托管应用程序网关
- 安全列表或网络安全组 (NSG) 中的安全规则,以允许端口 443 (HTTPS) 和后端应用程序端口上的流量
- 具有应用程序网关的服务器
- 运行 Linux 以安装 Cloud Gate Agent 的虚拟机 (VM) 或主机(NGINX + OCI IAM 模块)
- 在应用程序网关上启用 HTTPS 的有效或自签名 TLS 证书
- 可用的旧应用程序
- 必须在后端主机(HTTP 或 HTTPS)上运行
- 应用的地址和端口必须已知且可从 VCN 访问
- OCI IAM 中的用户和组
- 在身份域中预配的用户
- 配置为定义谁可以访问旧应用程序的组或分配
任务 1:下载 Oracle App Gateway OVA 并将其转换为 VMDK
-
单击域的域,设置,然后向下滚动到“下载”部分。Click the 3 dots to open the App Gateway for Identity Cloud Service menu and then click Download:

-
下载完成后,将 .ova 文件(VirtualBox 虚拟设备文件)从 .zip 文件解压缩到您的计算机。

-
要处理此文件,请导入。将 OVA 文件放入 VirtualBox 中。导入。OVA 文件将创建虚拟磁盘映像 ()。VDI) 文件。
-
将此 VDI 文件上载到 OCI 中的存储桶。

任务 2:在 OCI 中创建应用程序网关的定制映像
-
之后。存储桶中提供了 VDI 文件,请创建一个定制映像,以便在租户中的实例上使用。单击计算、定制映像:

-
单击导入映像:

-
填写并选择设置以创建自定义图像:

其中:
- 在区间中创建:在此处选择将创建定制映像的区间
- 名称:要创建的定制映像的名称
- 操作系统:保持选择 Oracle Linux
- 时段:选择从对象存储桶导入
- 对象存储信息:从上一步中选择对象存储和 .vdi 映像
- 图像类型:单击 VMDK
- 启动模式:单击仿真模式
填写此信息后,单击导入图像。导入完成后,您可以使用新创建的定制映像创建 OCI 实例。
任务 3:创建应用程序网关实例
-
要创建实例,请单击计算、实例:

-
单击创建实例

-
填写有关实例创建的信息,然后单击更改映像以选择在前面的步骤中创建的定制映像。

-
选择要使用自定义图像的字段:

其中:
- 我的图像:选择此项以使用您的自定义图像
- 自定义图像:将此项目保留选中状态
- 区间:选择创建定制映像的区间
- 定制映像名称:选择以前创建的应用程序网关映像
任务 4:验证应用程序网关服务器设置
要在创建应用程序网关服务器设置后对其进行验证,请使用 SSH 登录到终端:
ssh -i <path_private_key> oracle@<IP_servidor_app_gateway>
使用 'oracle' 用户的 SSH。此用户的密码可以在官方应用程序网关产品文档中找到,网址为: link 。
注:首次登录时必须更改密码。
任务 5:为应用程序网关服务器创建证书和私钥
访问实例后,创建 server.crt 和 server.key 以供应用程序网关使用,因为它将通过 HTTPS 进行操作。为此,请在服务器上运行以下命令:
-
创建 server.key:
openssl genrsa -out server.key 2048 -
要创建 server.crt,请执行以下操作:
openssl req -new -x509 -days 365 -key server.key -out server.crt
重要提示:记下 server.crt 和 server.key 文件存储在应用程序网关服务器上的路径。您需要以下信息才能在 OCI Web 控制台中完成应用程序网关配置:
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
创建 server.crt 和 server.key 文件后,我们可以在 OCI 控制台中注册应用程序网关。
注:
- 此实验室使用自签名 SSL 证书。因此,在使用应用程序网关测试对旧应用程序的访问时,我们肯定会在浏览器中遇到证书验证失败消息。
- 如果您的环境使用有效的 SSL,请访问 Oracle 应用程序网关文档以了解更多信息。
任务 6:在 OCI 控制台中注册应用程序网关
-
要注册应用程序网关,请在 OCI Web 控制台中单击身份和安全、域:

-
单击您的域名:

注:要使用应用程序网关,必须将您的身份域创建为 Enterprise 类型。
-
单击 App Gateways ,然后单击 Create app gateway :

-
在应用程序网关创建工作流中填写必需的信息,然后单击创建应用程序网关。创建后,您的应用程序网关详细信息将显示在屏幕上:

-
创建应用程序网关后,依次单击主机和添加主机:

-
输入有关在前面的步骤中创建的应用程序网关服务器的信息:
其中:
1:主机标识符:输入应用程序网关的名称
2:主机:这是以前创建的应用程序网关实例的 FQDN。要捕获此信息,请转到您的实例,单击网络选项卡并捕获 Internal FQDN 3:端口:输入将运行应用程序网关的端口(在本示例中,我们将使用端口 4443)
4:启用 SSL:在此练习中,应用程序网关将使用 SSL。因此,单击 SSL enabled
5:其他属性:输入以前创建的 SSL 设置
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; -
单击 Add host 。

-
创建应用程序网关后,它将在配置后显示在屏幕上:

-
单击详细信息选项卡,通过单击操作,激活应用程序网关来激活应用程序网关:

-
确认激活:

-
激活时,确认您的激活,并记下您的应用程序网关的客户端 ID 和客户端密钥(将其保存在安全的地方),以便在后续步骤中使用。

任务 7:配置应用程序网关服务器
在 OCI 控制台中配置应用程序网关后,需要配置应用程序网关服务器。下一步是使应用程序网关服务器能够与 OCI 域端点通信。
-
要测试与身份域端点的连接,请捕获其 FQDN。要捕获它,请在 OCI 控制台的身份域的“详细信息”页面中,单击“域 URL”行中的复制:

-
编辑
cloudgate-env文件以通过更改IDCS_INSTANCE_URL设置将身份域设置插入到应用程序网关中。在此设置中,您必须插入域端点的 FQDN(用于通过上面的 curl 执行访问测试的 FQDN):
-
要配置的下一个参数包括:
- CG_APP_TENANT:在此字段中输入租户 OCID
- CG_APP_NAME:输入应用程序网关的客户端 ID
- CG_APP_SECRET:输入应用程序网关的客户端密钥
-
最后一步,您需要验证应用程序网关服务器的解析程序是否可以在 OCI 中标识身份域端点的 IP 地址。要执行此操作,请运行以下命令:
nslookup <id_domain_endpoint_domain>
任务 8:配置应用程序服务器
-
对应用程序网关文件进行所有必要的更改后,需要运行该命令来配置应用程序网关。为此,请在
/scratch/oracle/cloudgate/ova/bin/setup目录中运行setup-cloudgate命令:
-
完全按照说明操作。确认在应用程序网关文件中配置的信息,并在出现提示时输入密码。配置完成后,验证应用程序网关是否正在使用以下命令:
/scratch/oracle/cloudgate/home/bin/cg-status
-
在验证服务器是否已启动且正在运行之后,您可以开始配置将使用应用程序网关功能的应用程序。
任务 9:使用 Oracle 应用网关保护传统应用
-
要使用 Oracle 应用程序网关保护传统应用程序,您需要配置对配置了应用程序网关的身份域的访问权限,然后单击集成应用程序,然后单击添加应用程序:

-
选择 Enterprise Application(企业应用程序)并单击 Launch workflow(启动工作流):

-
填写所有要求的信息,包括:
- 名称:将为要受应用程序网关保护的应用程序创建的企业应用程序的名称;
- 说明:输入要由应用程序网关保护的旧应用程序的说明;
- 应用程序 URL:添加用户当前用于访问旧应用程序的 URL。这是将由应用程序网关保护的应用程序的 URL。

-
单击提交。
创建完企业应用程序后,将显示包含其详细信息的屏幕。
-
单击 SSO 配置,然后单击编辑 SSO 配置以继续配置:

-
单击操作,然后单击添加资源:

-
配置 Oracle 应用网关将保护哪些旧应用资源。您可以逐个创建资源,将资源逐个添加到旧应用程序的 URL 中,并使用正则表达式来表示应用程序拥有的 URL 集合。

-
单击 Add resource 。
-
要配置资源管理器,请单击编辑 SSO 配置,向下滚动到“SSO 配置”页,选择添加托管资源,单击操作,然后单击添加托管资源:

-
在显示的页面上执行以下操作:
1:资源:选择新创建的资源(在本教程中,它是 Legacy-app-resource )
2:验证方法:为旧应用程序选择验证方法(例如,在此处,我们将使用表单或访问令牌)
3:名称/值:输入要发送到旧应用程序的 HTTP 标头的名称和值

-
最后,单击添加托管资源,然后单击保存更改。这将完成在 OCI IAM 中创建企业应用。此企业应用程序表示将由 Oracle 应用程序网关保护的旧应用程序。
-
创建企业应用程序后,通过单击操作菜单,然后单击激活来激活该应用程序:

-
确认您的激活:

任务 10:将企业应用程序与 Oracle 应用程序网关关联
-
要将企业应用程序与 Oracle 应用程序网关关联,您需要使用先前步骤中在身份域中配置的应用程序网关在 OCI 控制台中配置该应用程序网关。
-
返回到身份域的主屏幕,单击应用程序网关,然后单击您配置的应用程序网关的名称:

-
单击应用程序,然后单击添加应用程序:

-
在配置屏幕上,填写必需的信息:

其中:
1:应用程序:选择以前创建的应用程序
2:选择主机:选择为应用程序创建的主机
3:资源前缀:输入应通过应用程序网关访问应用程序的路由
4:源服务器:输入运行旧应用程序的服务器的 FQDN,然后输入运行应用程序的端口
-
最后,单击添加应用程序 。
完成所有配置后,您可以使用 Oracle 应用程序网关测试对旧应用程序的访问。
任务 11:使用 Oracle 应用程序网关测试旧应用程序访问
-
在配置了应用程序网关和企业应用程序之后,可以执行访问测试。为此,请打开浏览器并输入应用程序网关的公共地址及其配置的端口:

-
访问时,App Gateway 会将用户重定向到 OCI IAM,以便可以完成 OCI 登录。

-
登录后,将发生重定向,并将通过应用程序网关访问应用程序:

确认
- 作者:Rodrigo Pace de Barros(Oracle LAD A-Team 云安全解决方案工程师)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。