关于安全 TLS 证书部署

此解决方案为需要在 Oracle Cloud Infrastructure Vault 密钥不可变性成为阻止因素的环境中使用可信 TLS 证书的企业提供了一种安全、灵活和合规的方法。 它有效地弥合了 OCI 本机安全模型与多个 Oracle 和非 Oracle 服务的实际集成要求之间的差距。

在 Web 服务器或应用服务器上实施安全 TLS 通信时,必须访问以下组件:

  • TLS 证书
  • 根和中间(证书链)
  • 对应的私钥

Oracle Cloud Infrastructure (OCI) 提供原生证书管理服务,支持创建和生命周期管理要在 OCI 管理的服务中使用的证书。在此模型中,私钥安全地存储在 OCI Vault 中,最终用户或外部系统无法访问私钥。虽然这增强了安全性,但它在需要完全证书和密钥控制的场景(例如部署到外部应用服务器或混合环境)中限制了灵活性。当尝试将 OCI Certificates 中的证书颁发机构 (CA) 用于需要直接访问证书和私钥的系统时,会带来挑战。

当与服务集成时,这会特别成问题,例如:

  • Oracle Analytics Cloud
  • Oracle Integration
  • 托管在 OCI Compute 上的 Web 服务器
  • 本地或边缘应用

这些平台通常需要对 TLS 证书进行完全控制,包括访问私钥的能力,以便支持 SSL/TLS 会话的安全通信和终止。

此解决方案手册引入了跨产品解决方案,通过将 OCI CA 用于混合环境来解决此限制:

  • 您可以在 OCI 外部的本地生成私钥和证书签名请求 (certificate signing request,CSR)。
  • 然后,企业社会责任由 OCI 证书 CA 签名,从而在 OCI 生态系统中保持信任。
  • 生成的签名证书与本地生成的私有密钥相结合,并部署到需要它的任何服务—无论是在 OCI、本地还是其他云端。

下图说明了此流程。



此方法最适合:

  • 具有成本效益的自签名证书足以满足的非生产设置。
  • 需要同时进行证书和私钥控制的环境(例如定制服务器或内部部署集成)。
  • OCI 管理的证书(隐藏私钥)与外部系统不兼容的情况。

使用须知

在开始之前,需要:

  • OCI Vault ,用于安全地存储 OCI 中设置的私钥。
  • OCI Certificates 证书颁发机构 (CA) 在 OCI 中设置并完全正常运行。
  • 访问本地计算机上的 OpenSSL 库,以便生成私钥。

关于必需的服务和角色

此解决方案需要以下服务和角色:

  • Oracle Cloud Infrastructure

这是服务所需的角色。

服务名称:角色 需要 ...
Oracle Cloud Infrastructure :管理员 管理区间中的 obects,读取或管理证书、存储桶、 Vault 和密钥(请参见下文)。

您可以对证书颁发机构管理员使用简单的策略,也可以设置管理员和动态组策略来隔离角色和责任并按区间限制这些角色和责任。例如:

### Simple Policy for Tenant Administrators
```
Allow group CertificateAuthorityAdmins to manage certificate-authority-family in tenancy
Allow group CertificateAuthorityAdmins to manage leaf-certificate-family in tenancy
Allow group CertificateAuthorityAdmins to read vaults in tenancy
Allow group CertificateAuthorityAdmins to read keys in tenancy
Allow group CertificateAuthorityAdmins to use key-delegate in tenancy
```

或:

### Policy for a Dynamic Group
```
Allow dynamic-group DynamicGroup to use keys in compartment DEF
Allow dynamic-group DynamicGroup to manage objects in compartment XYZ
```
### Policy for Compartment Administrators
```
Allow group CertificateAuthorityAdmins to manage certificate-authority-family in compartment ABC
Allow group CertificateAuthorityAdmins to read keys in compartment DEF
Allow group CertificateAuthorityAdmins to use key-delegate in compartment DEF
Allow group CertificateAuthorityAdmins to read buckets in compartment XYZ
Allow group CertificateAuthorityAdmins to read vaults in compartment DEF
```

观看 Oracle 产品、解决方案和服务,了解您的需求。