Skip to main content

Manage PostgreSQL roles and privileges from YAML or LDAP

Project description

ldap2pg: PostgreSQL role and privileges management

Continuous Integration report Code coverage report Documentation Version on PyPI

Swiss-army knife to synchronize Postgres roles and privileges from YAML or LDAP.

Features

  • Creates, alter and drops PostgreSQL roles from LDAP queries.

  • Creates static roles from YAML to complete LDAP entries.

  • Manage role members (alias groups).

  • Grant or revoke privileges statically or from LDAP entries.

  • Dry run.

  • Logs LDAP queries as ldapsearch commands.

  • Logs every SQL queries.

  • Reads settings from an expressive YAML config file.

Here is a sample configuration and execution:

$ cat docs/ldap2pg.minimal.yml
- role:
    name: ldap_roles
    options: NOLOGIN
- ldap:
    base: ou=people,dc=ldap,dc=ldap2pg,dc=docker
    filter: "(objectClass=organizationalRole)"
  role:
    name: '{cn}'
    options: LOGIN
    parent: ldap_roles
$ ldap2pg --config docs/ldap2pg.minimal.yml --real
Starting ldap2pg 4.9.
Using .../docs/ldap2pg.minimal.yml.
Running in real mode.
Inspecting roles in Postgres cluster...
Querying LDAP ou=people,dc=ldap,dc=lda... (objectClass...
Create albert.
Create alter.
Create didier.
Create dorothée.
Create ldap_roles.
Update options of alan.
Update options of alice.
Add missing ldap_roles members.
Delete spurious ldap_roles members.
Reassign oscar objects and purge ACL on appdb.
Reassign oscar objects and purge ACL on olddb.
Drop oscar.
Synchronization complete.
$

See versionned ldap2pg.yml and documentation for further options.

Installation

Install it from PyPI tarball:

pip install ldap2pg

More details can be found in documentation.

ldap2pg is licensed under PostgreSQL license. ldap2pg is available with the help of wonderful people, jump to contributors list to see them.

Support

If you need support and you didn’t found it in documentation, just drop a question in a GitHub issue! Don’t miss the cookbook. You’re welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ldap2pg-4.17.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ldap2pg-4.17-py2.py3-none-any.whl (35.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ldap2pg-4.17.tar.gz.

File metadata

  • Download URL: ldap2pg-4.17.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for ldap2pg-4.17.tar.gz
Algorithm Hash digest
SHA256 7ee2a25d496a3e030ab8148d1141623a28a9076a83b12a89686be471fc5448ee
MD5 b373ce36ffab8dd9e8dd683029e61593
BLAKE2b-256 8ba26b0c7c831fef80d948b3b744c8dbfbac115c90e5a69a1a78c0b6277156ef

See more details on using hashes here.

File details

Details for the file ldap2pg-4.17-py2.py3-none-any.whl.

File metadata

  • Download URL: ldap2pg-4.17-py2.py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for ldap2pg-4.17-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b85881751fc77032fa4635d75095b3fe40b06019fa674cb1d062ede3dae60ed9
MD5 022a38d0691ed4841a09a8bb7bea02b2
BLAKE2b-256 515f06d269918a713c60bc2124f864d7e5ad1ba8e685101055d96e5964a0fae7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page