munge的python接口
pymunge的Python项目详细描述
pymunge是munge的c api的python包装器,名为 利布芒格。pymunge提供要创建的函数和类 使用munge验证凭证,并使用 咀嚼上下文。
Munge(Munge Ud'n'Gid商场,https://dun.github.io/munge/) 是用于创建和验证凭据的身份验证服务 设计为可在HPC群集环境中使用的高可扩展性。
pymunge官方存储库:https://github.com/nomadictype/pymunge
PYPI项目页面:https://pypi.python.org/pypi/pymunge
API引用:https://pymunge.readthedocs.io/en/latest/
安装说明
要求:
- Python3.4或更高版本(或Python2.7中的'Enum34'包)。
- 咀嚼0.5.x或更高。
- 一个被屏蔽的守护进程必须在同一台计算机上运行 使pymunge能够创建和验证凭据。
确保满足上述所有要求。之后, 有几种可能的方法可以继续:
要从pypi安装pymunge,请运行以下命令(最好是 在虚拟机中):
python3 -m pip install pymunge
或者,您的操作系统发行版可能包含pymunge作为包, 名称为pymunge、python3 pymunge或python pymunge。
pymunge也可以直接使用而无需安装。只要确保 python可以找到pymunge包(例如 pymunge包到pythonpath的父目录 环境变量)。
入门/教程
本快速教程介绍如何使用pymunge api。如果你愿意, 您可以在交互式python 3会话中继续;只需复制 前面有>;的所有代码。
首先,导入包:
>>> import pymunge
对凭证进行编码(创建)和解码(验证)的最简单方法 使用pymunge.encode()和pymunge.decode()函数。 例如:
>>> cred = pymunge.encode(b"some payload") >>> cred b'MUNGE:AwQDAA...'
凭证cred现在可以发送到其他进程进行解码 (通过插座或其他IPC机制)-这是责任 在使用pymunge的程序中,pymunge不提供任何函数 做这个!出于测试的目的,您还可以将凭证导入 手工解谜程序。为了简化本教程,让我们 在同一过程中直接解码凭证:
>>> payload, uid, gid, ctx = pymunge.decode(cred) >>> payload b'some payload'
pymunge.decode()返回4个值:封装的负载 在凭证中,创建 凭证和咀嚼上下文。可以将此上下文检查为 获取有关凭据的其他信息:
>>> ctx.cipher_type <CipherType.AES128: 4> >>> ctx.encode_time 1514469923 >>> ctx.ttl 300 >>> ctx.uid_restriction -1
(也可以尝试运行帮助(ctx)查看所有属性的列表 上下文可以有。)
可以在现有的MunGE中进行编码和解码。 上下文。这对于自定义用于 对凭证进行编码:>>> with pymunge.MungeContext() as ctx: >>> ctx.uid_restriction = 0 # allow only root to decode the credential >>> cred = ctx.encode(b"some other payload")
类似地,mungecontext.decode()可用于 现有上下文。
基本教程到此结束。一组相似的例子 在与pymunge一起分发的文件pymunge_example.py中提供。