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

Policy Manager試してみた!

ry
December 08, 2020

Policy Manager試してみた!

ry

December 08, 2020
Tweet

More Decks by ry

Other Decks in Technology

Transcript

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

    View Slide

  2. 序章

    View Slide

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

    View Slide

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

    View Slide

  5. Admission Webhook
    Authentication
    Authorization
    Mutating
    Admission
    Object
    Schema
    Admission
    Validating
    Admission
    Persisted to
    etcd
    webhook
    webhook webhook
    webhook

    View Slide

  6. Validating / Mutating
    1
    Validating
    作成するリソースが、 Policyに対して許可していいものなのか、それとも拒否す
    べきものなのかを判断する。
    2
    Mutating
    作成するリソースに対して、 Parameterの追加や変更をかける。

    View Slide

  7. Rego
    https://play.openpolicyagent.org/p/ikesWCFIH8

    View Slide

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

    View Slide

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

    View Slide

  10. 本章

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. Policy設定後

    View Slide

  15. labelを設定してみる

    View Slide

  16. 作成できた!!

    View Slide

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

    View Slide

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

    View Slide

  19. 終章

    View Slide

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

    View Slide

  21. Thank you

    View Slide