第1章 カスタム証明書の追加
Red Hat Advanced Cluster Security for Kubernetes でカスタム TLS 証明書を使用する方法を学びます。証明書を設定した後、ユーザーと API クライアントは、Central に接続するときに証明書のセキュリティー警告をバイパスする必要はありません。
1.1. カスタムセキュリティー証明書の追加 リンクのコピーリンクがクリップボードにコピーされました!
インストール中、または既存の Red Hat Advanced Cluster Security for Kubernetes デプロイメントにセキュリティー証明書を適用できます。
1.1.1. カスタム証明書を追加するための前提条件 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- PEM でエンコードされた秘密鍵と証明書ファイルがすでに存在する必要がある。
証明書ファイルは、人間が読める形式のブロックで開始および終了する必要がある。以下に例を示します。
-----BEGIN CERTIFICATE----- MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G ... l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo= -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G ... l4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo= -----END CERTIFICATE-----
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書ファイルには、単一の (リーフ) 証明書または証明書チェーンのいずれかを含めることができる。
警告- 証明書が信頼されたルートによって直接署名されていない場合は、中間証明書を含む完全な証明書チェーンを提供する必要がある。
- チェーン内のすべての証明書は、リーフ証明書がチェーンの最初でルート証明書がチェーンの最後になるように順序付けられている必要がある。
- グローバルに信頼されていないカスタム証明書を使用している場合は、カスタム証明書を信頼するように Sensor を設定する必要もがあります。
1.1.2. 新規インストール中のカスタム証明書の追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
Operator を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールする場合:
次のコマンドを入力して、Central サービスがインストールされる namespace に適切な TLS 証明書が含まれる
central-default-tls-cert
シークレットを作成します。oc -n <namespace> create secret tls central-default-tls-cert --cert <tls-cert.pem> --key <tls-key.pem>
oc -n <namespace> create secret tls central-default-tls-cert --cert <tls-cert.pem> --key <tls-key.pem>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Helm を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールする場合:
カスタム証明書とそのキーを
values-private.yaml
ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow インストール中に設定ファイルを提供します。
helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
$ helm install -n stackrox --create-namespace stackrox-central-services rhacs/central-services -f values-private.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
roxctl
CLI を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールする場合は、インストーラーの実行時に証明書とキーファイルを提供します。非対話型インストーラーの場合は、
--default-tls-cert
および--default-tls-key
オプションを使用します。roxctl central generate --default-tls-cert "cert.pem" --default-tls-key "key.pem"
$ roxctl central generate --default-tls-cert "cert.pem" --default-tls-key "key.pem"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 対話型インストーラーの場合、プロンプトの回答を入力するときに証明書とキーファイルを提供します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.1.3. 既存のインスタンスのカスタム証明書の追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
Operator を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールした場合。
次のコマンドを入力して、Central サービスがインストールされている namespace に適切な TLS 証明書が含まれる
central-default-tls-cert
シークレットを作成します。oc -n <namespace> create secret tls central-default-tls-cert --cert <tls-cert.pem> --key <tls-key.pem>
oc -n <namespace> create secret tls central-default-tls-cert --cert <tls-cert.pem> --key <tls-key.pem>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Helm を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールした場合:
カスタム証明書とそのキーを
values-private.yaml
ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow helm upgrade
コマンドを使用して、更新された設定ファイルを提供します。helm upgrade -n stackrox --create-namespace stackrox-central-services \ rhacs/central-services --reuse-values \ -f values-private.yaml
$ helm upgrade -n stackrox --create-namespace stackrox-central-services \ rhacs/central-services --reuse-values \
1 -f values-private.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
values-private.yaml
ファイルには必要な設定値がすべて含まれているわけではないため、このパラメーターを使用する必要があります。
roxctl
CLI を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールした場合。PEM でエンコードされたキーと証明書ファイルから TLS シークレットを作成して適用します。
oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
$ oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行すると、Central は Pod を再起動しなくても、新しいキーと証明書を自動的に適用します。変更が反映されるまでに最大 1 分かかる場合があります。
1.1.4. 既存のインスタンスのカスタム証明書の更新 リンクのコピーリンクがクリップボードにコピーされました!
Central のカスタム証明書を使用する場合は、次の手順を実行して証明書を更新できます。
手順
既存のカスタム証明書のシークレットを削除します。
oc delete secret central-default-tls-cert
$ oc delete secret central-default-tls-cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規シークレットを作成します。
oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
$ oc -n stackrox create secret tls central-default-tls-cert \ --cert <server_cert.pem> \ --key <server_key.pem> \ --dry-run -o yaml | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Central コンテナーを再起動します。
1.1.4.1. Central コンテナーの再起動 リンクのコピーリンクがクリップボードにコピーされました!
Central コンテナーを強制終了するか、Central Pod を削除して、Central コンテナーを再起動できます。
手順
次のコマンドを実行して、Central コンテナーを強制終了します。
注記OpenShift Container Platform が変更を伝播し、Central コンテナーを再始動するまで、少なくとも 1 分間待機する必要があります。
oc -n stackrox exec deploy/central -c central -- kill 1
$ oc -n stackrox exec deploy/central -c central -- kill 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、次のコマンドを実行して Central Pod を削除します。
oc -n stackrox delete pod -lapp=central
$ oc -n stackrox delete pod -lapp=central
Copy to Clipboard Copied! Toggle word wrap Toggle overflow