从YAML或LDAP管理PostgreSQL角色和权限
项目描述
瑞士军刀,用于从YAML或LDAP同步Postgres角色和权限。
Postgres能够使用LDAP协议直接与企业目录进行密码校验。ldap2pg可以根据目录中描述的企业组织结构自动创建、更新和删除PostgreSQL角色和用户。
管理角色与权限管理相似,因为您期望角色具有适当的默认权限。ldap2pg也可以授予和撤销权限。
功能
从表达式丰富的YAML配置文件读取设置。
根据LDAP搜索创建、修改和删除PostgreSQL角色。
从YAML创建静态角色以完成LDAP条目。
管理角色成员(别名组)。
静态或从LDAP条目中授予或撤销权限。
干运行,检查模式。
将LDAP搜索记录为ldapsearch(1)命令。
记录每条SQL查询。
以下是一个示例配置和执行
$ cat ldap2pg.yml - role: name: ldap_roles options: NOLOGIN - ldapsearch: base: ou=people,dc=ldap,dc=ldap2pg,dc=docker filter: "(objectClass=organizationalPerson)" role: name: '{cn}' options: LOGIN parent: ldap_roles $ ldap2pg --real Starting ldap2pg 5.7. Using .../ldap2pg.yml. Running in real mode. Inspecting roles in Postgres cluster... Querying LDAP ou=people,dc=ldap,dc=lda... (objectClass... Create domitille. Add missing ldap_roles members. Delete spurious ldap_roles members. Update options of albert. Reassign oscar objects and purge ACL on postgres. Reassign oscar objects and purge ACL on template1. Drop oscar. Synchronization complete. $
安装
ldap2pg需要Python 2.6+或3+,pyyaml,python-ldap和psycopg2。
通用的安装方法是使用pip从PyPI下载。其他方法和更多细节请参阅此文档。
# apt install -y libldap2-dev libsasl2-dev # pip install ldap2pg psycopg2-binary
ldap2pg 采用 PostgreSQL 许可证。在众多好心人的帮助下,ldap2pg 得以发布,您可以查看 贡献者列表 了解他们。
ldap2pg 需要 一个名为 ldap2pg.yaml 的配置文件。[简单但经过测试的 ldap2pg.yml](https://github.com/dalibo/ldap2pg/blob/master/ldap2pg.yml) 是一个很好的起点。
# curl -LO https://github.com/dalibo/ldap2pg/raw/master/ldap2pg.yml # 编辑 ldap2pg.yml
最后,您可以根据自己的需求在 crontab 或 playbook 中使用 ldap2pg。祝您玩得开心!
ldap2pg 已证实可以与 OpenLDAP、FreeIPA、Oracle Internet Directory 和 Microsoft Active Directory 一起工作。
支持
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
ldap2pg-5.9.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5282705d9c280b6685e4597e4c004c4d0420a198a24605be3f9a5ad027a97f61 |
|
MD5 | 842fa2c67ce0fd068064e5b181dbb9c9 |
|
BLAKE2b-256 | 123a168db93a4cbd03b6b9058c3103343480ad68dd14e763579c0fee3807c5fc |
ldap2pg-5.9-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0271783a8067e9167a06ee5ce26bf368c91e5b82eaeb9553448820e1a69fd7ca |
|
MD5 | a7eb9f61d9670f87bbff5ddbd69dcfea |
|
BLAKE2b-256 | e9c65c6fc8577039307ea9976398879a6315183ce8e3ba9c3bea752e1b0de246 |