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

Ansible Vault for CIOps

Keke
July 30, 2019

Ansible Vault for CIOps

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