Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

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

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

Обзор

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

Требования

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

  • psycopg2

Параметры

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

Псевдонимы: 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.postgresql
    Варианты:
  • нет
  • да ←
Если no, проверяйте, являются ли значения параметров groups, target_roles, session_role потенциально опасными.
Использование no имеет смысл только в тех случаях, когда возможны SQL-инъекции через параметры.

Примечания

Примечание

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

См. также

См. также

community.postgresql.postgresql_user

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

community.postgresql.postgresql_privs

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

community.postgresql.postgresql_owner

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

Ссылка на документацию о членстве в роли PostgreSQL

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

Ссылка на документацию о атрибутах роли PostgreSQL

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

Примеры

- name: Grant role read_only to alice and bob
  community.postgresql.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.postgresql.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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/postgresql/postgresql_membership_module.html

Spec-Zone.ru

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