9.11. cert-manager Operator のネットワークポリシー設定
Cert-manager Operator for Red Hat OpenShift は、コンポーネントの Ingress と Egress トラフィックを制御することでセキュリティーを強化するために、事前定義された NetworkPolicy リソースを提供します。デフォルトでは、アップグレード中の接続の問題や重大な変更を防ぐため、この機能は無効になっています。この機能を使用するには、CertManager カスタムリソース (CR) で有効にする必要があります。
デフォルトポリシーを有効にした後、送信トラフィックを許可するには、追加の出力ルールを手動で設定する必要があります。これらのルールは、cert-manager Operator for Red Hat OpenShift が API サーバーおよび内部 DNS を超えて外部サービスと通信するために必要です。
カスタム Egress ルールを必要とするサービスの例は次のとおりです。
- ACME サーバー、たとえば Let’s Encrypt
- DNS-01 チャレンジプロバイダー (AWS Route53 や Cloudflare など)
- HashiCorp Vault などの外部 CA
今後のリリースではネットワークポリシーがデフォルトで有効になる予定であり、アップグレード中に接続障害が発生する可能性があります。この変更に備えて、必要な Egress ポリシーを設定します。
9.11.1. デフォルトの Ingress および Egress ルール リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのネットワークポリシーは、各コンポーネントに次の Ingress と Egress ルールを適用します。
| Component | Ingress ポート | Egress ポート | 説明 |
|---|---|---|---|
|
| 9402 | 6443、5353 | メトリクスサーバーへの受信トラフィックと OpenShift API サーバーへの Egress トラフィックを許可します。 |
|
| 9402、10250 | 6443 | メトリクスおよび Webhook サーバーへの受信トラフィックと、OpenShift API サーバーおよび内部 DNS サーバーへの送信トラフィックを許可します。 |
|
| 9402 | 6443 | メトリクスサーバーへの受信トラフィックと OpenShift API サーバーへの Egress トラフィックを許可します。 |
|
| 6443、9402 | 6443 | gRPC Istio 証明書要求 API、メトリクスサーバーへの受信トラフィックと、OpenShift API サーバーへの送信トラフィックを許可します。 |
9.11.2. ネットワークポリシー設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
CertManager カスタムリソース (CR) を更新することで、cert-manager Operator コンポーネントのネットワークポリシーを有効にして設定できます。CR には、デフォルトのネットワークポリシーを有効にし、カスタム Egress ルールを定義するための次のパラメーターが含まれています。
| フィールド | 型 | 説明 |
|---|---|---|
|
|
| cert-manager Operator コンポーネントのデフォルトのネットワークポリシーを有効にするかどうかを指定します。 重要 デフォルトのネットワークポリシーを有効にすると、無効にすることはできません。この制限により、偶発的なセキュリティーの低下を防止できます。この設定を有効にする前に、ネットワークポリシーの要件を計画してください。 |
|
|
|
カスタムネットワークポリシー設定のリストを定義します。設定を適用するには、 |
|
|
|
このネットワークポリシーの対象となるコンポーネントを指定します。有効な値は |
|
|
|
指定されたコンポーネントの出力ルールを定義します。すべての外部プロバイダーへの接続を許可するには、 |
|
|
| 指定されたプロバイダーのネットワークポートとプロトコルのリストを定義します。 |
|
|
|
|
9.11.3. ネットワークポリシーの設定例 リンクのコピーリンクがクリップボードにコピーされました!
次の例は、ネットワークポリシーとカスタムルールの有効化に関連するさまざまなシナリオを示しています。
ネットワークポリシー管理を有効にする例
すべての外部発行者プロバイダーへの Egress を許可する例
特定の発行者プロバイダーへの Egress を許可する例
次の設定により、cert-manager Operator コントローラーは ACME チャレンジセルフチェックを実行できるようになります。このプロセスには、ACME プロバイダー、DNS API エンドポイント、および再帰 DNS サーバーへの接続が必要です。
9.11.4. ネットワークポリシーの作成を確認する リンクのコピーリンクがクリップボードにコピーされました!
デフォルトおよびカスタムの NetworkPolicy リソースが作成されていることを確認できます。
前提条件
-
CertManagerカスタムリソースで、cert-manager Operator for Red Hat OpenShift のネットワークポリシーを有効にしました。
手順
次のコマンドを実行して、
cert-manager名前空間内のNetworkPolicyリソースのリストを確認します。oc get networkpolicy -n cert-manager
$ oc get networkpolicy -n cert-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、デフォルトのポリシーと作成したカスタムポリシーがリスト表示されます。