9.11. cert-manager Operator のネットワークポリシー設定
cert-manager Operator for Red Hat OpenShift には、事前定義済みの NetworkPolicy リソースが含まれています。これは、コンポーネントの Ingress および Egress トラフィックを制御することでセキュリティーを強化するためのものです。この機能は、アップグレード中の接続の問題や重大な変更を防ぐため、デフォルトで無効になっています。この機能を使用するには、CertManager カスタムリソース (CR) で有効にする必要があります。
デフォルトポリシーを有効にした後、送信トラフィックを許可するには、追加の Egress ルールを手動で設定する必要があります。このルールは、cert-manager Operator for Red Hat OpenShift が API サーバーおよび内部 DNS 以外の外部サービスと通信するために必要です。
カスタム Egress ルールを必要とするサービスの例は次のとおりです。
- ACME サーバー (Let’s Encrypt など)
- DNS-01 チャレンジプロバイダー (AWS Route53 や Cloudflare など)
- 外部 CA (HashiCorp Vault など)
今後のリリースでは、ネットワークポリシーがデフォルトで有効になる予定です。これにより、アップグレード中に接続障害が発生する可能性があります。この変更に備えて、必要な Egress ポリシーを設定してください。
9.11.1. デフォルトの Ingress および Egress ルール リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのネットワークポリシーは、各コンポーネントに次の Ingress および Egress ルールを適用します。
| コンポーネント | Ingress ポート | Egress ポート | 説明 |
|---|---|---|---|
|
| 9402 | 6443、5353 | メトリクスサーバーへの Ingress トラフィックと OpenShift API サーバーへの Egress トラフィックを許可します。 |
|
| 9402、10250 | 6443 | メトリクスおよび Webhook サーバーへの Ingress トラフィックと、OpenShift API サーバーおよび内部 DNS サーバーへの Egress トラフィックを許可します。 |
|
| 9402 | 6443 | メトリクスサーバーへの Ingress トラフィックと OpenShift API サーバーへの Egress トラフィックを許可します。 |
|
| 6443、9402 | 6443 | gRPC Istio 証明書リクエスト API およびメトリクスサーバーへの Ingress トラフィックと、OpenShift API サーバーへの Egress トラフィックを許可します。 |
9.11.2. ネットワークポリシー設定のパラメーター リンクのコピーリンクがクリップボードにコピーされました!
CertManager カスタムリソース (CR) を更新することで、cert-manager Operator コンポーネントのネットワークポリシーを有効にして設定できます。この CR には、以下に示すように、デフォルトのネットワークポリシーを有効にするためのパラメーターと、カスタム Egress ルールを定義するためのパラメーターを含めます。
| フィールド | 型 | 説明 |
|---|---|---|
|
|
| cert-manager Operator コンポーネントのデフォルトのネットワークポリシーを有効にするかどうかを指定します。 重要 デフォルトのネットワークポリシーを一度有効にすると、無効にできなくなります。この制限は、意図しないセキュリティーの低下を防止するためのものです。この設定を有効にする前に、必ずネットワークポリシーの要件を策定してください。 |
|
|
|
カスタムネットワークポリシー設定のリストを定義します。設定を適用するには、 |
|
|
|
このネットワークポリシーの対象となるコンポーネントを指定します。有効な値は |
|
|
|
指定したコンポーネントの Egress ルールを定義します。すべての外部プロバイダーへの接続を許可するには、 |
|
|
| 指定したプロバイダーのネットワークポートとプロトコルのリストを定義します。 |
|
|
|
|
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-managernamespace 内の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 出力には、デフォルトのポリシーと作成したカスタムポリシーがリスト表示されます。