CircleCIのconfig.ymlを守ろうとした話 / Securing the CircleCI config.yml

5e3812168e73d09304da6959a40155c8?s=47 kenev
July 16, 2019

CircleCIのconfig.ymlを守ろうとした話 / Securing the CircleCI config.yml

【大阪】CircleCI ユーザーコミュニティミートアップ #1
https://circleci.connpass.com/event/134447/

5e3812168e73d09304da6959a40155c8?s=128

kenev

July 16, 2019
Tweet

Transcript

  1. 【⼤阪】CircleCI ユーザーコミュニティミートアップ #1 2019.07.16 @kenfdev CircleCIのconfig.ymlを守ろうとした話

  2. ⾃⼰紹介

  3. ⾃⼰紹介 • 福⼭ 健 • エンジニア@サイダス@⼤阪
 フロントエンドもバックエンドも両⽅好き • Udemy講師 •

    JavaScriptエンジニアのためのES6完全ガイド • 実践!AngularJS講座 @kenfdev • OSS Contribution⼤好き • ブログ • https://kenfdev.hateblo.jp/
  4. config.yml Ψόφϯε Ͳ͏ޮ͔ͤͯ·͔͢ʁ

  5. やりたいこと ҰఆόʔδϣϯҎ্ ࢖ͬͯ΄͍͠ ஌Βͳ͍৔ॴͷimage ࢖ͬͯ΄͘͠ͳ͍ imageͷλά͸ ͪΌΜͱࢦఆͯ͠΄͍͠

  6. 現実 ΈΜͳɺϧʔϧΛ कΖ͏Ͷʂ Ή Γ

  7. config.ymlに ルールを適⽤したい

  8. conftest conftest͸OPAͷ ϥούʔ

  9. Open Policy Agent?

  10. Open Policy Agent https://bit.ly/30tIHeo https://www.openpolicyagent.org/

  11. Rego એݴతʹ ϧʔϧ͕ॻ͚Δ

  12. conftestの仕組み Input conftest OPA as Lib Rego Output OK Warn

    Deny config.yml
  13. ルールを評価

  14. 結果

  15. OCI RegistryでPolicyの共有もできる OCI Registry conftest Rego push pull pull pull

    pull
  16. もしや?

  17. 共通ルールをCI内で適⽤できる? OCI Registry Rego pull pull pull pull

  18. できそう

  19. がしかし

  20. 誰でも書き換えれちゃう(そりゃそうだ) ͜͜·Ͱ͔ɻɻɻ

  21. まとめ

  22. まとめ • config.ymlに⼀定のガバナンスを効かせることはできる • ただし、強制することは現状では難しい • configにルールが適⽤できるconftestの今後に期待 • CircleCIの今後にも期待

  23. 参考 https://kenfdev.hateblo.jp/entry/2019/05/31/194614

  24. config.yml Ψόφϯε Ͳ͏ޮ͔ͤͯ·͔͢ʁ

  25. ご清聴ありがとうございました!