技術

投稿日:

どうも中田です。

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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

wordpressで固定ページが表示されない時は.htaccessを確認しよう

こんばんは 個人でwordpressサイトを持っているのですが いきなり固定ペー …

no image

[Angular] router-outletの外で現在のurlを取得

こんにちは、コーテッグのこやまです。 Angularでapp.component …

no image

【Rails5.2】bootstrap4を追加する

こんにちは 今回はRails5にbootstrap4を追加したいと思います。 使 …

画像生成マシーン「MakeGirlsMoe」の10連結果

女の子の萌え画像を作ってくれる「MakeGirlsMoe」なるものが作られたよう …

no image

AWS CLIでInvalidSignatureException Error

ECRにイメージをpushするために、dockerログインしようとして遭遇しまし …