OMS 网关中的自定义 TLS 证书配置

在 OMS Gateway 中配置自己的 TLS 证书,用于入口层和 OMS Gateway 之间的内部通信。

概述

使用 Sterling Intelligent Promising 操作符时,建议使用 TLS 证书确保入口和 OMS Gateway 之间的通信安全。 您可以出于多种原因为 OMS Gateway 提供自己的 TLS 证书,如遵守组织内部安全策略、使用由可信外部证书颁发机构 (CA) 签发的证书或自行管理证书生命周期。

如果您提供自己的 TLS 证书,还必须在入口处配置相应的 CA,以帮助确保通信安全。 但是,如果没有提供证书,操作员会自动为 OMS Gateway 生成自签名证书,并在入口处配置 CA。 自签名 TLS 证书的根证书存储在名为 sip-operator-ca 的 Kubernetes 秘密中,该秘密与操作员位于同一命名空间。 如有需要,您可以提取该 CA 并将其用于入口系统或外部系统。

TLS 证书流程

自带证书
您需要在 identitySecretName 属性中为 OMS Gateway 提供一个包含 TLS 证书的密文。 该证书用作 OMS Gateway 的身份证书。 您还必须通过注释在入口处配置相应的 CA。 有关详细信息,请参阅 TLS证书配置示例
没有自己的证书
如果未提供 identitySecretName,但启用了 TLS(即 sslEnabled: true),操作员将生成自签名证书,并在入口处配置相应的 CA。
非 TLS 模式
如果禁用 TLS(即 sslEnabled: false ),则使用 HTTP 通信,无需证书。

TLS 证书格式

使用以下属性在 Kubernetes 秘密中配置 TLS 证书 data
  • tls.crt:指定 PEM 格式的 Base64-encoded TLS 证书文件。
  • tls.key:以 PEM 格式指定与 TLS 证书相关联的 Base64-encoded私钥文件。
  • type:指定类型为 kubernetes.io/tls 以表示此密文包含 TLS 证书和密钥。
在 Kubernetes 秘密中配置 TLS 证书,如下例所示。
kind: Secret
apiVersion: v1
metadata:
  name: <oms-gateway-identity-cert>
  namespace: <sip-operator-namespace>
data:
  tls.crt: >-
    <Base64-encoded TLS certificate file in PEM format>
  tls.key: >-
    <Base64-encoded private key file associated with the TLS certificate, in PEM format>
type: kubernetes.io/tls