↓↓クリックして頂けると励みになります。
【06 | postgresの設定とマイグレーション】 << 【ホーム】
Ruby on Railsで開発したアプリケーションをherokuにデプロイする際、データベースのパスワードや他連携サービスの情報など、機密情報の取り扱いには注意が必要です。
ただ、開発環境と本番環境で機密情報の設定が違うため、アップデートを行う際に開発環境で確認できなくなると不都合が生じます。
そこで、開発環境での機密情報の設定方法と本番環境(heroku)での設定方法を解説します。
まず開発環境での機密情報の設定方法です。
GemFileに「dotenv」gemを追加します。
gem 'dotenv', '~> 2.8', '>= 2.8.1'
バンドルします。
コマンド
bundle
ルートディレクトリに「.env」という名前のファイルを新規作成してください。

今回は、本番環境用のデータベース設定をしてみます。
新規作成 【.env】
DB_USER = "tbhsjefuhm***" DB_PASSWORD = "f72618c0a2539d014c44c429***" DB_HOST = "ec2-34-236-199-229.compute-1.amazonaws.com" DB_DATABASE = "dgp65***"
設定した環境変数を取り扱うには、ENV['DB_USER']などとして使用します。
「config/database.yml」ファイルの本番環境の項目を以下のように編集します。
記述編集 【config/database.yml】
production: <<: *default database: <%= ENV['DB_DATABASE'] %> username: <%= ENV['DB_USER'] %> password: <%= ENV['DB_PASSWORD'] %> host: <%= ENV['DB_HOST'] %>
このままですと、「.env」ファイルを誤ってGitHubに送信しかねないので、「.gitignore」ファイルに、「.env」ファイルを送信しないよう、ルールを最終行に記述します。
記述追加 【.gitignore】
# 機密情報 /.env
herokuに機密情報を登録します。
これをすることで、機密情報が暗号化され、安全が保たれます。
Herokuのダッシュボードで「Settings」タブの「Config Vars」を開きます。

「.env」ファイルの内容と同じように機密情報を追加します。

これで機密情報の設定が終了です。
パスワードやIDなどの機密情報はこのように設定しておけば漏洩のリスクが下がります。
【06 | postgresの設定とマイグレーション】 << 【ホーム】
↓↓クリックして頂けると励みになります。