2016-05-27 12 views
0

CSレベルのない初心者として、ベストプラクティスと大会対セキュリティリスクを区別するのは難しいです。Secrets.yml対ENV変数対オプション?

私はレールアプリのために.rbenv-varsと組み合わせてsecrets.ymlを使用していますが、これは簡単だと思われます。私はフィガロのようなものを使って基本的に同じことをすることができると理解していますが、ベストプラクティスとは何ですか?開発のために、私は鍵をsecrets.ymlにまっすぐに入れて、プロダクション設定にenv-varsを使用します。

誰かが説明することができますか?1)秘密鍵を使う代わりにenv-varsを使う理由(git-ignored!SOリンクが歓迎されていれば)2)これはベストプラクティスと一般的な規約ですか?

答えて

0

どちらも共通の場所です。セキュリティの観点から、誰かがあなたの環境変数にアクセスできる場合、おそらくあなたのコードにアクセスすることができます。コードが実行されると、いずれかの値がメモリに格納されます。あなたはそれを見ることができます

、デフォルトでは、secrets.ymlは、本番環境からSECRET_KEY_BASEを取得するように構成されています。これを持っている

production: 
    secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 

一つの良い理由は、生産で実行するアプリケーションのためです。この機能を使用すると、ファイルを変更することなく、キーを変更したり、アプリケーションを再起動したりすることができます。 Cloud Foundry、Herokuなどで動作するアプリケーションでは、これは非常に便利です。

+0

コードの変更/再起動の理由について考えていませんでした。それは良い情報です! –

関連する問題