Ruby on Rails
認証キーの安全な保管
サーチ…
前書き
多くのサードパーティ製APIでは、乱用を防ぐためのキーが必要です。彼らがあなたに鍵を発行した場合、他人があなたの鍵を盗むことができるように、鍵を公開リポジトリにコミットしないことが非常に重要です。
フィガロと認証キーの格納
あなたのGemfileにgem 'figaro'
figaro gem 'figaro'
を追加し、 bundle install
を実行してください。次に、 bundle exec figaro install
実行しますbundle exec figaro install
; config / application.ymlが作成され、.gitignoreファイルに追加され、バージョンコントロールに追加されなくなります。
あなたのキーは、次の形式でapplication.ymlに保存することができます:
SECRET_NAME: secret_value
SECRET_NAMEとsecret_valueはAPIキーの名前と値です。
また、config / secrets.ymlにこれらの秘密の名前を付ける必要があります。それぞれの環境で異なる秘密を持つことができます。ファイルは次のようになります。
development:
secret_name: <%= ENV["SECRET_NAME"] %>
test:
secret_name: <%= ENV["SECRET_NAME"] %>
production:
secret_name: <%= ENV["SECRET_NAME"] %>
これらのキーの使い方はさまざまですが、たとえば開発環境のsome_component
がsecret_name
アクセスする必要があるとします。 config / environments / development.rbには、次のように入力します。
Rails.application.configure do
config.some_component.configuration_hash = {
:secret => Rails.application.secrets.secret_name
}
end
最後に、Herokuのプロダクション環境をスピンアップさせたいとしましょう。このコマンドは、config / environments / production.rbの値をHerokuにアップロードします:
$ figaro heroku:set -e production
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow