Spec-Zone.ru › Ansible 2.11

community.postgresql.postgresql_pg_hba – Добавить, удалить или изменить правило в файле pg_hba

Примечание

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

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

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

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

Обзор

  • Основная функция модуля — создание или удаление строк в файлах pg_hba.
  • Строки в файле должны быть в типичном формате pg_hba, а строки должны быть уникальными для каждого ключа (тип, базы данных, пользователи, источник). Если они не уникальны и SID — это тот, который нужно изменить, то останется только один для state=present или ни одного для state=absent SID.

Требования

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

  • ipaddress

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
address
строка
Значение по умолчанию:
"samehost"
Адрес источника/сеть, откуда могут поступать подключения.
Не будет использоваться для записей типа type=local.
Также можно использовать ключевые слова all, samehost, и samenet.

псевдонимы: source, src
attributes
строка
добавлено в 2.3 ansible.builtin
Атрибуты, которые должен иметь результирующий файл или директория.
Чтобы узнать поддерживаемые флаги, посмотрите страницу справки для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr.
Оператор = предполагается по умолчанию, в противном случае операторы + или - должны быть включены в строку.

псевдонимы: attr
backup
булево
    Варианты:
  • нет ←
  • да
Если установлено, создаёт резервную копию файла pg_hba перед его модификацией. Путь к резервной копии возвращается в переменной (backup) данным модулем.
backup_file
строка
Записать резервную копию в указанный файл, а не во временный файл.
contype
строка
    Варианты:
  • local
  • host
  • hostnossl
  • hostssl
Тип правила. Если не задано, postgresql_pg_hba вернёт только содержимое.
create
булево
    Варианты:
  • нет ←
  • да
Создать файл pg_hba если он не существует.
Когда установлено в ложь, возникает ошибка, если файл pg_hba не существует.
databases
строка
Значение по умолчанию:
"all"
Базы данных, к которым относится данная строка.
dest
путь / обязательно
Путь к файлу pg_hba для модификации.
group
строка
Имя группы, которая должна владеть файлом/директорией, как это передаётся в chown.
method
строка
    Варианты:
  • cert
  • gss
  • ident
  • krb5
  • ldap
  • md5 ←
  • pam
  • password
  • peer
  • radius
  • reject
  • scram-sha-256
  • sspi
  • trust
Метод аутентификации, который будет использоваться.
mode
raw
Разрешения, которые должен иметь результирующий файл или директория.
Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы интерпретатор YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') , чтобы Ansible получил строку и мог выполнить своё преобразование из строки в число.
Передача Ansible числа без выполнения одного из этих правил приведёт к десятичному числу, что приведёт к непредвиденным результатам.
Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, u+rwx или u=rw,g=r,o=r)
Если mode не указано, а целевой файл не существует, по умолчанию umask на системе будет использоваться при установке режима для только что созданного файла.
Если mode не указано, а целевой файл существует, будет использован режим существующего файла.
Указание mode — лучший способ гарантировать, что файлы создаются с правильными разрешениями. См. CVE-2020-1736 для получения дополнительной информации.
netmask
строка
Маска сети адреса источника.
options
строка
Дополнительные параметры для метода аутентификации method.
order
строка
    Варианты:
  • sdu ←
  • sud
  • dsu
  • dus
  • usd
  • uds
Записи будут записаны в определенном порядке. С помощью этого параметра вы можете управлять тем, по какому полю они сортируются в первую, вторую и последнюю очередь. s=источник, d=базы данных, u=пользователи. Этот параметр устарел с версии 2.9 и будет удален в community.postgresql 3.0.0. Сортировка теперь жестко задана как sdu.
owner
строка
Имя пользователя, который должен владеть файлом/директорией, как это передаётся в chown.
selevel
строка
Часть уровня SELinux контекста файла.
Это атрибут MLS/MCS, иногда известный как range.
Если установлено значение _default, будет использована часть политики level, если она доступна.
serole
строка
Часть роли SELinux контекста файла.
Если установлено значение _default, будет использована часть политики role, если она доступна.
setype
строка
Часть типа SELinux контекста файла.
Если установлено значение _default, будет использована часть политики type, если она доступна.
seuser
строка
Часть пользователя SELinux контекста файла.
По умолчанию используется политика system, где это применимо.
Если установлено значение _default, будет использована часть политики user, если она доступна.
state
строка
    Варианты:
  • отсутствует
  • наличие ←
Строки будут добавлены/изменены, когда state=present, и удалены, когда state=absent.
unsafe_writes
булево
добавлено в 2.2 ansible.builtin
    Варианты:
  • нет ←
  • да
Влияет на то, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции терпят неудачу (хотя это не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных.
users
строка
Значение по умолчанию:
"all"
Пользователи, к которым относится данная строка.

Примечания

Примечание

  • По умолчанию аутентификация предполагает, что на хосте вы вошли как пользователь или используете sudo с соответствующими разрешениями для чтения и изменения файла.
  • Этот модуль также возвращает информацию pg_hba. Вы можете использовать этот модуль только для извлечения информации, указав только dest. Информация может быть найдена в возвращаемых данных под ключом pg_hba, являющимся списком, содержащим словарь на правило.
  • Этот модуль будет сортировать результирующие pg_hba файлы, если требуется изменение правила. Это может привести к непредсказуемым результатам с вручную созданными файлами hba, если они были неправильно отсортированы. Например, правило было создано для сети сначала, а затем для IP-адреса в этом диапазоне. В этой ситуации правило для конкретного IP-адреса никогда не будет срабатывать, оно будет устаревшим в файле pg_hba. После перезаписи файла pg_hba модулем community.postgresql.postgresql_pg_hba, правило для конкретного IP-адреса будет отсортировано выше правила для диапазона. И тогда оно будет срабатывать, что приведёт к непредсказуемым результатам.
  • С помощью параметра «order» вы можете управлять тем, какое поле используется для сортировки в первую, вторую и последнюю очередь.
  • Модуль поддерживает режим проверки и режим различий.

См. также

См. также

Ссылка на файл конфигурации PostgreSQL pg_hba.conf

Полное руководство по документации файла конфигурации PostgreSQL pg_hba.conf.

Примеры

- name: Grant users joe and simon access to databases sales and logistics from ipv6 localhost ::1/128 using peer authentication
  community.postgresql.postgresql_pg_hba:
    dest: /var/lib/postgres/data/pg_hba.conf
    contype: host
    users: joe,simon
    source: ::1
    databases: sales,logistics
    method: peer
    create: true

- name: Grant user replication from network 192.168.0.100/24 access for replication with client cert authentication
  community.postgresql.postgresql_pg_hba:
    dest: /var/lib/postgres/data/pg_hba.conf
    contype: host
    users: replication
    source: 192.168.0.100/24
    databases: replication
    method: cert

- name: Revoke access from local user mary on database mydb
  community.postgresql.postgresql_pg_hba:
    dest: /var/lib/postgres/data/pg_hba.conf
    contype: local
    users: mary
    databases: mydb
    state: absent

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

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

Ключ Возвращаемое значение Описание
backup_file
строка
изменённое
Файл, в который был сохранён резервный файл оригинального pg_hba.

Пример:
/tmp/pg_hba_jxobj_p
msgs
список / элементы=строка
всегда
Список текстовых сообщений о выполненных действиях.

Пример:
{'msgs': ['Удаление', 'Изменено', 'Запись']}
pg_hba
список / элементы=строка
всегда
Список правил pg_hba, как они настроены в указанном файле hba.

Пример:
{'pg_hba': [{'db': 'all', 'method': 'md5', 'src': 'samehost', 'type': 'host', 'usr': 'all'}]}


Авторы

  • Себастьяан Маннем (@sebasmannem)

© 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_pg_hba_module.html

Spec-Zone.ru

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