Spec-Zone.ru › Ansible

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

Примечание

Этот модуль является частью коллекции community.postgresql (версия 3.6.1).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

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

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

Описание

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

Требования

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

  • psycopg2 >= 2.5.1

Параметры

Параметр

Комментарии

ca_cert

псевдонимы: ssl_rootcert

строка

Указывает имя файла, содержащего сертификат(ы) центра сертификации SSL (CA).

Если файл существует, сертификат сервера будет проверен на подпись одним из этих центров сертификации.

connect_params

словарь

добавлен в community.postgresql 2.3.0

Дополнительные параметры, передаваемые в libpg.

Эти параметры имеют приоритет.

По умолчанию: {}

db

псевдонимы: login_db

строка

Имя базы данных для подключения.

fail_on_role

булево

Если true, прекратить выполнение, если группа или target_role не существует. Если false, просто вывести предупреждение и продолжить.

Варианты:

  • false
  • true ← (по умолчанию)

groups

псевдонимы: group, source_role, source_roles

список / элементы=строка / обязательный

Список групп (ролей), которые нужно предоставить или отозвать у target_roles.

login_host

псевдонимы: host

строка

Хост, на котором работает база данных.

Если у вас проблемы с подключением при использовании localhost, попробуйте использовать 127.0.0.1 вместо этого.

По умолчанию: ""

login_password

строка

Пароль, который должен использовать этот модуль для подключения к PostgreSQL.

По умолчанию: ""

login_unix_socket

псевдонимы: unix_socket

строка

Путь к сокету Unix доменного сокета для локальных подключений.

По умолчанию: ""

login_user

псевдонимы: login

строка

Имя пользователя, которое должен использовать этот модуль для подключения к PostgreSQL.

По умолчанию: "postgres"

port

псевдонимы: login_port

целое число

Порт базы данных для подключения.

По умолчанию: 5432

session_role

строка

Переключиться на session_role после подключения. Указанная session_role должна быть ролью, членом которой является текущий login_user.

Проверка разрешений для SQL-команд выполняется так, как будто роль session_role была той, которая первоначально вошла в систему.

ssl_cert

путь

добавлен в community.postgresql 2.4.0

Указывает имя файла клиентского сертификата SSL.

ssl_key

путь

добавлен в community.postgresql 2.4.0

Указывает местоположение секретного ключа, используемого для клиентского сертификата.

ssl_mode

строка

Определяет, будет ли и с каким приоритетом устанавливаться безопасное SSL TCP/IP-соединение с сервером.

См. https://www.postgresql.org/docs/current/static/libpq-ssl.html для получения дополнительной информации о режимах.

Значение по умолчанию prefer соответствует значению по умолчанию libpq.

Варианты:

  • "allow"
  • "disable"
  • "prefer" ← (по умолчанию)
  • "require"
  • "verify-ca"
  • "verify-full"

state

строка

Состояние членства.

state=present подразумевает, что groups должны быть предоставлены target_roles.

state=absent подразумевает, что groups должны быть отозваны у target_roles.

state=exact подразумевает, что target_roles будут членами только groups (доступно с community.postgresql 2.2.0). Любые другие группы будут отозваны у target_roles.

Варианты:

  • "absent"
  • "exact"
  • "present" ← (по умолчанию)

target_roles

aliases: target_role, users, user

список / элементы=строка / обязательный

Список целевых ролей (группы будут предоставлены им).

trust_input

булево

добавлен в community.postgresql 0.2.0

Если false, проверить, являются ли значения параметров groups, target_roles, session_role потенциально опасными.

Использование false имеет смысл только в том случае, если возможны SQL-инъекции через параметры.

Выбираемые значения:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменений состояния без модификации целевого объекта.

Примечания

Примечание

  • По умолчанию используется аутентификация, предполагающая, что вы вошли в систему или используете sudo с учетной записью postgres на хосте.
  • Чтобы избежать ошибки «Ошибка аутентификации клиента для пользователя postgres», используйте пользователя postgres в качестве become_user.
  • Этот модуль использует psycopg, адаптер Python PostgreSQL базы данных. Вы должны убедиться, что psycopg2 >= 2.5.1 или psycopg3 >= 3.1.8 установлены на хосте перед использованием этого модуля.
  • Если удалённый хост — сервер PostgreSQL (что является стандартным случаем), то PostgreSQL также должен быть установлен на удалённом хосте.
  • Для систем на базе Ubuntu установите пакеты postgresql, libpq-dev, и python3-psycopg2 на удалённом хосте перед использованием этого модуля.

См. также

См. также

community.postgresql.postgresql_user

Создание, изменение или удаление пользователя (роли) из экземпляра сервера PostgreSQL.

community.postgresql.postgresql_privs

Предоставление или отмена привилегий на объекты базы данных PostgreSQL.

community.postgresql.postgresql_owner

Изменение владельца объекта базы данных PostgreSQL.

Справочник по членству в ролях 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: false
    state: absent

- name: >
    Make sure alice and bob are members only of marketing and sales.
    If they are members of other groups, they will be removed from those groups
  community.postgresql.postgresql_membership:
    group:
    - marketing
    - sales
    target_roles:
    - alice
    - bob
    state: exact

- name: Make sure alice and bob do not belong to any groups
  community.postgresql.postgresql_membership:
    group: []
    target_roles:
    - alice
    - bob
    state: exact

Значения возврата

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

Ключ

Описание

granted

словарь

Словарь предоставленных групп и ролей.

Возвращается: если state=present

Пример: {"ro_group": ["alice", "bob"]}

queries

строка

Список выполненных запросов.

Возвращается: успех

Пример: "['GRANT \"user_ro\" TO \"alice\"']"

revoked

словарь

Словарь отозванных групп и ролей.

Возвращается: если state=absent

Пример: {"ro_group": ["alice", "bob"]}

state

строка

Состояние членства, которое пытались установить.

Возвращается: успех

Пример: "present"

Авторы

  • Andrew Klychkov (@Andersson007)

Ссылки на сборку

  • Система отслеживания ошибок
  • Репозиторий (исходники)
  • Сообщить об ошибке
  • Связь

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

Spec-Zone.ru

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