Djangoで秘密鍵やAPIキーなど”隠したい情報”を分けて管理する
|
Djangoではsettings.pyに秘密鍵、APIキーやデータベースのパスワード情報など記入します。
GitHubなどでソースコードを公開したい場合、こういった機密情報はGitの外側に隠しておきたいですよね。
情報漏洩しないよう、対策してみました。
方法
- settigs.pyとは別に設定ファイルを用意し
- そこに秘密にしておきたい情報を変数として記入
- settings.pyでimport
- gitignoreする
別の設定ファイルは.gitignoreに追加してコミットされないようにすればOKです。
別ファイルの用意
settings.pyと同じディレクトリに適当な名前で作ります。取り急ぎsettings_secret.pyとしました。
変数の設定
秘密にしたい情報をsettings_secret.pyに変数として記入します。
SECRET_KEY = 'mogumoguhogehoge'
DATABASES = 'mogumoguhogehoge'
importする
settings_secret.pyを本体の設定ファイルにインポートします。
settings.pyに次の文を追加すればOK。
from .settings_secret import *
.gitignoreに追記
settings_secret.pyがコミットされないように、.gitignoreに追記します。
まとめ
これで一旦大丈夫です。やったね。
Gitは便利だけど、うっかり秘密鍵開けちゃったテヘペロ〜とならないように気をつけたいですね。