7.3. カスタム TLS 証明書を使用したデータベースクライアントとエンドポイント間の通信の暗号化
カスタム TLS 証明書を OpenShift に追加して、JDBC または ODBC クライアントと仮想データベースサービス間の通信を暗号化できます。カスタム証明書は信頼できるサードパーティーの認証局(CA)によって発行されるため、クライアントは証明書で CA 署名を認証できます。
OpenShift Pod がカスタム証明書を使用してトラフィックを暗号化するように設定するには、証明書の詳細を OpenShift シークレットに追加し、仮想データベースを作成する namespace にシークレットをデプロイします。サービスを作成する前に、シークレットを作成する必要があります。
前提条件
- 信頼されたサードパーティーの CA からの TLS 証明書がある。
- シークレットおよび仮想データベースを作成する OpenShift プロジェクトへの開発者または管理者アクセスがある。
手順
YAML ファイルを作成し、
kubernetes.io/tls
タイプのシークレットを定義し、以下の情報を追加します。- TLS キーペアの公開鍵と秘密鍵。
- 作成する仮想データベースの名前。
仮想データベースを作成する OpenShift namespace。
以下に例を示します。
apiVersion: v1 kind: Secret type: kubernetes.io/tls metadata: name: dv-customer 1 namespace: myproject 2 data: 3 tls.crt: >- -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- tls.key: >- -----BEGIN PRIVATE KEY----- [...] -----END PRIVATE KEY-----
-
ファイルを
tls_secret.yaml
として保存します。 端末ウィンドウを開き、シークレットを追加する OpenShift プロジェクトにサインインしてから、以下のコマンドを入力します。
$ oc apply -f tls_secret.yaml
TLS シークレットを OpenShift にデプロイした後に、Data Virtualization Operator を実行して、シークレットに指定された名前で仮想データベースを作成します。
Operator が仮想データベースを作成する場合、これはシークレットの名前を CR のサービスに指定した名前に一致します。次に、Operator はシークレットを使用してサービスとのクライアント通信を暗号化するようにサービスを設定します。