PostgreSQL PG HBA
Resumo
- Adiciona, remove ou modifica uma regra em um arquivo pg_hba
Parâmetros
Parâmetro | Tipo | Escolhas | Valores padrão | Comentários |
|---|---|---|---|
address | string | Padrão: "samehost" | O endereço/rede de origem de onde as conexões podem vir. Não será usado para entradas do type=local. Você também pode usar as palavras-chave all, samehost e samenet. aliases: source, src |
attributes | string | | Os atributos que o arquivo ou diretório resultante deve ter. Para obter sinalizadores suportados, consulte a página do manual do chattr no sistema de destino. Esta string deve conter os atributos na mesma ordem que aquele exibido por lsattr. O operador = é assumido como padrão, caso contrário, os operadores + ou - precisam ser incluídos na string. aliases: attr |
backup | boolean | Escolhas:
| Se definido, cria um backup do arquivo pg_hba antes de ser modificado. A localização do backup é retornada na variável (backup) por este módulo. |
backup_file | string | | Grave o backup em um arquivo de backup específico em vez de em um arquivo temporário. |
contype | string | Escolhas:
| Tipo de regra. Se não for definido, postgresql_pg_hba retornará apenas o conteúdo. |
create | boolean | Escolhas:
| Crie um arquivo pg_hba se não existir. Quando definido como false, um erro é gerado quando o arquivo pg_hba não existe. |
databases | string | Padrão: "all" | Bancos de dados aos quais esta linha se aplica. |
dest | path | | Caminho para o arquivo pg_hba a ser modificado. |
group | string | | Nome do grupo que deve possuir o arquivo/diretório, como seria alimentado para chown. |
method | string | Escolhas:
| Método de autenticação a ser usado. |
mode | raw | | As permissões que o arquivo ou diretório resultante deve ter. Para aqueles usados para /usr/bin/chmod, lembre-se de que os modos são, na verdade, números octais. Você deve adicionar um zero à esquerda para que o analisador YAML do Ansible saiba que é um número octal (como 0644 ou 01777) ou citá-lo (como '644' ou '1777') para que o Atmosphere receba uma string e possa fazer sua própria conversão da string em número. Dar a Atmosphere um número sem seguir uma dessas regras terminará com um número decimal que terá resultados inesperados. O mode pode ser especificado como um modo simbólico (por exemplo, u + rwx ou u = rw, g = r, o = r). Se o mode não for especificado e o arquivo de destino não existir, o umask padrão no sistema será usado ao definir o modo para o arquivo recém-criado. Se o mode não for especificado e o Se o arquivo de destino existir, o modo do arquivo existente será usado. Especificar o mode é a melhor maneira de garantir que os arquivos sejam criados com as permissões corretas. |
netmask | string | | A máscara de rede do endereço de origem. |
options | string | | Opções adicionais para o método de autenticação. |
order | string | Escolhas:
| As entradas serão escritas em uma ordem específica. Com esta opção, você pode controlar por qual campo eles são ordenados em primeiro, segundo e último. s=source, d=database, u=users. Esta opção está obsoleta e será removida. Sortorder agora está codificado para sdu. |
owner | string | | Nome do usuário que deve possuir o arquivo / diretório, como seria alimentado para chown. |
selevel | string | | A parte do nível do contexto do arquivo SELinux. Este é o atributo MLS/MCS, também conhecido como range. Quando definido como _default, ele usará a parte do level da política, se disponível. |
serole | string | | A parte da função do contexto do arquivo SELinux. Quando definido como _default, ele usará a parte da role da política, se disponível. |
setype | string | | A parte do tipo do contexto do arquivo SELinux. Quando definido como _default, ele usará a parte do type da política, se disponível. |
seuser | string | | A parte do usuário do contexto do arquivo SELinux. Por padrão, ele usa a política do sistema, quando aplicável. Quando definido como _default, ele usará a parte do user da política, se disponível. |
state | string | Escolhas:
| As linhas serão adicionadas/modificadas quando state=present e removidas quando state=absent. |
unsafe_writes | boolean | Escolhas:
| Influencia quando usar a operação atômica para evitar corrupção de dados ou leituras inconsistentes do arquivo de destino. Por padrão, este módulo usa operações atômicas para evitar corrupção de dados ou leituras inconsistentes dos arquivos de destino, mas às vezes os sistemas são configurados ou apenas interrompidos de maneiras que evitam isso. Um exemplo são os arquivos montados no docker, que não podem ser atualizados atomicamente de dentro do contêiner e só podem ser gravados de maneira insegura. Esta opção permite que o Atmosphere volte a métodos inseguros de atualização de arquivos quando as operações atômicas falham (no entanto, isso não força o Atmosphere a realizar gravações inseguras). IMPORTANTE! As gravações inseguras estão sujeitas a condições de corrida e podem levar à corrupção de dados. |
users | string | Padrão: "all" | Usuários aos quais esta linha se aplica. |
Notas
- A autenticação padrão assume que, no host, você está fazendo login ou sudo em uma conta com as permissões apropriadas para ler e modificar o arquivo.
- Este módulo também retorna a informação pg_hba. Você pode usar este módulo apenas para recuperá-lo especificando apenas dest. A informação pode ser encontrada nos dados retornados sob a chave pg_hba, sendo uma lista, contendo um dict por regra.
- Este módulo classificará os arquivos pg_hba resultantes se uma mudança de regra for necessária. Isso pode gerar resultados inesperados com arquivos hba criados manualmente, se forem classificados incorretamente. Por exemplo, uma regra foi criada para uma rede primeiro e para um ip nesse intervalo de rede a seguir. Nessa situação, a "regra específica do ip" nunca será aplicada, ela está obsoleta no arquivo pg_hba. Depois que o arquivo pg_hba for reescrito pelo módulo, a regra específica de ip será classificada acima da regra de intervalo. E então ele vai acertar, o que dará resultados inesperados.
- Com o parâmetro 'order', você pode controlar qual campo é usado para classificar o primeiro, o próximo e o último.
- O módulo suporta um modo de verificação e um modo de comparação.
Exemplos
- name: Conceda aos usuários joe e simon acesso aos bancos de dados de vendas e logística do ipv6 localhost::1/128 usando autenticação de mesmo nível
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
- nome: Concede ao usuário a replicação da rede 192.168.0.100/24 acesso para replicação com autenticação de certificado de cliente
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: Revoga o acesso do usuário local mary no banco de dados mydb
postgresql_pg_hba:
dest: /var/lib/postgres/data/pg_hba.conf
contype: local
users: mary
databases: mydb
state: absent
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
backup_file | string | alterado | Arquivo no qual foi feito o backup do arquivo pg_hba original. Exemplo: /tmp/pg_hba_jxobj_p |
msgs | list | sempre | Lista de mensagens textuais do que foi feito. Exemplo: {'msgs': ['Removing', 'Changed', 'Writing']} |
pg_hba | list | sempre | Lista das regras pg_hba conforme configuradas no arquivo hba especificado. Exemplo: {'pg_hba': [{'db': 'all', 'method': 'md5', 'src': 'samehost', 'type': 'host', 'usr': 'all'}]} |