tdk*_*dkr 5 ruby ruby-on-rails heroku
我使用Heroku部署Rails应用程序。我将敏感数据(例如API密钥和密码)存储在Heroku的环境变量中,然后在利用各种API的rake任务中使用这些数据。
我只是想知道Heroku的环境变量有多安全?有什么方法可以散列这些变量,同时保留以某种方式在后台使用它们的功能?
我在这里遇到了上一个线程:将密码作为环境变量(而不是纯文本)存储在配置文件中是否安全?。
但是当我仍然需要散列密码来执行重要的后台任务时,它并不能完全涵盖实例。
有几件事(主要是我的意见):
--
1.API密钥!=密码
当您谈论 时API Keys,您谈论的是通常已经非常安全的公共令牌。如今 API 的本质是它们需要某种事先身份验证(无论是在应用程序级别还是在用户级别)来创建更强大的安全级别。
我首先要确保您在变量中存储什么类型的数据ENV。如果是纯密码(用于电子邮件等),也许可以考虑将您的设置迁移到云提供商之一(SendGrid/Mandrill 等),从而允许您仅使用 API 密钥
API 密钥的美妙之处在于它们可以更改,同时不会影响基本帐户,并且将交互性限制在 API 的约束下。密码影响基本帐户
--
2. ENV Vars是操作系统级别的
它们是进程运行的操作环境的一部分。例如,正在运行的进程可以查询 TEMP 环境变量的值以发现存储临时文件的合适位置,或者查询 HOME 或 USERPROFILE 变量以查找运行该进程的用户拥有的目录结构。
您必须记住环境变量基本上意味着您将数据存储在environment您正在操作的环境中。通常表示“操作系统”,但如果需要,也可以是操作系统的虚拟实例。
最重要的是,您的 ENV 变量存在于服务器的核心中。与文本文件位于硬盘驱动器上的目录中的方式相同 - 环境变量驻留在操作系统的核心中
除非您对服务器本身进行了黑客攻击,否则很难以编程方式获取 ENV 变量数据,至少根据我的经验。
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |