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

Ansible Vault for CIOps

Avatar for Keke Keke
July 30, 2019

Ansible Vault for CIOps

Avatar for Keke

Keke

July 30, 2019
Tweet

More Decks by Keke

Other Decks in Technology

Transcript

  1. $ WHOIAM KEISUKE YAMASHITA TWITTER: @_k_e_k_e 新卒で Merpay.inc SRE Team

    Chaos Engineering, Cashless are my main interest
  2. RAW SECRETS ON GITHUB PROS & CONS SECRET へ 誰でもアクセスできる

    Github が漏出したら 終わり コミットに永遠に残り Revoke するのが難しい
  3. SEALED SECRETS ON CI PROS & CONS 何かしらの⽅法で Dev にPassword

    を 渡さないといけない CI にPassword の 漏洩リスクあり Git には Secret はない Password 変更があると CI も変更しないといけない
  4. SECRETS ON CI PROS & CONS 何かしらの⽅法で Sercet を共有しないといけない CI

    に漏洩リスクあり Git に漏洩リスクはなく デプロイできる
  5. Encrypt 1. $ ansible-vault encrypt .env.yml => New Vault password:

    [ パスワード⼊れる] => Confirm Vault password: [ 再度パスワード⼊れる] $ANSIBLE_VAULT;1.1;AES256 62663931376163656235343237376235636664303733643139346565326633336664643938333164 6635393466386336383133316262343033363838373939380a343339346136353935303938373937 38386664323865633431313430666532303731346361346331656565643236386435366535346239 ....
  6. 2. Decrypt $ ansible-vault decrypt .env.yml => New Vault password:

    [ パスワード⼊れる] => Confirm Vault password: [ 再度パスワード⼊れる] DB_USER: root DB_PASS: tsuyoi_password_ni_sitene DB_NAME: master EXTERNAL_ACCESS_TOKEN: gaibu_ni_access_suru_token
  7. 3. SEALED SECRECT によるCIOPS trigger push trigger Encrypt Decrypt config

    password password password $ ansible-vault decrypt .env.yml
  8. $ ssh -p 64535 100.xxx.yyy.zzz <= ノードに⼊る $ printenv DB_NAME=master

    DB_PASSWORD=tsuyoi_password_ni_sitene DB_USER=root EXTERNAL_ACCESS_TOKEN=gaibu_ni_access_suru_token
  9. 4. DECRYPT IN APPLICATION deploy trigger push deploy trigger IAM

    secrets IAM secrets secrets IAM secrets Authn/z keys
  10. 3. SEALED SECRECT によるCIOPS deploy trigger push deploy trigger IAM

    secrets IAM secrets secrets IAM secrets Authn/z keys Deploy KMS
  11. HASHICORP VAULT Secret を管理するためのソフ トウェア。最近、 Kubernetes と合わせて使わ れるケースが多い。 GOOGLE BERGLAS

    Google Cloud Storage と Cloud KMS での SealedSecret BITNAME SEALED SECRETS Kubernetes 上でDecrypt で きるSealedSecret を実現する コントローラー Compare