:elephant: :busts_in_silhouette: Manage PostgreSQL roles and privileges from YAML or LDAP
|ldap2pg|
| |CircleCI| |Codecov| |RTD| |PyPI| |Docker|
Swiss-army knife to synchronize Postgres roles and privileges from YAML or LDAP.
.. _documentation: https://ldap2pg.readthedocs.io/en/latest/ .. _license: https://opensource.org/licenses/postgresql .. _contributors: https://github.com/dalibo/ldap2pg/blob/master/CONTRIBUTING.md#contributors
ldapsearchcommands.
Here is a sample configuration and execution:
::
$ cat ldap2pg.yml - role: name: ldap_roles options: NOLOGIN - ldap: 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.3. 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. $
See versionned
ldap2pg.yml_ and documentation_ for further options.
Install it from PyPI tarball::
pip install ldap2pg psycopg2-binary
More details can be found in documentation_.
ldap2pgis licensed under PostgreSQL license.
ldap2pgis available with the help of wonderful people, jump to contributors list to see them.
ldap2pgis reported to work with
OpenLDAP,
FreeIPA, Oracle Internet Directory and Microsoft Active Directory.
.. _OpenLDAP: https://www.openldap.org/ .. _FreeIPA: https://www.freeipa.org/
If you need support and you didn't found it in documentation, just drop a question in a
GitHub issue! French accepted. Don't miss the
cookbook_. You're welcome!
.. |Codecov| image:: https://codecov.io/gh/dalibo/ldap2pg/branch/master/graph/badge.svg :target: https://codecov.io/gh/dalibo/ldap2pg :alt: Code coverage report
.. |CircleCI| image:: https://circleci.com/gh/dalibo/ldap2pg.svg?style=shield :target: https://circleci.com/gh/dalibo/ldap2pg :alt: Continuous Integration report
.. |Docker| image:: https://img.shields.io/docker/automated/dalibo/ldap2pg.svg :target: https://hub.docker.com/r/dalibo/ldap2pg :alt: Docker Image Available
.. |ldap2pg| image:: https://github.com/dalibo/ldap2pg/raw/master/docs/img/logo-phrase.png :target: https://labs.dalibo.com/ldap2pg :alt: ldap2pg: PostgreSQL role and privileges management
.. |PyPI| image:: https://img.shields.io/pypi/v/ldap2pg.svg :target: https://pypi.python.org/pypi/ldap2pg :alt: Version on PyPI
.. |RTD| image:: https://readthedocs.org/projects/ldap2pg/badge/?version=latest :target: https://ldap2pg.readthedocs.io/en/latest/?badge=latest :alt: Documentation