Em nosso outro post falamos sobre a Instalação do PostgreSQL no CentOS 9 e nele configuramos a autenticação LDAP usando filtro de grupo. Caso você precisa autenticar usuários de duas OU’s distintas (por exemplo) é possível usar filtro de roles no pg_hba.conf. Para isso vamos:
- No Active Directory (não detalharemos essa parte):
- Criar um usuário de serviço no AD svc_nomeapp_dbprd;
- Adicionar este usuário ao grupo de conexão;
- No PostgreSQL:
- Criar uma role chamada appservices;
- Atribuir um usuário a esta role appservices;
- Adicionar uma conexão no pg_hba, para usuário desta role appservices.
Na parte do servidor PostgreSQL, conecte ao banco com o usuário postgres e execute:
create user "svc_nomeapp_dbprd";
create role appservices;
GRANT appservices TO svc_nomeapp_dbprd;
Saia do PostgreSQL. Ainda no Linux, execute:
vim /etc/pgsql/pg_hba.conf
Localize a seguinte linha que contenha a conexão LDAP, pressione a tecla INSERT do teclado, para entrar em modo de edição e insira ACIMA dessa linha (altere as partes em cinza, caso seja necessário):
host all +appservices 0.0.0.0/0 ldap ldapserver=IP_DO_SEU_DC ldapbasedn=”DN_DA_OU_ONDE_ESTAO_OS_USUARIOS” ldapbinddn=”conta_de_serviço@seudominio.com.br” ldapbindpasswd=”SENHA_DESSA_CONTA” ldapsearchfilter=”(&(objectClass=user)(sAMAccountName=$username)(memberOf=DN_DO_GRUPO_DO_AD))” |
Após a edição, pressione a tecla ESC para sair do modo de edição, em seguida digite :wq! e pressione ENTER para salvar e sair.
Agora reinicie o serviço do PostgreSQL e teste a conexão com um usuário LDAP que já tinha acesso e teste com a nova conta de serviço.
systemctl stop postgresql
systemctl start postgresql
Fontes/Referências
NVLAN – Instalação do PostgreSQL no CentOS 9
https://docs.vultr.com/implement-rolebased-permissions-with-postgresql?utm_source=performance-max-latam
https://stackoverflow.com/questions/59225772/can-we-use-multiple-ous-organizational-unit-in-apache-ldap-along-with-postgre
Mais Informações
Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.
Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.