OMSゲートウェイにおけるカスタムTLS証明書の設定

イングレス層とOMSゲートウェイ間の内部通信用に、OMSゲートウェイに独自のTLS証明書を設定します。

概要

Sterling Intelligent Promising オペレータを使用する場合、イングレスとOMSゲートウェイ間の通信を保護するためにTLS証明書を使用することを推奨します。 OMS ゲートウェイに独自の TLS 証明書を提供できるのは、組織内部のセキュリティ・ポリシーに準拠するため、信頼できる外部の認証局(CA)によって署名された証明書を使用するため、または証明書のライフサイクルを独自に管理するためなど、いくつかの理由があります。

独自のTLS証明書を提供する場合は、安全な通信を確保するために、イングレスに対応するCAも設定する必要がある。 ただし、証明書が提供されない場合、オペレータは自動的に OMS ゲートウェイ用の自己署名証明書を生成し、イングレスに CA を設定する。 自己署名TLS証明書のルート証明書は、Operatorと同じ名前空間にあるsip-operator-caという名前のKubernetesシークレットに格納されます。 必要に応じて、このCAを取り出し、イングレスや外部システムで使用することができる。

TLS証明書の流れ

証明書付き
OMS ゲートウェイ用の TLS 証明書を含むシークレットを identitySecretName プロパティに指定します。 この証明書は、OMS ゲートウェイの ID 証明書として使用される。 また、アノテーションを通じて、イングレスに対応するCAを設定する必要がある。 詳しくはTLS証明書の設定例を参照。
自分の証明書がない場合
identitySecretNameが提供されず、TLSが有効になっている場合、つまりsslEnabled: trueの場合、オペレーターは自己署名証明書を生成し、対応するCAをイングレスに設定します。
非TLSモード
TLSが無効になっている場合( sslEnabled: falseHTTP 通信が使用され、証明書は必要ありません。

TLS証明書フォーマット

以下の属性を使用して、Kubernetes シークレットにTLS証明書dataを設定します。
  • tls.crt: PEM形式のBase64-encoded TLS証明書ファイルを指定します。
  • tls.key: TLS証明書に関連付けられたBase64-encoded秘密鍵ファイルをPEM形式で指定する。
  • type: このシークレットにTLS証明書と鍵が含まれていることを示すために、タイプをkubernetes.io/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