Модуль community.postgresql.postgresql_pg_hba — Добавление, удаление или изменение правила в файле pg_hba
Примечание
Этот модуль является частью коллекции community.postgresql (версия 3.6.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.postgresql. Для использования этого модуля необходимы дополнительные требования. Подробнее см. Требования.
Чтобы использовать его в плейбуке, укажите: community.postgresql.postgresql_pg_hba.
Описание
- Основная функция модуля — создание или удаление строк в файле pg_hba.
- Строки в файле должны соответствовать обычному формату pg_hba, и строки должны быть уникальными по ключу (тип, базы данных, пользователи, источник). Если они не уникальны и SID — это тот, который нужно изменить, то останется только один для state=present или ни одного для state=absent данного SID.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- ipaddress
Параметры
Параметр | Комментарии |
|---|---|
адрес псевдонимы: source, src строка | Адрес/сеть источника, откуда могут поступать подключения. Не будет использоваться для записей типа type= Также можно использовать ключевые слова По умолчанию: |
атрибуты псевдонимы: attr строка | Атрибуты, которые должен иметь полученный объект файловой системы. Чтобы узнать поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в отображаемом lsattr. Оператор |
резервная копия логический тип | Если установлено, создайте резервную копию файла Варианты:
|
файл_резервной_копии строка | Сохранить резервную копию в определенном файле, а не в временном файле. |
комментарий строка добавлено в community.postgresql 1.5.0 | Комментарий, который будет помещен в той же строке за правилом. См. также параметр keep_comments_at_rules. |
тип_соединения строка | Тип правила. Если не задан, Варианты:
|
создать логический тип | Создать файл Если установлено в значение false, возникает ошибка, если файл Варианты:
|
базы_данных строка | Базы данных, к которым относится эта строка. По умолчанию: |
dest путь / обязательно | Путь к файлу |
группа строка | Имя группы, которая должна владеть объектом файловой системы, как это передается в chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в противном случае сохраняется предыдущая собственность. |
сохранить_комментарии_в_правилах логический тип добавлено в community.postgresql 1.5.0 | Если Если Варианты:
|
метод строка | Метод аутентификации, который следует использовать. Варианты:
|
режим любой | Права, которые должен иметь полученный объект файловой системы. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Передача Ansible числа без соблюдения этих правил приведет к десятичному числу, что приведет к непредвиденным результатам. Начиная с Ansible 1.8, режим может быть указан как символический режим (например, Если Если Указание |
маска_сети строка | Маска сети для исходного адреса. |
опции строка | Дополнительные параметры для метода аутентификации метод. |
overwrite boolean | Удалить все существующие правила перед добавлением новых. (Аналогично state=absent для всех существующих правил.) Варианты:
|
owner string | Имя пользователя, который должен владеть файловым объектом, как это передаётся в chown. Если не указано, используется текущий пользователь, если вы не root, в этом случае сохраняется предыдущее владение. Указание числового имени пользователя предполагается как идентификатор пользователя, а не имя пользователя. Избегайте числовых имён пользователей, чтобы избежать путаницы. |
rules list / elements=dictionary | Список объектов, определяющих правила для pg_hba.conf. Используйте для управления несколькими правилами одновременно. Каждый объект может иметь следующие ключи («аргументы, специфичные для правил»), которые обрабатываются так же, как и аргументы этого модуля:
См. также |
rules_behavior string | Настройка того, как аргумент rules работает совместно с аргументами, специфичными для правил, за пределами аргумента rules. См. rules для полного списка аргументов, специфичных для правил. При значении Если Используется только при указании rules, в противном случае игнорируется. Варианты:
|
selevel string | Часть уровня контекста файлового объекта SELinux. Это атрибут MLS/MCS, иногда известный как При значении |
serole string | Часть роли контекста файлового объекта SELinux. При значении |
setype string | Часть типа контекста файлового объекта SELinux. При значении |
seuser string | Часть пользователя контекста файлового объекта SELinux. По умолчанию используется политика При значении |
state string | Строки будут добавлены/изменены при значении Варианты:
|
unsafe_writes boolean | Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файлового объекта. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файловых объектов, но иногда системы настроены или просто не работают таким образом, что это не возможно. Один пример - смонтированные файловые объекты docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным образом. Этот параметр позволяет Ansible переходить к небезопасным методам обновления файловых объектов, когда атомарные операции завершаются неудачей (хотя он не принуждает Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных. Варианты:
|
users string | Пользователи, к которым относится эта строка. По умолчанию: |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме check_mode и возвращать прогноз изменений состояния без модификации цели |
diff_mode | Поддержка: полная | Возвращает подробности изменений (или, возможно, необходимых изменений в режиме check_mode) при использовании diff-режима |
Примечания
Примечание
- По умолчанию аутентификация предполагает, что на хосте вы входите как или используете sudo для учётной записи с соответствующими правами чтения и изменения файла.
- Этот модуль также возвращает информацию pg_hba. Вы можете использовать этот модуль только для получения этой информации, указав только dest. Информация находится в возвращаемых данных под ключом pg_hba, представляющим собой список, содержащий словарь на правило.
- Этот модуль отсортирует полученные
pg_hbaфайлы, если требуются изменения правил. Это может привести к непредсказуемым результатам при работе с вручную созданными файлами hba, если они неправильно отсортированы. Например, правило было создано для сети сначала, а затем для IP-адреса в этом диапазоне. В этой ситуации правило для IP-адреса никогда не будет срабатывать, оно устареет в файлеpg_hba. После того, как файлpg_hbaбудет перезаписан модулем community.postgresql.postgresql_pg_hba, правило для IP-адреса будет отсортировано выше правила для диапазона. И тогда оно сработает, что даст непредсказуемые результаты.
См. также
См. также
- Ссылка на файл PostGres 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
- name: Grant some_user access to some_db, comment that and keep other rule-specific comments attached to their rules
community.postgresql.postgresql_pg_hba:
dest: /var/lib/postgres/data/pg_hba.conf
contype: host
users: some_user
databases: some_db
method: md5
source: ::/0
keep_comments_at_rules: true
comment: "this rule is an example"
- name: Replace everything with a new set of rules
community.postgresql.postgresql_pg_hba:
dest: /var/lib/postgres/data/pg_hba.conf
overwrite: true # remove preexisting rules
# custom defaults
rules_behavior: combine
contype: hostssl
address: 2001:db8::/64
comment: added in bulk
rules:
- users: user1
databases: db1
# contype, address and comment come from custom default
- users: user2
databases: db2
comment: added with love # overwrite custom default for this rule
# contype and address come from custom default
- users: user3
databases: db3
# contype, address and comment come from custom default
Значения возвращаемых данных
Общие значения возвращаемых данных описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
backup_file строка | Файл, в который был создан резервный копий файла pg_hba. Возвращается: changed Пример: |
msgs список / элементы=строка | Список текстовых сообщений о проделанной работе. Возвращается: success Пример: |
pg_hba список / элементы=строка | Список правил pg_hba, как они настроены в указанном файле hba. Возвращается: success Пример: |
Ссылки на коллекцию
© 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_pg_hba_module.html