使用 Thales CipherTrust Manager 和 OCI API Gateway 设置 OCI Hold Your Own Key

简介

本教程提供了使用 Oracle Cloud Infrastructure (OCI) API Gateway 选项设置“Hold Your Own Key (HYOK) with Thales CipherTrust Manager (CTM)”的分步说明。

图像

通过 HYOK,您可以在 Oracle 基础设施外部托管加密密钥,从而保留对加密密钥的完全所有权和控制权,同时允许 Oracle 服务安全地使用加密密钥。在此设置中,OCI API Gateway 在 Oracle Cloud Infrastructure External Key Management Service (OCI External KMS) 与 Thales CipherTrust Manager 实例之间起着安全、可管理且可扩展的桥梁作用。

为什么要使用 OCI API Gateway?

通过在 OCI External KMS 和 Thales CipherTrust Manager 之间插入 OCI API Gateway,您可以获得:

在本教程的 rest 中,您将配置所有必需的基础设施组件,包括网络、DNS、证书管理、身份联盟,最后使用外部密钥与 OCI Vault 和 OCI 对象存储集成。

图像

本教程基于教程中建立的 technical foundation: Set Up Two Thales CipherTrust Cloud Key Manager Appliances in OCI,Create a Cluster between them,and Configure One as a Certificate Authority

如果要使用不带 OCI API Gateway 选项的 Thales CipherTrust Manager 实施 Hold Your Own Key (HYOK) ,请遵循以下教程:使用不带 API Gateway 的 CipherTrust Manager 设置 OCI Hold Your Own Key (HYOK)

注意:在本教程中,术语 Thales CipherTrust Cloud Key Manager (CCKM) 和 Thales CipherTrust Manager (CTM) 可以互换使用。两者均指同一产品。

目标

图像

下图说明了本教程中所有步骤的组件和配置设置。

图像

任务 1:查看云网络体系结构

在我们深入了解使用 Thales CipherTrust Manager 配置 Hold Your Own Key (HYOK) 的技术步骤之前,必须了解此设置所在的云网络体系结构。

在此场景中,使用了三个 OCI 区域:

使用远程对等连接 (Remote Peering Connections,RPC) 在两个模拟的内部部署数据中心之间建立连接。但是,对于本教程,VPN 设置、RPC 配置和中心辐射型 VCN 体系结构详细信息被视为超出范围,不会被覆盖。

本教程的重点是使用部署在阿姆斯特丹 (AMS) 区域中的 Thales CipherTrust Manager 设置 HYOK,该区域是模拟的内部部署数据中心之一。将从此 Thales CipherTrust Manager 实例执行所有密钥管理操作。

通过外部密钥管理器专用,OCI 可以与外部 Thales CipherTrust Manager 安全通信,并将部署在主 OCI 区域中的一个分支 VCN 中。这可确保 OCI 服务与外部密钥管理器之间的安全直接通信路径,而不会向公共互联网公开流量。

此架构通过在明确定义的安全网络边界内隔离密钥管理,为 OCI 中的敏感工作负载提供强大的安全性和合规性状况。

下图显示了完整的体系结构。

图像

任务 2:为所有位置配置 OCI DNS

为了确保 OCI、API 网关和 Thales CipherTrust 管理器之间正确通信,您必须使用 OCI 控制台中的专用 DNS 区域为所有相关组件配置 DNS 解析。

下图说明了此任务中的组件和配置设置。

图像

在本教程中已为 AMS 和 ASH 配置 OCI DNS,请参见 Set Up Two Thales CipherTrust Cloud Key Manager Appliances in OCI,Create a Cluster between them,and Configure One as a Certificate Authority 。使用相同的教程在 FRA 的 Hub VCN 中配置 DNS。

我们有两个选项来启用来自辐条企业 A VCN 的 DNS 解析,为辐条企业 A 配置单独的专用视图,或将中心 VCN 的专用视图与辐条企业 A 关联。

在此设置中,我们将通过将中心专用视图与分支 A VCN 关联来使用后一种方法。

正确的 DNS 设置是 OCI 与 Thales CipherTrust Manager 之间的相互 TLS、OAuth 验证和可靠连接的关键基础。

在继续进行证书配置之前,请仔细检查您的 DNS 区域关联和名称解析。

任务 3:为 OCI API 网关创建证书

要在 OCI 与 Thales CipherTrust Manager 之间启用安全 TLS 通信,OCI API 网关必须提供可信的 SSL 证书。在此设置中,将通过以下方式创建证书:首先在 CTM1 证书颁发机构 (Certificate Authority,CA) 上生成证书签名请求 (Certificate Signing Request,CSR) ,然后使用该 CA 对证书进行签名。

签名证书后,该证书将上载到 OCI 并附加到 OCI API Gateway,从而为内部系统信任的加密流量提供服务。下图说明了为 OCI API Gateway 创建签名证书的步骤。 图像

仅在 AMS CTM 上执行这些步骤。

除了对单个 Thales CipherTrust Manager 证书进行签名之外, CA 根证书是信任链的重要组成部分。此根证书为 Thales CipherTrust 管理器作为证书颁发机构 (CA) 颁发的所有证书建立信任的基础。

此证书稍后将附加到 OCI API Gateway 部署,以便 OCI 使用在您的环境中颁发和可信的证书通过 HTTPS 安全地与 Thales CipherTrust Manager 通信。

任务 4:使用 CA 包上载已签名的 OCI API 网关证书

使用 CTM1 Certificate Authority (CA) 生成并签名 OCI API Gateway 证书后,下一个任务是在 OCI 中上载此证书以与 OCI API Gateway 部署关联。

这可确保与 OCI API Gateway 的任何通信(例如来自 OCI External KMS 的请求)都通过使用内部证书颁发机构的可信加密 TLS 连接进行。

让我们先从上传根 CA 证书开始。

现在,让我们上载 OCI API Gateway 的签名证书。

注:如果证书上载失败,可能是由于生成 CSR 时使用的算法所致。OCI 未接受使用 ECDSA 算法的证书。为了解决此问题,我们使用 RSA 算法重新生成了 CSR,该算法已成功运行。

上载后,此证书将可用于附加到您的 API Gateway 部署,以便它向 OCI 服务(例如 OCI External KMS)提供可信的身份。此任务对于在 Oracle 和您的外部密钥管理器之间启用基于证书的安全信任至关重要。

任务 5:确保允许专用端点从防火墙/安全列表/网络安全组与 OCI API 网关通信

在部署 OCI API Gateway 或测试 OCI 与 Thales CipherTrust Manager 之间的集成之前,务必确保在 OCI External KMS 和 OCI API Gateway 使用的专用端点之间建立网络连接。

注:

图像

注:如果 OCI API 网关在部署期间无法通过其 FQDN 访问 Thales CipherTrust 管理器,则它可能无法变为活动状态。因此,确保专用端点与 OCI API Gateway 之间的清晰、安全的网络路径是成功 HYOK 集成的关键先决条件。

任务 6:创建 OCI API 网关

上载签名 TLS 证书后,下一个任务是创建 OCI API 网关,该网关将用作 OCI 与 Thales CipherTrust 管理器通信的安全入口点。

此 OCI API 网关稍后将配置为使用其全限定域名 (FQDN) 将请求路由到 CTM,并使用上载的 TLS 证书强制实施安全通信。

下图说明了此任务中的组件和配置设置。

图像

注:如果 OCI API Gateway 部署无法通过配置的后端 URL 访问 Thales CipherTrust Manager,则该部署可能会失败。要避免这种情况,请确保:

部署期间无法访问的后端将导致运行状况检查失败,从而导致部署错误或处于非活动状态。

此 OCI API Gateway 稍后将用于部署,以公开 OCI External KMS 可以调用的端点。该网关充当 OCI 与 Thales CipherTrust Manager 之间的安全、经过验证的代理,可实施 TLS 和身份验证。

任务 7:使用 FQDN 详细信息创建 API 部署

现在,OCI API 网关已创建并且证书已就位,下一个任务是创建 API 部署。这具体定义了网关的路由行为,以及如何使用 OCI External KMS 内部 FQDN 将来自 OCI External KMS 的传入请求转发给 Thales CipherTrust Manager。

部署桥接 OCI 和 Thales CipherTrust Manager,可处理基于路径的路由以及入站请求的 TLS 终止。

下图说明了此任务中的组件和配置设置。

图像

部署处于活动状态后,OCI API Gateway 可以将经过验证的请求从 OCI 安全地转发到 Thales CipherTrust 管理器。此处的 FQDN 配置至关重要,请确保它与 Thales CipherTrust Manager 证书中的 Common Name (CN)SAN 匹配,并通过 DNS 正确解析。

此部署将充当 OCI External KMS 调用与 Thales CipherTrust Manager 中托管的外部密钥交互的关键端点。

任务 8:创建机密资源应用程序,关联机密客户端应用程序(应用程序集成)并在 OCI 中收集客户端和密钥

要启用 HYOK 与 Thales CipherTrust Manager 的集成,必须在 OCI 和外部密钥管理器之间建立信任。

这是通过在 OCI Identity and Access Management (OCI IAM) 中注册两个关键组件来实现的:机密资源应用程序机密客户端应用程序。这些功能对于验证和授权 OCI 与 Thales CipherTrust Manager 之间的通信至关重要。

通过此设置,Thales CipherTrust Manager 可以通过 OCI IAM 到 OAuth 2.0 进行验证。机密客户机代表外部密钥管理器执行操作,而机密资源定义了访问和信任配置的范围。如果没有这些组件,OCI 无法验证外部密钥源或安全地与外部密钥源通信。

下图说明了此步骤中的组件和配置设置。

图像

注:

任务 9:从 OCI 收集身份域 URL

要在 OCI 与 Thales CipherTrust Manager 之间启用基于 OAuth 的通信,需要在 Thales CipherTrust Manager 中配置身份提供者期间提供身份域 URL

任务 10:在 Thales CipherTrust Manager 中创建身份提供者

在此任务中,您将在 Thales CipherTrust 管理器中配置身份提供者。此设置允许 Thales CipherTrust Manager 使用在任务 3 中创建的 OAuth 2.0 身份证明通过 OCI 进行验证。

下图说明了此任务中的组件和配置设置。

图像

任务 11:在 Thales CipherTrust Manager 中添加 OCI 租户

在 Thales CipherTrust Manager 中配置身份提供者后,下一个任务是注册 OCI 租户。这允许 Thales CipherTrust Manager 使用以前配置的 OAuth 身份证明代表您的 OCI 环境管理外部 Vault 和密钥。

下图说明了此任务中的组件和配置设置。

图像

任务 12:在 OCI 中为外部密钥管理器服务创建专用端点

要安全地将 OCI 连接到 Thales CipherTrust Manager,而不向公共互联网公开流量,必须为 OCI 外部密钥管理服务创建专用端点

这可确保 OCI 与 Thales CipherTrust Manager 之间的所有通信都通过受控的专用网络路径进行。

请确保满足以下先决条件:

下图说明了此任务中的组件和配置设置。

图像

任务 13:在 Thales CipherTrust Manager 中添加外部 Vault

实施 OCI 租户和专用端点后,下一个任务是在 Thales CipherTrust Manager 中添加 External Vault 。Thales CipherTrust Manager 中的外部 Vault 是一个逻辑容器,它映射到 OCI 中的外部密钥管理 Vault,使 Thales CipherTrust Manager 能够管理用于 HYOK 加密的密钥。

下图说明了此任务中的组件和配置设置。

图像

配置后,此 Vault 将成为用于存储 OCI 服务将引用的外部密钥的目标位置。它可以桥接您的 OCI 环境和 CipherTrust 管理的密钥,从而全面控制 HYOK 模型中的加密操作。

任务 14:创建 OCI External Key Management Service Vault

在 Thales CipherTrust Manager 中定义了外部 Vault 后,下一个任务是在 OCI 控制台中创建对应的外部密钥管理 Vault

此 OCI Vault 将链接到您的 Thales CipherTrust Manager,OCI 服务将使用外部密钥执行加密和解密操作。

下图说明了此任务中的组件和配置设置。

图像

OCI 现在将使用指定的专用端点连接到 Thales CipherTrust Manager。此 Vault 处于活动状态后,它将成为 OCI 与 CCKM 管理的外部密钥进行交互的界面,支持 HYOK 支持 OCI 对象存储、OCI 块存储卷等 OCI 服务。稍后,我们将使用 OCI Object Storage 执行一些测试。

任务 15:在 Thales CipherTrust Manager 中添加外部关键字

通过在 Thales CipherTrust Manager 中设置外部 Vault 并链接到 OCI,下一个任务是创建或导入 OCI 将用于启用 HYOK 的服务的外部加密密钥。

这些密钥安全地驻留在 Thales CipherTrust Manager 中,由 OCI 通过外部密钥管理界面引用。根据您的组织要求,您可以直接在 Thales CipherTrust Manager 中生成新密钥或导入现有密钥。

下图说明了此任务中的组件和配置设置。

图像

添加密钥后,OCI 将通过外部密钥管理 Vault 提供该密钥。但是,要允许 OCI 服务使用该密钥,您必须在 OCI 控制台中创建密钥参考,我们将在下一个任务中介绍该参考。

注:

任务 16:在 OCI 中创建密钥引用

外部密钥创建或导入 Thales CipherTrust 管理器后,下一个任务是在 OCI 控制台中创建密钥引用。密钥引用用作指针,允许 OCI 服务通过外部密钥管理 Vault 访问和使用存储在 Thales CipherTrust Manager 中的外部密钥。

下图说明了此任务中的组件和配置设置。

图像

OCI 现在会将此密钥引用与 Thales CipherTrust Manager 中管理的外部密钥关联。这使得 OCI Object Storage、OCI Block Volumes 等 OCI 服务能够通过专用端点将加密请求发送到外部密钥。相比之下,关键材料本身完全由您控制。

我们将通过将密钥引用附加到 OCI 对象存储桶来立即测试密钥引用,以验证集成是否按预期工作。

任务 17:使用客户管理的密钥创建 OCI 对象存储桶

您可以使用 OCI 中引用的外部密钥加密资源。在此任务中,我们将创建一个 OCI Object Storage 存储桶,该存储桶使用通过外部密钥管理 Vault 在 Thales CipherTrust Manager 上托管的外部客户管理的密钥。

此设置可确保存储桶中存储的所有对象使用您完全控制的密钥进行加密,从而满足严格的合规性、主权或内部策略要求。

下图说明了此任务中的组件和配置设置。

图像

创建存储桶后,存储在其中的所有数据都将使用 Thales CipherTrust Manager 管理的外部密钥进行加密。这可确保 OCI 依赖您的关键基础设施进行访问和控制,从而实现完整的“自持密钥”(HYOK) 功能。

假设外部密钥变得不可用(例如,在 Thales CipherTrust Manager 中禁用或阻止)。在这种情况下,将拒绝对存储桶及其内容的访问,从而为您的数据安全状况提供强大的控制点。这是我们将在下一个任务中测试的内容。

任务 18:在 Thales CipherTrust Manager 和 OCI 中块和解锁 Oracle 密钥并测试 OCI 对象存储存储桶可访问性

"Hold Your Own Key"(自持密钥)(HYOK) 模式的主要优势之一是能够对加密密钥保持完全的运行控制,包括随时阻止或取消阻止加密密钥。本节演示如何使用 Thales CipherTrust Manager 通过阻止或取消阻止外部密钥来控制对 Oracle 托管的对象存储桶的访问。

阻止密钥可以有效地限制对使用该密钥加密的任何 OCI 资源的访问,而不会删除密钥或数据。取消阻止将恢复访问。

图像

现在,让我们再次解锁 Thales CipherTrust Manager 中的密钥。

下图说明了此任务中的组件和配置设置。

图像

此功能为紧急响应、法规合规性和数据主权实施提供了强大的机制,可确保您完全控制在 OCI 中访问数据的时间和方式。

后续步骤

学完本教程后,您就可以使用带有 OCI API Gateway 集成选项的 Thales CipherTrust Manager 成功设置了 OCI Hold Your Own Key 解决方案。

您具有:

在此设置中使用 OCI API Gateway 提供了一个安全、可扩展的集成点,可实施身份验证、增强可观察性,并在受控界面后抽象密钥管理器,确保合规性、控制力和灵活性。

此架构可确保加密密钥从未在 OCI 中存储或管理,但仍可在需要时用于安全操作,从而满足严格的数据主权、合规性和监管要求。

现在,您已具备在 OCI 中实现外部密钥管理的生产就绪蓝图,该蓝图具有对加密资产的完全所有权、可见性和控制权。

确认

更多学习资源

通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心