技術

投稿日:

どうも中田です。

Rails5.2から config/credentials.yml.encconfig/master.key が追加されてますが、
これちゃんと使いましょうねという話

これら簡単に言うと、接続情報とか大事な情報を暗号化して、gitで管理できるようにできるもんです。
(接続情報とかgitで管理すべきもんじゃないですもんね)

ファイルの説明

config/master.key: 暗号化するための鍵 (git管理対象外)
config/credentials.yml.enc: 情報を暗号化したファイル

config/credentials.yml.encを編集したい!

EDITOR=vim bin/rails credentials:edit

そうやって編集したり↓こんな感じのファイルになるかもですね

secret_key_base: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

aws:
  access_key_id: xxxxxxxxxxxxxxx
  secret_access_key: xxxxxxxxxxxxxxxxxxxxxxxxxx

config/credentials.yml.encを参照したい!

上記でaccess_key_idをプログラムから参照したい場合はこれ。

Rails.application.credentials.dig(:aws, :access_key_id)

じゃあ本番どうすんの問題

一般的に本番環境には、git管理対象のファイルしかデプロイしない。

master.keyはgit管理対象外なので、情報複合化できないじゃん!
そんな時のために↓この環境変数でmaster.keyの情報を設定しておけば大丈夫。

export RAILS_MASTER_KEY=xxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxcat config/master.key の値です

今日はこんな感じで。

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[Rails] モデルが初期化されてないとな(not initialized)

どうも中田です Railsで、modelの initialize に処理を追加す …

[JS] イベントバブリングまとめ

どうも中田です いつも忘れちゃうんですよ。 javascriptのイベントバブリ …

no image

[Rails]Deviceのfacebook認証でinvalid_credentials….

こんばんは Deviceでfacebook認証機能を作っていたらinvalid_ …

no image

[wordpress]パーミションを変えたらHTTP500(Internal Server Error)

こんばんは Kusanagiにインストールしたwordpressの管理画面からフ …

wgetコマンドで指定のサイトをダウンロードしてみる。

wgetコマンドって? 下記の形式のコマンドを叩くと、指定のURLからファイルを …