第6章 ネットワークセキュリティー
6.1. ネットワークポリシー API について
Kubernetes は、ネットワークセキュリティーの強化に使用できる 2 つの機能を提供します。機能の 1 つは、ユーザーによるネットワークポリシーの適用を可能にする NetworkPolicy
API です。これは主にアプリケーション開発者と namespace テナント向けの機能で、namespace スコープのポリシーを作成して namespace を保護することを目的としています。
2 番目の機能は AdminNetworkPolicy
で、AdminNetworkPolicy
(ANP) API と BaselineAdminNetworkPolicy
(BANP) API の 2 つの API で構成されています。ANP と BANP は、クラスターおよびネットワーク管理者向けの機能で、クラスタースコープのポリシーを作成してクラスター全体を保護することを目的としています。クラスター管理者は、ANP を使用すると、NetworkPolicy
オブジェクトよりも優先されるオーバーライド不可能なポリシーを適用できます。BANP を使用すると、NetworkPolicy
オブジェクトを使用して必要に応じてユーザーがオーバーライドできるオプションのクラスタースコープのネットワークポリシールールをセットアップおよび適用できます。ANP、BANP、およびネットワークポリシーを一緒に使用すると、管理者がクラスターのセキュリティー保護に使用できる完全なマルチテナント分離を実現できます。
OpenShift Dedicated の OVN-Kubernetes CNI は、アクセス制御リスト (ACL) の階層を使用してこれらのネットワークポリシーを実装し、それらを評価して適用します。ACL は、階層 1 から階層 3 まで降順で評価されます。
階層 1 では AdminNetworkPolicy
(ANP) オブジェクトを評価します。階層 2 では NetworkPolicy
オブジェクトを評価します。階層 3 では BaselineAdminNetworkPolicy
(BANP) オブジェクトを評価します。
最初に ANP が評価されます。一致が ANP allow
または deny
ルールである場合、クラスター内の既存の NetworkPolicy
および BaselineAdminNetworkPolicy
(BANP) オブジェクトは評価からスキップされます。一致が ANP の pass
ルールの場合、評価が ACL 階層 1 から階層 2 に進み、そこで NetworkPolicy
ポリシーが評価されます。トラフィックに一致する NetworkPolicy
がない場合、評価は Tier 2 ACL から Tier 3 ACL に移動し、そこで BANP が評価されます。
6.1.1. AdminNetworkPolicy と NetworkPolicy カスタムリソースの主な違い
次の表は、クラスタースコープの AdminNetworkPolicy
API と namespace スコープの NetworkPolicy
API の主な違いを説明しています。
ポリシーの要素 | AdminNetworkPolicy | NetworkPolicy |
---|---|---|
対象ユーザー | クラスター管理者または同等の権限 | namespace の所有者 |
スコープ | クラスター | Namespace を使用 |
トラフィックのドロップ |
明示的な |
ポリシー作成時に暗黙的に |
トラフィックの委譲 |
| 該当なし |
トラフィックの許可 |
明示的に | すべてのルールに対するデフォルトのアクションは allow です。 |
ポリシー内のルールの優先順位 | ANP 内で表示される順序によって異なります。ルールの位置が高いほど、優先順位が高くなります。 | ルールは追加できます。 |
ポリシーの優先順位 |
ANP 間では、 | ポリシー間にポリシー順序はありません。 |
機能の優先順位 | 最初に Tier 1 ACL を介して評価され、最後に BANP が Tier 3 ACL を介して評価されます。 | ANP の後、BANP の前に適用され、ACL の Tier 2 で評価されます。 |
Pod 選択の一致 | namespace 間で異なるルールを適用できます。 | 1 つの namespace 内の Pod に異なるルールを適用できます。 |
クラスターの Egress トラフィック |
|
受け入れられた CIDR 構文とともに |
クラスター Ingress トラフィック | サポート対象外 | サポート対象外 |
完全修飾ドメイン名 (FQDN) ピアサポート | サポート対象外 | サポート対象外 |
namespace セレクター |
|
|