【发布时间】:2015-01-28 14:45:38
【问题描述】:
我有一个 Django 应用程序,它使用一些密钥(例如用于 OAuth2 / JWT 身份验证)。我想知道存放这些密钥的正确位置在哪里。
以下是我目前找到的方法:
- 硬编码:不是一个选项,我不希望我的秘密在源代码管理中。
- 硬编码 + 混淆:与 #1 相同 - 攻击者只需运行我的代码即可获取机密。
-
存储在环境变量中:我的
app.yaml也是源代码控制的。 - 存储在数据库中:不确定。 DB 在可用性和安全性方面不够可靠。
- 存储在非源代码控制的文件中:到目前为止我最喜欢的方法。问题是我需要对文件进行一些备份,而手动备份听起来不对。
我错过了什么吗?是否有存储 Django 应用或 App Engine 应用的密钥的最佳做法?
【问题讨论】:
-
您说数据存储不够可靠是什么意思?它有 99.999% 的可用性。
-
@DanielRoseman 我没有使用数据存储。我正在使用 Cloud Sql。
-
不确定 App Engine 是如何工作的,但是存储密码等可以很容易地存储在不受源代码控制的环境变量中。至少它在任何普通的 Linux 环境中都是这样工作的。
标签: python django google-app-engine