跳转到主要内容

"devpi-tokens: 为devpi-client和devpi-server添加对受限访问令牌的支持"

项目描述

devpi-tokens: devpi的认证令牌插件

此插件为devpi-server添加了认证令牌,并支持向devpi-client添加命令。

安装

devpi-tokens需要与devpi-server一起安装以启用认证令牌。

在客户端机器上,令牌的使用无需插件。令牌的创建需要将devpi-tokens插件与devpi-client一起安装。插件还添加了几个命令,用于检查和推导具有受限权限的令牌。

您可以使用以下方式安装它

pip install devpi-tokens

无需配置,因为devpi-serverdevpi-client将通过调用使用setuptools入口点机制的钩子自动发现插件。

动机

devpi的默认认证机制需要用户名和密码。这样,认证用户有一个固定的权限集。特别是对于CI系统,这太不灵活了。还存在着密码可能泄露到日志输出和其他来源的风险。

使用 devpi-tokens,可以为每个用户创建额外的认证令牌。这些令牌可以拥有有限的权限集。令牌无法修改任何用户数据。

可以从现有令牌中派生新令牌,并进一步限制权限集,而无需与服务器联系。

该插件基于 macaroons 构建。

用法

当与 devpi-client 一起安装时,devpi-tokens 插件会添加新的命令。

token-create

为用户创建新的令牌。默认情况下,令牌在当前用户的范围内创建。管理员用户(如 root)可以使用 -u/--user 选项为其他用户创建令牌。令牌的默认过期日期为一年,但可以使用 -e/--expires 选项进行更改。通过使用 -a/--allowed-i/--indexes-p/--projects 选项,可以进一步限制令牌的范围。

token-delete

删除现有的令牌。任何派生令牌也将被无效化。

token-derive

从现有令牌中派生一个新的令牌。这允许进一步限制令牌的范围,超过原始范围。

token-inspect

显示给定令牌的信息。这包括任何过期时间和权限限制等。

token-list

显示从服务器获取的用户令牌列表。这仅显示使用 token-create 创建的初始令牌。由于派生令牌定义为不需要与服务器联系,因此它们不能列出。

token-login

使用令牌通过 devpi-client 登录。这也很有用,可以通过创建具有更长时间到期和没有进一步限制的令牌来登录超过默认的 10 小时。以这种方式登录时,无法修改任何用户数据,因为令牌永远不会具有用户操作权限。

变更日志

1.0.1 - 2023-03-27

  • 修复闰年错误

1.0.0 - 2023-02-26

  • 添加 Python 3.10 支持

  • 删除 Python 3.6 支持

  • 添加 not_before 限制

  • 支持 devpi-client 6.0.0 中 pypitoken 添加的限制

0.6.0 - 未发布

  • 在帮助输出中隐藏用户权限,因为它们在服务器端已经禁用

  • 允许令牌作为无密码的用户名或无用户名的密码与基本身份验证一起使用

0.5.0 - 未发布

  • 当使用未知权限时请求确认

  • 添加将生成的令牌写入文件的选项

  • 在帮助中显示已知的 devpi-server 权限列表

  • 当缺少 delta 依赖项时显示有用的错误

  • 修复过期计算中的时区问题

  • 如果可能,显示可读的过期时间

0.4.0 - 未发布

  • 通过使用前缀统一命令命名

  • 添加 token-delete 命令

  • 添加 token-derive 命令

  • 添加 token-list 命令

  • 允许 root 或来自 --restrict-modify 的用户为其他用户创建令牌,且无过期时间

  • 添加对令牌的允许限制

  • 为令牌添加过期时间

  • 为令牌添加索引限制

  • 为令牌添加项目限制

0.3.0 - 未发布

  • 添加 inspect-token 命令

  • 使用 token-login 时验证登录状态

0.2.0 - 未发布

  • 使用新的钩子和派生密钥

0.1.0 - 未发布

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

devpi-tokens-1.0.1.tar.gz (22.3 kB 查看哈希值)

上传时间

构建分发

devpi_tokens-1.0.1-py3-none-any.whl (22.5 kB 查看哈希值)

上传时间 Python 3

支持者