New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pgls

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pgls

  • 1.0.4
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Использование разрешений LDAP в PostgreSQL

  • http://github.com/fruworg/pgls

Описание:

LDAP часто используется для централизованного управления пользователями и ролями в корпоративной среде. PostgreSQL предлагает различные методы аутентификации, такие как LDAP, SSPI, GSSAPI или SSL. Однако при любом методе пользователь должен уже существовать в базе данных, прежде чем аутентификация может быть использована. В настоящее время не существует прямой авторизации пользователей базы данных по LDAP. Поэтому роли и членство приходится администрировать дважды.

Данная программа позволяет решить эту проблему путем синхронизации пользователей, групп и их членства из LDAP в PostgreSQL. Доступ к LDAP используется только для чтения. Для синхронизации пользователей и групп pgls выдает соответствующие команды CREATE ROLE, DROP ROLE, GRANT и REVOKE.

Она предназначена для запуска в качестве cron-задания.

Возможности:

  • Создание, удаление пользователей и групп, а также изменения в членстве синхронизируются из LDAP в PostgreSQL.
  • Поддерживаются вложенные группы/роли
  • Настраивается в конфигурационном файле YAML
  • Возможность использования Active Directory в качестве LDAP-сервера
  • Установка области видимости рассматриваемых пользователей/групп на стороне LDAP и PG
  • Тестовый режим, не вносящий никаких изменений в СУБД
  • Соединения между LDAP и PG могут быть защищены с помощью SSL/TLS
  • NTLM и Kerberos аутентификация на LDAP-сервере

Требования:

  • Ruby-2.0+
  • LDAP-v3-сервер
  • PostgreSQL-сервер v9.0+

Установка:

Установить Ruby:

Установка gem:

gem install pgls

Установка из Git:

git clone https://github.com/fruworg/pgls.git
cd pgls
gem install bundler
bundle install
bundle exec rake install

Использование:

Создать файл конфигурации на основе config/sample-config.yaml или еще лучше config/sample-config2.yaml.

Запустить в тестовом режиме:

  pgls -c my_config.yaml -vv -t

Запуск в режиме модификации:

  pgls -c my_config.yaml -vv

Рекомендуется не предоставлять права синхронизируемым пользователям на сервере PostgreSQL, а предоставлять права группам. Это связано с тем, что операторы DROP USER, вызываемые при уходе пользователя, в противном случае терпят неудачу из-за наличия зависимых объектов. Оператор DROP GROUP также не работает при наличии зависимых объектов, но группы, как правило, более стабильны и удаляются редко.

Тестирование:

В каталоге test находится небольшой тестовый набор, который работает с внутренним LDAP-сервером и сервером PostgreSQL. Убедитесь, что команды pg_ctl, initdb и psql находятся в PATH следующим образом:

  cd pgls
  установить пакет
  PATH=$PATH:/usr/lib/postgresql/10/bin/ bundle exec rake test

Проблемы:

  • В настоящее время нет возможности установить определенные атрибуты пользователя в PG на основе индивидуальных атрибутов в LDAP (срок действия и т.д.).

Лицензия

Гем доступен с открытым исходным кодом на условиях MIT License.

FAQs

Package last updated on 25 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc