Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Policy Manager試してみた!

30d97c8383a531c459ac210540b4eace?s=47 ry
December 08, 2020

Policy Manager試してみた!

30d97c8383a531c459ac210540b4eace?s=128

ry

December 08, 2020
Tweet

Transcript

  1. 機密 <会社名> 専用 バージョン 1.0 Policy Manager試してみた! @URyo_0213

  2. 序章

  3. 去年の今頃..... そろそろOPA 試さないとな〜

  4. OPA (Open Policy Agent) Admission Webhook機能を用いて、 ・Validating ・Mutating 等を行うことができるツール。 独自のRegoという言語を用いることで、

    柔軟なPolicyの作成が可能。
  5. Admission Webhook Authentication Authorization Mutating Admission Object Schema Admission Validating

    Admission Persisted to etcd webhook webhook webhook webhook
  6. Validating / Mutating 1 Validating 作成するリソースが、 Policyに対して許可していいものなのか、それとも拒否す べきものなのかを判断する。 2 Mutating

    作成するリソースに対して、 Parameterの追加や変更をかける。
  7. Rego https://play.openpolicyagent.org/p/ikesWCFIH8

  8. ここまで来たところで..... Regoむずいよ なんで新しい言語 作るの? 泣くよ俺。

  9. 月日は流れ.... お! なんだ? kyvernoって

  10. 本章

  11. Kyverno OPA同様にAdmission Webhookを用いて Validating / Mutating 等のPolicyを適用するこ とができるツール。 KubernetesのManifestの様にPolicyを適用で きるので、学習コストが低い。

  12. Policy Structure https://kyverno.io/docs/writing-policies/structure/

  13. Policy (Validating) spec.rulesの下で設定 matchにおいて、Policyを適用するリソースを指定 validateにおいて、検証内容と、引っかかった際の messageを記述

  14. Policy設定後

  15. labelを設定してみる

  16. 作成できた!!

  17. Policy (Mutating) ImageのTagに「latest」が設定されている場合、 Manifest に「ImagePullPolicy: Always」を追加する。

  18. Policy (Generating) Namespaceが作成された際、Excludeに書かれたもの以 外のものに対して、NetworkPolicyを設定する。

  19. 終章

  20. 最後に Regoのような特殊な言語はなくKyvernoは、学習コストが低め。 インストールも簡単なので、Policy Managerを触れてみる機会にいい かもしれない。

  21. Thank you