技術

投稿日:

どうも中田です。

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

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

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

no image

[wordpress]各固定ページに個別のCSSを読み込ませる

こんばんは wordpreddでオリジナルテーマを作成している時、各固定ページに …

no image

[リアクティブフォーム]バリデーションチェックを任意のタイミングで走らせる。

Angularのリアクティブフォームで使っていると、 バリデーションを後付けした …

Amazon Rekognitionを使うと写真に自動でタグを付けられます。

こんにちは、高石です。 来月20日(5月20日)はエンたまもくもく会#5です。 …

no image

TypescriptでMap使用時にコンパイルエラー

こんにちは 連想配列で重複を省く処理をしたい時にMapを使用することがあります。 …