1.5. TLS 証明書の設定
Red Hat build of Cryostat Operator を指定して、特定のアプリケーションからの TLS 証明書を信頼するように Cryostat を設定できます。
Cryostat は、TLS 証明書を使用するターゲット JVM への JMX 接続を開くことを試みます。成功した JMX 接続では、Cryostat は、ターゲット JVM 証明書に認証チェックをすべて渡す必要があります。
Red Hat build of Cryostat Operator YAML 設定ファイルの trustedCertSecrets
配列で複数の TLS シークレットを指定できます。配列の secretName
プロパティーで、Cryostat アプリケーションと同じ名前空間にあるシークレットを指定する必要があります。certificateKey
プロパティーのデフォルトは tls.crt
ですが、値を X.509 証明書ファイル名に変更できます。
TLS 証明書の設定は、com.sun.management.jmxremote.registry.ssl=true
属性を使用してリモート JMX 接続に対して TLS を有効にしているアプリケーションにのみ必要です。
前提条件
- OpenShift Web コンソールを使用して OpenShift Container Platform にログインしている。
- Cryostat Web コンソールにログインしている。
手順
- Red Hat OpenShift Web コンソールで、Operators > Installed Operators の順にクリックします。
- 使用可能な Operator のリストから、Red Hat build of Cryostat を選択します。
- Operator details ページで、Details タブをクリックします。
Provided APIs セクションで、Cryostat および Cluster Cryostat カスタムリソース (CR) が利用可能です。以下のオプションのいずれかを選択します。
- 単一 namespace の Cryostat インスタンスを作成するには、Cryostat を選択してから Create instance をクリックします。
- 複数 namespace の Cryostat インスタンスを作成するには、Cluster Cryostat を選択してから Create instance をクリックします。
TLS 証明書を設定するには、次のいずれかのオプションを選択します。
Form view ラジオボタンをクリックします。
- Name フィールドに、作成する Cryostat のインスタンスの名前を指定します。
Trusted TLS Certificates オプションをデプロイメントし、Add Trusted TLS Certificate をクリックします。オプションのリストが Red Hat OpenShift Web コンソールに表示されます。
図1.6 信頼できる TLS 証明書オプション
Secret Name リストから TLS シークレットを選択します。Certificate Key フィールドはオプションです。
注記Remove Trusted TLS Certificate をクリックすると、TLS 証明書を削除できます。
Create をクリックします。作成したインスタンスのタイプに応じて、インスタンスは以下のいずれかのタブで開きます。
- 単一 namespace の Cryostat インスタンスを作成した場合、インスタンスは Operator details ページの Cryostat タブで利用できます。
- Cluster Cryostat インスタンスを作成した場合、インスタンスは Operator details ページの Cluster Cryostat タブで利用できます。
YAML view のラジオボタンをクリックします。
TrustedCertSecrets
配列のsecretName
プロパティーで、Cryostat アプリケーションと同じ名前空間にあるシークレットを指定します。trustedCertSecrets
配列でシークレットを指定する例-- apiVersion: operator.cryostat.io/v1beta1 kind: Cryostat metadata: name: cryostat-sample spec: trustedCertSecrets: - secretName: my-tls-secret --
オプション:
certificateKey
プロパティー値をアプリケーションの X.509 証明書ファイル名に変更します。値を変更しない場合、certificateKey
プロパティーはデフォルトでtls.crt
になります。certificateKey
プロパティーの値を変更する例-- apiVersion: operator.cryostat.io/v1beta1 kind: Cryostat metadata: name: cryostat-sample spec: trustedCertSecrets: - secretName: my-tls-secret certificateKey: ca.crt --
Save をクリックします。
Red Hat build of Cryostat Operator は、設定されたセキュリティー設定を使用して Cryostat インスタンスを自動的に再起動します。
検証
CLI で次のコマンドを実行して、すべてのアプリケーション Pod が Cryostat Pod と同じ OpenShift クラスター名前空間に存在することを確認します。
$ oc get pods
- Cryostat インスタンスの Web コンソールにログインします。
- Cryostat インスタンスの Dashboard メニューで、Target リストから target JVM を選択します。
Cryostat Web コンソールのナビゲーションメニューで、Recordings を選択します。Authentication Required dialog ウィンドウで、シークレットの認証情報を入力し、Save を選択して、ターゲット JVM に認証情報を提供します。
注記選択したターゲットで JMX 接続のパスワード認証が有効になっている場合は、接続のプロンプトが表示されたら、ターゲット JVM の JMX クレデンシャルを指定する必要があります。
Cryostat は、認証された JMX 接続を介してアプリケーションに接続します。これで、Recordings 機能および Events 機能を使用して、アプリケーションの JFR データを監視できます。
関連情報
- JDK Flight Recorder (JFR) レコーディングの作成 (Cryostat を使用した JFR レコーディングの作成) を参照してください。
- Operator を使用して Red Hat OpenShift に Cryostat をインストールする (Cryostat のインストール) を参照してください。
- Web コンソールを使用した Cryostat へのアクセス (Cryostat のインストール) を参照してください。