Spec-Zone.ru › Ansible 2.8

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
строка
добавлен в 2.3
Атрибуты, которые должен иметь результирующий файл или каталог.
Для получения поддерживаемых флагов см. руководство по chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и в выводе команды lsattr.
Оператор = предполагается по умолчанию, в противном случае операторы + или - должны быть включены в строку.

Псевдонимы: attr
backup
логическое значение
    Варианты:
  • нет ←
  • да
Если установлено, создает резервную копию файла pg_hba перед его модификацией. Путь к резервной копии возвращается в переменную (backup) этим модулем.
backup_file
строка
Записать резервную копию в определенный файл резервной копии, а не во временный файл.
contype
строка
    Варианты:
  • локальный
  • хост
  • хостбезssl
  • хостсосssl
Тип правила. Если не указано, 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=пользователи.
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
логическое значение
добавлен в 2.2
    Варианты:
  • нет ←
  • да
Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это не работает. Примером является файлы, монтированные в Docker, которые не могут обновляться атомарно изнутри контейнера и могут быть записаны только неатомарным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции не выполняются (однако, он не принуждает Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных.
users
-
По умолчанию:
"все"
Пользователи, к которым относится эта строка.

Примечания

Примечание

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

Примеры

- 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': 'все', 'method': 'md5', 'src': 'samehost', 'type': 'host', 'usr': 'все'}]}


Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.8/modules/postgresql_pg_hba_module.html

Spec-Zone.ru

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