機密 <会社名> 専用 バージョン 1.0Policy Manager試してみた!@URyo_0213
View Slide
序章
去年の今頃.....そろそろOPA試さないとな〜
OPA (Open Policy Agent)Admission Webhook機能を用いて、・Validating・Mutating等を行うことができるツール。独自のRegoという言語を用いることで、柔軟なPolicyの作成が可能。
Admission WebhookAuthenticationAuthorizationMutatingAdmissionObjectSchemaAdmissionValidatingAdmissionPersisted toetcdwebhookwebhook webhookwebhook
Validating / Mutating1Validating作成するリソースが、 Policyに対して許可していいものなのか、それとも拒否すべきものなのかを判断する。2Mutating作成するリソースに対して、 Parameterの追加や変更をかける。
Regohttps://play.openpolicyagent.org/p/ikesWCFIH8
ここまで来たところで.....Regoむずいよなんで新しい言語作るの?泣くよ俺。
月日は流れ....お!なんだ?kyvernoって
本章
KyvernoOPA同様にAdmission Webhookを用いてValidating / Mutating 等のPolicyを適用することができるツール。KubernetesのManifestの様にPolicyを適用できるので、学習コストが低い。
Policy Structurehttps://kyverno.io/docs/writing-policies/structure/
Policy (Validating)spec.rulesの下で設定matchにおいて、Policyを適用するリソースを指定validateにおいて、検証内容と、引っかかった際のmessageを記述
Policy設定後
labelを設定してみる
作成できた!!
Policy (Mutating)ImageのTagに「latest」が設定されている場合、Manifestに「ImagePullPolicy: Always」を追加する。
Policy (Generating)Namespaceが作成された際、Excludeに書かれたもの以外のものに対して、NetworkPolicyを設定する。
終章
最後にRegoのような特殊な言語はなくKyvernoは、学習コストが低め。インストールも簡単なので、Policy Managerを触れてみる機会にいいかもしれない。
Thank you