Spec-Zone.ru › Ansible 2.10

community.general.postgresql_membership – Добавление или удаление ролей PostgreSQL из групп

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для установки используйте: ansible-galaxy collection install community.general.

Для использования в книге задач укажите: community.general.postgresql_membership.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Описание

  • Добавляет или удаляет роли PostgreSQL из групп (другие роли).
  • Пользователи являются ролями с привилегией входа.
  • Группы — это роли PostgreSQL, обычно без привилегии LOGIN.
  • Общий случай использования:
    1. добавить новую группу (группы) с помощью модуля community.general.postgresql_user с параметром role_attr_flags=NOLOGIN
    1. предоставить им необходимые привилегии с помощью модуля community.general.postgresql_privs
    1. добавить нужных пользователей PostgreSQL в новую группу (группы) с помощью этого модуля

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) SSL-центра сертификации (CA).
Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров.

псевдонимы: ssl_rootcert
db
строка
Имя базы данных для подключения.

псевдонимы: login_db
fail_on_role
логическое значение
    Варианты:
  • нет
  • да ←
Если yes, прервать выполнение, когда группа или целевая роль не найдены. Если no, просто вывести предупреждение и продолжить.
groups
список / элементы=строка / обязательно
Список групп (ролей), которые необходимо предоставить или отозвать у target_roles.

псевдонимы: group, source_role, source_roles
login_host
строка
Хост, на котором работает база данных.
login_password
строка
Пароль, используемый для аутентификации.
login_unix_socket
строка
Путь к сокету Unix доменной системы для локальных подключений.
login_user
строка
Значение по умолчанию:
"postgres"
Имя пользователя, используемое для аутентификации.
port
целое число
Значение по умолчанию:
5432
Порт базы данных для подключения.

псевдонимы: login_port
session_role
строка
Переключение на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user.
Проверка разрешений для SQL-команд выполняется так, как будто session_role был первоначально подключившимся.
ssl_mode
строка
    Варианты:
  • allow
  • disable
  • prefer ←
  • require
  • verify-ca
  • verify-full
Определяет, будет ли и с какой приоритетностью устанавливаться защищенное SSL TCP/IP-соединение с сервером.
См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.
Значение по умолчанию prefer соответствует значению по умолчанию libpq.
state
строка
    Варианты:
  • absent
  • present ←
Состояние членства.
state=present подразумевает, что groups должны быть предоставлены target_roles.
state=absent подразумевает, что groups должны быть отозваны у target_roles.
target_roles
список / элементы=строка / обязательно
Список целевых ролей (им будут предоставлены группы).

псевдонимы: target_role, users, user
trust_input
логическое значение
добавлено в 0.2.0 от community.general
    Варианты:
  • нет
  • да ←
Если no, проверять, являются ли значения параметров groups, target_roles, session_role потенциально опасными.
Использование no имеет смысл только тогда, когда возможны SQL-инъекции через параметры.

Примечания

Примечание

  • Аутентификация по умолчанию предполагает, что вы либо заходите как, либо выполняете sudo с учетной записью postgres на хосте.
  • Чтобы избежать ошибки «Ошибка аутентификации клиента для пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg2, адаптер Python для базы данных PostgreSQL. Необходимо убедиться, что psycopg2 установлен на хосте перед использованием этого модуля.
  • Если удаленный хост — это сервер PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удаленном хосте.
  • Для систем на основе Ubuntu установите пакеты postgresql, libpq-dev и python-psycopg2 на удаленном хосте перед использованием этого модуля.
  • Параметр ca_cert требует по крайней мере версию Postgres 8.4 и psycopg2 версии 2.4.3.

См. также

См. также

community.general.postgresql_user

Официальная документация модуля community.general.postgresql_user.

community.general.postgresql_privs

Официальная документация модуля community.general.postgresql_privs.

community.general.postgresql_owner

Официальная документация модуля community.general.postgresql_owner.

Справочник по членству в ролях PostgreSQL

Полный справочник по документации членства в ролях PostgreSQL.

Справочник по атрибутам ролей PostgreSQL

Полный справочник по документации атрибутов ролей PostgreSQL.

Примеры

- name: Grant role read_only to alice and bob
  community.general.postgresql_membership:
    group: read_only
    target_roles:
    - alice
    - bob
    state: present

# you can also use target_roles: alice,bob,etc to pass the role list

- name: Revoke role read_only and exec_func from bob. Ignore if roles don't exist
  community.general.postgresql_membership:
    groups:
    - read_only
    - exec_func
    target_role: bob
    fail_on_role: no
    state: absent

Возвращаемые значения

Общие возвращаемые значения описаны в здесь, следующие являются полями, уникальными для этого модуля:

Ключ Возвращаемое значение Описание
granted
словарь
если state=present
Словарь предоставленных групп и ролей.

Пример:
{'ro_group': ['alice', 'bob']}
queries
строка
всегда
Список выполненных запросов.

Пример:
['GRANT "user_ro" TO "alice"']
revoked
словарь
если state=absent
Словарь отозванных групп и ролей.

Пример:
{'ro_group': ['alice', 'bob']}
state
строка
всегда
Состояние членства, которое пытались установить.

Пример:
present


Авторы

  • Андрей Клычков (@Andersson007)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/postgresql_membership_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API