Rails5.2から追加されたsecrets周りについて(secrets.yml→credentials.yml.encへの対応)

Ruby on Rails

Rails5.2アプリから、secrets周りが変化しました。config/secrets.ymlがなくなって、config/credentials.yml.encで管理するものです。

credentials.yml.encは暗号されていて普通に編集不可

credentials.yml.encは暗号されていて編集は下記の様に実施します。

EDITOR=vim bin/rails credentials:edit
# EDITOR=vi bin/rails credentials:edit # vimがない場合

これをすると何が美味しいのかというと

 

aws_access_key_id = Rails.application.credentials.dig(:aws, :access_key_id) 
aws_secret_access_key = Rails.application.credentials.dig(:aws, :secret_access_key)

 

のように記述して、暗号化されたデータの一元管理&取得ができるようになりました。環境変数とか使わなくなって、データの所在が明らかになってGOODですね。

コメント