現場で用いていたため、言語化できるように調べる
「Credentials」とは
production(本番)環境に関する特定の方式で管理される秘密情報のこと
また、管理する仕組みを指す
Rails5.2から導入された機能
APIの秘密鍵等の機密情報を管理するのは、難しい
・アプリが秘密情報を利用できるようにしたい
・開発者が必要に応じて、確認、変更したい。また開発者同士で共有したい
・リポジトリに機密情報を格納すると、漏洩の危険性がある
使い方
production環境の秘密情報は、「config/credentials.yml.enc」
に記載する
このファイルは、常に暗号化された状態で保存される
ファイルは、Railsが用意している専用コマンドで動作する
Railsのアプリケーションがproduction環境で起動された際には
master.key
ファイルもしくは、RAILS_MASTER_KEY
環境変数から
キー情報を取り出して、秘密情報を内部的に復号して利用する
参考記事、書籍
現場Rails