7.2. 暗号化の設定


Red Hat OpenShift サービス証明書またはカスタム TLS 証明書で、クライアントと Data Grid ノードとの間の接続を暗号化します。

7.2.1. Red Hat OpenShift サービス証明書を使用した暗号化

Data Grid Operator は、Red Hat OpenShift サービス CA によって署名された TLS 証明書を自動的に生成します。次に、Data Grid Operator は証明書およびキーをシークレットに格納し、それらを取得してリモートクライアントで使用できるようにします。

Red Hat OpenShift サービス CA が利用可能な場合、Data Grid Operator は以下の spec.security.endpointEncryption 設定を Infinispan CR に追加します。

spec:
  ...
  security:
    endpointEncryption:
      type: Service
      certServiceName: service.beta.openshift.io 1
      certSecretName: example-infinispan-cert-secret 2
1
Red Hat OpenShift Service を指定します。
2
サービス証明書 tls.crt とキー tls.key を含むシークレットに PEM 形式で名前を付けます。名前を指定しない場合、Data Grid Operator は <cluster_name>-cert-secret を使用します。
注記

サービス証明書は、Data Grid クラスターの内部 DNS 名を共通名 (CN) として使用します。以下に例を示します。

Subject: CN = example-infinispan.mynamespace.svc

このため、サービス証明書は OpenShift 内でのみ全面的に信頼することができます。OpenShift の外部で実行しているクライアントとの接続を暗号化する場合は、カスタム TLS 証明書を使用する必要があります。

サービス証明書は 1 年間有効で、有効期限が切れる前に自動的に置き換えられます。

7.2.2. Retrieving TLS Certificates

暗号化シークレットから TLS 証明書を取得して、クライアントトラストストアを作成します。

  • 以下のように、暗号化シークレットから tls.crt を取得します。
$ oc get secret example-infinispan-cert-secret \
-o jsonpath='{.data.tls\.crt}' | base64 --decode > tls.crt

7.2.3. 暗号化の無効化

クライアントが Data Grid との接続を確立するために TLS 証明書を必要としないように、暗号化を無効化することができます。

重要

Data Grid では、エンドポイントが spec.expose.type を介して OpenShift クラスターの外部に公開されている実稼働環境で暗号化を無効にすることは推奨しません。

手順

  • Infinispan CR の spec.security.endpointEncryption.type フィールドの値として None を設定し、変更を適用します。

    spec:
      ...
      security:
        endpointEncryption:
                type: None 1
    1
    Data Grid エンドポイントの暗号化を無効にします。

7.2.4. カスタム TLS 証明書の使用

カスタムの PKCS12 キーストアまたは TLS 証明書/キーのペアを使用して、クライアントと Data Grid クラスターとの間の接続を暗号化します。

前提条件

手順

  1. 暗号化シークレットを OpenShift namespace に追加します。以下に例を示します。

    $ oc apply -f tls_secret.yaml
  2. Infinispan CR の spec.security.endpointEncryption で暗号化シークレットを指定し、変更を適用します。

    spec:
      ...
      security:
        endpointEncryption: 1
                type: Secret 2
                certSecretName: tls-secret 3
    1
    Data Grid エンドポイントとの間のトラフィックを暗号化します。
    2
    暗号化証明書が含まれるシークレットを使用するように Data Grid を設定します。
    3
    暗号化シークレットに名前を付けます。

7.2.4.1. 証明書シークレット

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
data:
    tls.key:  "LS0tLS1CRUdJTiBQUk ..." 1
    tls.crt: "LS0tLS1CRUdJTiBDRVl ..." 2
1
base64 でエンコードされた TLS キーを追加します。
2
base64 でエンコードされた TLS 証明書を追加します。

7.2.4.2. キーストアシークレット

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
stringData:
    alias: server 1
    password: password 2
data:
    keystore.p12:  "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..." 3
1
キーストアのエイリアスを指定します。
2
キーストアのパスワードを指定します。
3
base64 でエンコードされたキーストアを追加します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.