Spec-Zone.ru › Ansible 2.9

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

Новая в версии 2.8.

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

Описание

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

Требования

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

  • psycopg2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
строка
Указывает имя файла, содержащего сертификат(ы) центра сертификации (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

Примечания

Примечание

  • Аутентификация по умолчанию предполагает, что вы либо входите в систему как пользователь, либо используете sudo для входа в postgres учетную запись на хосте.
  • Чтобы избежать ошибки «Ошибка проверки подлинности peer для пользователя 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.

См. также

См. также

postgresql_user – Добавление или удаление пользователя (роли) из экземпляра сервера PostgreSQL
Официальная документация по модулю postgresql_user.
postgresql_privs – Предоставление или отозвание привилегий для объектов базы данных PostgreSQL
Официальная документация по модулю postgresql_privs.
postgresql_owner – Изменение владельца объекта базы данных PostgreSQL
Официальная документация по модулю postgresql_owner.
Справочник по членству в ролях PostgreSQL
Полный справочник по документации PostgreSQL по членству в ролях.
Справочник по атрибутам ролей PostgreSQL
Полный справочник по документации PostgreSQL по атрибутам ролей.

Примеры

- name: Grant role read_only to alice and bob
  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
  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


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Andrew Klychkov (@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.9/modules/postgresql_membership_module.html

Spec-Zone.ru

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