Django集中式环境变量服务

django-cenvars的Python项目详细描述


https://img.shields.io/codeship/e8d9f750-264b-0134-0de7-62f9de04cc38/default.svghttps://coveralls.io/repos/bitbucket/hellwig/django-cenvars/badge.svg?branch=defaulthttps://img.shields.io/pypi/v/django-cenvars.svghttps://img.shields.io/badge/Donate-PayPal-blue.svghttps://img.shields.io/badge/Donate-Patreon-orange.svg

django cenvars

这是什么?

django cenvars是cenvars的参考实现,集中化 环境变量服务。cenvars描述一种机器 获取和设置存储在中央服务器上的环境变量。

它解决了什么问题?

在开发服务器端应用程序时,通常必须存储用户名和 与其他服务交互的密码。存储这些安全性 存储库中的敏感信息是一个巨大的风险,开发人员常常不得不 使用非版本化的机密文件或将其存储在 环境变量。这两种解决方案都提供了管理这些 数据点。Django Cenvars通过 只要求将cenvars连接详细信息存储在环境中。 所有其他变量都可以通过此服务解析。

协议

概述

对于加密,我们同时使用rsa和aes,对于aes,使用256位密钥,即 用2048位rsa密钥加密。 RSA是一个非对称密钥,解密密钥(私钥)由 客户端,而服务器使用加密密钥(公钥)。

在将“数据”发送到客户端之前,服务器将创建一个新的256位aes 钥匙。此密钥用于加密文本块,而不是使用 RSA加密密钥。生成的blob在

>;json dict>;zip>;aes encrypt>;

>;https://example.com/cenvars/?identifier=hexdigest <;blob

(这是 RSA密钥)。

警告

在架构中引入单点故障不应该是 轻率地进行,除非有一个集中的变量服务是有意义的 在您的设置中,我建议不要使用此服务。

库中使用的加密技术(rsa和aes)可以提供 原始文件数据意外泄漏的屏障,但是访问密钥是 最后存储在机器本身上,因此可以登录到 客户机将显示该计算机的所有环境变量。 对服务器进行登录访问将显示所有环境变量。

小心行事,事先警告并保持警惕,你正在把所有的鸡蛋 不过,这里只有一个篮子,除非你有另一种加密方法。 存储和注入环境变量,这将是一个很大的改进, 无论是安全还是管理。

如何安装?

$ pip install django-cenvars

我怎么用?

这是一个符合django integrator的项目,因此在设置文件中添加:

django_integrator.add_application('django_cenvars')

您还需要设置以下环境变量:

  • CENVARS_URL
  • CENVARS_KEY

cenvars_url是外部客户机可以连接到服务器的url 得到它的环境变量。

cenvars_密钥是用于加密 持久数据库。它可以通过以下命令生成:

python manage.py cenvars_newkey

这是什么执照?

双条款bsd

我怎样才能得到支持?

请使用repo的bug追踪器留下任何问题、反馈, 建议和意见。我会根据我的时间和外表来处理 很有趣。如果您需要担保支持,请通过 发电子邮件以便我们讨论适当的补偿。

签字

我的工作对你有帮助还是有价值?您可以通过以下方式来回报我:

https://paypal.me/MartinHellwig

Donate via PayPal.Me

-或-

https://www.patreon.com/hellwig

Donate via Patreon

谢谢你!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX触控事件未触发Ubuntu 20.04触控笔记本电脑   java如何在AWT中关闭窗口?   java Dagger 2:注入具有构造函数参数的成员   创建对象的Java调用类   对象我想在A.java中添加两个数字,并在B.java中打印结果(如何?)   java如何使用AWS SDK for Android从数字海洋空间下载图像?   java Facebook sdk 4.0.1无法使用Android studio获取某些字段   4分钟后web应用程序(Angular 8和Rest API)中的java自动会话超时   在Eclipse for Java EE developers edition中禁用HTML警告   java按字母顺序排列字符串我错过了什么明显的东西吗?   java在Jshell中println和printf有什么不同