【LT】encrypted secretsについて社内LT大会でしゃべってきました。
はじめに
Rails5.1で導入されたencrypted secretsについて所属する会社の社内LT大会で発表してきました。
0323社内LT大会 from Akira Ohta
内容
5分だったので大したことは書いていませんが、機能の説明以外はstaging問題やメインです。
所感(使えそう?)
staging問題について
詳細
- デフォルトではkeyと暗号化ymlは一組しか作られない。
Rails.env == 'staging' # => true
でも本番と同じkeyを使うことになる。- ステージングのkeyが流出するだけで本番のkey流出となってしまう。
解決策
- secrets.#{Rails.env}.yml.encとそれに対応するkeyを別で持っておく。
- 例えばsecrets.staging.yml.enc, secrets.production.yml.enc(rails secrets:setup, rails secrets:editしたらリネームする)
- デプロイ時にln -sする。
まとめ
- なにはともあれ設定ファイルコミットできるのは良い!