2017-06-07 3 views
0

Djangoで電子メールサービスを実装したアプリケーションを作成しました。うまくいきましたが、今ではアプリケーションをサーバー(Heroku)にデプロイする必要があります。さて、ジャンゴと電子メールサービスを構成するために、特定の属性がEMAIL_HOST_PASSWORD、EMAIL_BACKENDなどのsettings.pyファイルに追加されDjangoのEMAIL_HOST_PASSWORDを処理する

.... EMAIL_HOST_PASSWORD属性をreagardingされる私の関心は、これも展開することができ

?ウィルこの属性に関するセキュリティ上の問題がありますか?

答えて

2

はい、その変数を展開できます。 Herokuは、12種類のアプリケーション(https://12factor.net)モデルに従います。このモデルでは、環境変数によってこれらの設定が提供されています(https://12factor.net/config参照)。 settings.pyファイル(またはフレームワークに適したもの)には、EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', 'default')のようなものがあります。

heroku config:setコマンドを使用して環境変数を指定します。heroku config:set EMAIL_HOST_PASSWORD=value。 Heroku上にデータベースをプロビジョニングした場合は、DATABASE_URL変数も表示されます。

セキュリティはもう少し微妙です。一方で、ソースコードからパスワードを分離することは、必ず良いことです。もう一方では、プロバイダーが他のすべての構成から構成を保護し隔離することを信頼しています。

本当に編集的で、暗号化された値しか提供できません。しかし、解読鍵などを管理しなければならず、複雑になってしまいます。全体として、Herokuのようなプロバイダを信頼することは、非常に具体的なセキュリティ要件がない限り妥当であると考えています。この場合、おそらく別のインフラストラクチャ/プラットフォームプロバイダを検討すべきです。

1

gmailを使用している場合、Outlookの電子メールは、あなたのアカウントから、gmailにアクセスするのに非常に便利なアプリパスワードを作成します。あなたはEMAIL_HOST_PASSWORDは、システム環境または任意の他のファイルで保存し、プロジェクト

のsettings.pyに継承できる https://support.google.com/accounts/answer/185833?hl=en

関連する問題