自動クライアント/サーバーTLS暗号化のためのTimesTenClassicオブジェクトの構成について

TimesTenClassicオブジェクト定義に.spec.ttspec.clientTLSセクションを含めることで、TimesTenClassicオブジェクトをカスタマイズして、自動クライアント/サーバーTLS暗号化を有効にできます。TimesTenClassicオブジェクト定義に.spec.ttspec.clientTLSセクションを含め、.spec.ttspec.clientTLS.autotrueに設定すると、TimesTenオペレータにより、自己署名証明書が作成され、それらの証明書をクライアント/サーバーの暗号化に使用するようTimesTenが構成されます。

次に、.spec.ttspec.clientTLSを使用するTimesTenClassicオブジェクトのスニペットを示します。
apiVersion: timesten.oracle.com/v4
kind: TimesTenClassic
metadata:
  name: sampletls
spec:
  ttspec:
    storageClassName: oci-bv
    clientTLS:
      auto: true
      ciphersuites: SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      eccurve: p256
      encryption: required
      signAlg: ecdsasha384
      validity: 365  
    storageSize: 10Gi
    image: container-registry.oracle.com/timesten/timesten:22.1.1.34.0
    imagePullSecret: sekret
    dbConfigMap:
    - sampletls
.spec.ttspec.clientTLSをさらに詳しく見てみましょう:
  • auto: 自動クライアント/サーバー暗号化を有効にするかどうかを決定します。autotrueに設定すると、自動クライアント/サーバー暗号化が有効になります。デフォルトは、falseです。falseに設定すると、このTimesTenClassicオブジェクトでは自動クライアント/サーバー暗号化は行われません。

  • ciphersuites: クライアント/サーバー通信に使用される暗号スイートを定義します。1つ以上の暗号スイートを指定できます。複数の暗号スイートがある場合は、カンマ区切りのリストを使用し、優先順に暗号スイートをリストします。この例では、SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384を指定します。

    最初にTimesTenオペレータは、db.iniファイルにciphersuitesエントリがあるかどうかを確認します。
    • エントリがある場合、TimesTenオペレータはそのエントリを使用します。

    • エントリがない場合、TimesTenオペレータは.spec.ttspec.clientTLS.ciphersuitesで指定された値を使用します。

    • .spec.ttspec.clientTLS.autotrueで、db.iniファイルと.spec.ttspec.clientTLS.ciphersuitesのどちらにも値が指定されていない場合、TimesTenオペレータは値をSSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256に設定します。

    TimesTenオペレータは、ciphersuites値をTimesTenサーバーのsys.odbc.iniファイルに追加します。

  • eccurve: 楕円曲線署名アルゴリズムを定義します。この例では、p256を指定します。

    TimesTenオペレータはTimesTen ttCreateCertsユーティリティを実行するときに、TimesTen ttCreateCertsユーティリティの-eccurveオプションに.spec.ttspec.clientTLS.eccurve値を指定します。値を指定しない場合、デフォルトはp384です。サポートされている値のリストは、TimesTenClassicSpecSpecClientTLSを参照してください。

  • encryption: クライアント/サーバー・アクセスの暗号化設定を定義します。この例では、requiredを指定します。

    最初にTimesTenオペレータは、オブジェクトのdb.iniファイルにencryptionエントリがあるかどうかを確認します。
    • エントリがある場合、TimesTenオペレータはそのエントリを使用します。

    • エントリがない場合、TimesTenオペレータは.spec.ttspec.clientTLS.encryptionで指定された値を使用します。

    • .spec.ttspec.clientTLS.autotrueで、db.iniファイルと.spec.ttspec.clientTLS.encryptionのどちらにも値が指定されていない場合、デフォルトはacceptedです。サポートされている値のリストは、TimesTenClassicSpecSpecClientTLSを参照してください。

    TimesTenオペレータは、encryption値をTimesTenサーバーのsys.odbc.iniファイルに追加します。

  • signAlg: 楕円曲線署名アルゴリズムを定義します。この例では、ecdsasha384を指定します。

    TimesTenオペレータはTimesTen ttCreateCertsユーティリティを実行するときに、TimesTen ttCreateCertsユーティリティの-sign_algオプションに.spec.ttspec.clientTLS.signAlg値を指定します。値を指定しない場合、デフォルトはecdsasha384です。サポートされている値のリストは、TimesTenClassicSpecSpecClientTLSを参照してください。

  • validity: 作成された証明書が有効な日数を定義します。この例では、365を指定します

    TimesTenオペレータはTimesTen ttCreateCertsユーティリティを実行するときに、TimesTen ttCreateCertsユーティリティの-validityオプションに.spec.ttspec.clientTLS.validity値を指定します。値を指定しない場合、デフォルトは3650です。サポートされている値のリストは、TimesTenClassicSpecSpecClientTLSを参照してください。

詳細は、次を参照してください。