无服务器身份、访问、记帐、存储和计算管理系统

acquire的Python项目详细描述


获取

构建状态

(c)Christopher Woods 2018-在apache 2许可下发布

安装

pip install acquire

云的访问、记帐、授权(身份)、存储和计算基础设施

Acquire是云计算的aaai基础设施。它提供了一个云中立 平台包括以下五个功能:

  1. 授权(身份)管理:使用户能够安全地标识自己 并生成安全的身份令牌,这些令牌可以提供给其他服务以授权 操作。

  2. 访问管理:允许用户请求对资源的访问。用户 通过身份服务识别自己并将授权令牌传递给 访问服务请求访问。

  3. 记帐:使用户能够控制和跟踪其使用情况。用户识别 他们自己进入身份服务,通过访问请求对资源的访问 服务,然后检查会计服务是否有足够的资金 存在以支付访问费,并提交付款发票。一旦进入 已收到并转移资金。这样,用户 控制他们的开支,提供全面的审计跟踪 系统使用的财务和使用说明。

  4. 存储:允许用户存储和共享数据。用户创建的驱动器 位于存储服务区,可提前支付短期和长期费用 在这些驱动器中存储数据。访问控制列表允许单个文件 或与通过标识标识的任何用户或组共享的驱动器 服务,或者通过永久的公开可见的url。文件有版本控制,并且可以 在"热"(快)和"冷"(慢但便宜)存储之间移动。这个 为每个云的对象存储功能提供一个薄包装。

  5. 计算:允许用户请求访问按需计算,例如 通过单个实例或弹性簇,例如 云中的群集。 计算是预先支付的,并通过运行的任何云提供 通过会计服务接受付款的计算服务,以及 运行由通过身份服务标识的用户安全授权的作业。 这项服务是完全弹性的,也就是说用户只需提前付款 它们实际使用的计算功能。

云本机且高度可扩展

Acquire构建为云本机应用程序。它被写成一套 通过中央对象存储管理状态的无服务器功能。

  • 无服务器:Acquire使用开源的fn项目。 这是一个容器本机无服务器平台,可以在任何地方运行 云计算或内部部署。它的工作原理是将函数代码打包到Docker中 根据http/https中的触发器按需执行的容器 终点。

  • 对象存储:acquire在公共对象周围使用一个精简的抽象 存储以读取和写入所有数据。这提供了对数据的全局访问 具有高安全性(所有对象存储数据都在传输中加密, 在静止状态下使用旋转键加密。

这两种技术的结合使得acquire 可扩展的。没有"空闲服务器",因为计算只被消耗 当调用acquire函数时。随着需求的增加,更多的资源 设置为随负载自动缩放。

分布

Acquire中的三个服务彼此建立在一起,但是 完全分离。每项服务都是设计为独立运行的 对象存储/fn服务器,从而允许它们被分发 在多个地区的多个服务之间(甚至在 多个云提供商)。服务分离提高了安全性, 因为损害会计服务不会有任何影响 关于身份服务(不是说任何服务都应该 别紧张!

安全

获取基于标准密码库的构建并使用 在可能的情况下,底层云提供商的生产api。 底层对象存储的安全机制是 使用(所有对象数据的移动都是加密的,并且数据是 使用旋转密钥加密)。此外,输入 底层无服务器函数的输出数据是 使用行业标准库和 算法(SSL,Python加密 以及javascript网络加密api。 具体来说,2048位rsa密钥具有sha256哈希和mgf1填充 用于加密和共享fernet 用对称fernet加密生成的秘密。费尔内 生成URL安全编码密钥,在CBC模式下使用128位AES 以及pkcs7填充,hmac使用sha256。签署和验证 使用2048位rsa密钥,使用sha256散列进行mgf1填充 再加一点盐。

为了简化acquire的python部分中密码的使用,它被完全包装 进入一个简单的acquire.crypto库, 处理所有加密、解密、签名和验证 通过acquire.crypto.keys (在acquire_crypto.js中有相应的javascript代码)。 此外,用户使用密码和 使用pyotp生成的一次性代码 库,位于rfc 6238 生成与google authenticator兼容的基于时间的一次性 密码。这些都是由Acquire严格检查的, 记录保存用于确保每个代码只使用一次。

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

推荐PyPI第三方库


热门话题
当您有许多具有不同密钥值的位置时,java Enterprise是加密环境变量的正确方法   java如何使用视图保持器模式制作自定义适配器?   java如何迭代Camel体中的嵌套列表?   序列化用base 64进行Java序列化   java打开文件的最佳方式(并确保选择了文件)   java marvin图像色差插件错误   java如何在eclipse中添加属性文件文件夹   比较java。util。日历日期到java。util。日期   java无法在下一个类(活动)中获取哈希表   java如何将这段代码转换为循环?   java查找通过REST失败   java getIntent返回null   在Java中,如何通过外部集合从内部集合检索数据?   java单点登录以保护REST API和内部基于web的系统