Kyverno
Kyverno とは何ですか?
KyvernoKyverno は CNCF の Kubernetes ポリシエンジンで、新しい DSL を使わずネイティブな YAML で記述したポリシによりリソースの検証・変更・生成を行います。
Kyverno はアドミッション webhook として導入され、YAML で記述された ClusterPolicy または Policy の CR に基づき、selector、match、validate、mutate、generate、verifyImages などのルールを実行します。ポリシ言語が Kubernetes オブジェクトの構造に沿っているため、マニフェストに慣れたチームは Rego を覚えずにルールを書けます。さらにイメージ検証(Cosign/Notation)、既存リソースに対するバックグラウンドスキャン、例外ワークフロー、新規名前空間作成時の依存オブジェクト(NetworkPolicy、RoleBinding)の自動生成にも対応します。Pod Security Standards、イメージ署名、ラベル規約、サプライチェーン証明の強制によく使われ、アドミッションポリシ領域で OPA Gatekeeper と競合します。
● 例
- 01
新しい名前空間ごとに default-deny の NetworkPolicy を自動生成する Kyverno ポリシ。
- 02
verifyImages ポリシがすべてのコンテナイメージに有効な Cosign 署名を要求する。
● よくある質問
Kyverno とは何ですか?
Kyverno は CNCF の Kubernetes ポリシエンジンで、新しい DSL を使わずネイティブな YAML で記述したポリシによりリソースの検証・変更・生成を行います。 サイバーセキュリティの クラウドセキュリティ カテゴリに属します。
Kyverno とはどういう意味ですか?
Kyverno は CNCF の Kubernetes ポリシエンジンで、新しい DSL を使わずネイティブな YAML で記述したポリシによりリソースの検証・変更・生成を行います。
Kyverno はどのように機能しますか?
Kyverno はアドミッション webhook として導入され、YAML で記述された ClusterPolicy または Policy の CR に基づき、selector、match、validate、mutate、generate、verifyImages などのルールを実行します。ポリシ言語が Kubernetes オブジェクトの構造に沿っているため、マニフェストに慣れたチームは Rego を覚えずにルールを書けます。さらにイメージ検証(Cosign/Notation)、既存リソースに対するバックグラウンドスキャン、例外ワークフロー、新規名前空間作成時の依存オブジェクト(NetworkPolicy、RoleBinding)の自動生成にも対応します。Pod Security Standards、イメージ署名、ラベル規約、サプライチェーン証明の強制によく使われ、アドミッションポリシ領域で OPA Gatekeeper と競合します。
Kyverno からどのように防御しますか?
Kyverno に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Kyverno の別名は何ですか?
一般的な別名: Kyverno ポリシ, ClusterPolicy。
● 関連用語
- cloud-security№ 757
OPA Gatekeeper
OPA Gatekeeper は CNCF のポリシコントローラで、Open Policy Agent と Rego を用いて Kubernetes リソースに対するアドミッションと監査ポリシを強制します。
- cloud-security№ 597
Kubernetes アドミッションコントローラ
アドミッションコントローラは、Kubernetes API サーバのプラグインで、認証済み要求が永続化される前にオブジェクトを検証・変更・拒否します。
- cloud-security№ 838
Pod Security Standards
Pod Security Standards(PSS)は Kubernetes が定める Privileged・Baseline・Restricted の三段階セキュリティプロファイルで、安全な Pod 構成を体系化し、廃止された PodSecurityPolicy を置き換えます。
- cloud-security№ 599
Kubernetes NetworkPolicy
Kubernetes の NetworkPolicy は名前空間スコープのリソースで、IP・ポート・プロトコル単位でどの Pod がどの Pod や外部エンドポイントと通信できるかを制御します。
- cloud-security№ 582
Kata Containers
Kata Containers は、各コンテナや Kubernetes Pod を軽量な仮想マシンで包み込み、ハードウェアレベルの隔離を提供するオープンソースランタイムです。
- cloud-security№ 455
gVisor
gVisor は Google が公開するアプリケーションカーネルで、ユーザ空間でコンテナのシステムコールを横取りし、ホストカーネルの攻撃面を大幅に縮小します。