Spec-Zone.ru › Ansible 2.9

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

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

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

Описание

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

Требования

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

  • ipaddress

Параметры

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

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

псевдонимы: attr
backup
булево
    Варианты:
  • нет ←
  • да
Если установлено, создается резервная копия файла pg_hba перед его изменением. Путь к резервной копии возвращается в переменную (backup) этим модулем.
backup_file
строка
Записать резервную копию в определённый файл, а не во временный файл.
contype
строка
    Варианты:
  • local
  • host
  • hostnossl
  • hostssl
Тип правила. Если не задано, то postgresql_pg_hba вернёт только содержимое.
create
булево
    Варианты:
  • нет ←
  • да
Создать файл pg_hba если он не существует.
Если установлено в значение false, возникает ошибка, когда файл pg_hba не существует.
databases
строка
Значение по умолчанию:
"все"
Базы данных, к которым относится эта строка.
dest
путь / обязательно
Путь к файлу pg_hba для изменения.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как и при использовании команды chown.
method
строка
    Варианты:
  • cert
  • gss
  • ident
  • krb5
  • ldap
  • md5 ←
  • pam
  • password
  • peer
  • radius
  • reject
  • scram-sha-256
  • sspi
  • trust
Метод аутентификации, который необходимо использовать.
mode
строка
Разрешения, которые должен иметь результирующий файл или каталог.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы можете либо добавить ведущую ноль, чтобы интерпретатор YAML Ansible понял, что это восьмеричное число (как 0644 или 01777), или заключить его в кавычки (как '644' или '1777'), чтобы Ansible получил строку и выполнил преобразование из строки в число.
Если вы передадите Ansible число без одного из этих правил, это будет десятичное число, что приведёт к непредсказуемым результатам.
Начиная с Ansible 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).
netmask
строка
Маска сети адреса источника.
options
строка
Дополнительные параметры для метода аутентификации method.
order
-
    Варианты:
  • sdu ←
  • sud
  • dsu
  • dus
  • usd
  • uds
Записи будут выведены в определенном порядке. С помощью этого параметра можно контролировать, по какому полю они будут отсортированы в первую, вторую и последнюю очередь. s=источник, d=базы данных, u=пользователи. Этот параметр устарел с версии 2.9 и будет удален в версии 2.11. Теперь сортировка по умолчанию задана как sdu.
owner
строка
Имя пользователя, который должен владеть файлом/каталогом, как и при использовании команды chown.
selevel
строка
Значение по умолчанию:
"s0"
Часть уровня 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
булево
    Варианты:
  • нет ←
  • да
Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные через docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарно.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции не удаются (хотя он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
users
-
Значение по умолчанию:
"все"
Пользователи, к которым относится эта строка.

Примечания

Примечание

  • По умолчанию аутентификация предполагает, что на хосте вы вошли в систему как пользователь с соответствующими правами на чтение и изменение файла или используете sudo.
  • Этот модуль также возвращает информацию pg_hba. Вы можете использовать этот модуль для получения только этой информации, указав только параметр dest. Информация находится в возвращаемых данных под ключом pg_hba, являющимся списком, содержащим словарь на правило.
  • Этот модуль будет сортировать полученные pg_hba файлы, если требуется изменение правила. Это может привести к неожиданным результатам при использовании вручную созданных файлов hba, если они не отсортированы должным образом. Например, правило создано для сети, а затем для IP-адреса в этом диапазоне. В этом случае правило для конкретного IP-адреса никогда не будет применено, оно считается устаревшим в файле pg_hba. После перезаписи файла pg_hba модулем 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.
  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.
  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.
  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'}]}


Статус

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

Авторы

  • Sebastiaan Mannem (@sebasmannem)

Подсказка

Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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