Como eu poderia restringir os usuários a se conectarem ao MySQL usando apenas seu nome de usuário unix?

0

Estou trabalhando em um ambiente em que preciso garantir que os desenvolvedores só se conectem ao banco de dados MySQL do aplicativo usando o nome de usuário de sua conta Unix. O driver por trás disso é ter rastreabilidade via logs gerais do MySQL de consultas executadas, de volta para o usuário executando-os. Até agora não encontrei nenhuma solução ideal para isso, tenho algumas que são imperfeitas e espero ter algumas ideias melhores.

Os desenvolvedores têm acesso às credenciais usadas pelo aplicativo (elas podem acessá-las fazendo login no host). Estou trabalhando em uma solução para restringir o acesso às credenciais enquanto ainda as disponibilizo para o aplicativo, mas ainda há desejo de garantir que os logs do MySQL reflitam os usuários reais que executam consultas.

Alguém sabe de uma maneira que eu possa restringir mysql -u <user> para forçar <user> a ser o nome de usuário unix registrado? O banco de dados é criado no AWS RDS, portanto, não tenho muito controle sobre ele, mas tenho controle total sobre o binário mysql na máquina de conexão.

Estou feliz em adicionar mais informações, não tenho certeza do que é relevante. Por favor, faça perguntas e atualizarei as minhas.

Existe alguma maneira de fazer algo como quebrar o binário para adicionar lógica para restringir a opção -u e chamar o binário mysql ?

    
por Ryan Fisher 09.12.2017 / 21:33

1 resposta

2

O MySQL Enterprise Edition suporta o PAM (Pluggable Authentication Modules).

Este artigo descreve como configurá-lo: link

A desvantagem é que você

  • precisa da versão comercial do MySQL
  • precisam de acesso aos arquivos de configuração do servidor MySQL.

Se você não tem isso, não há muito o que fazer além de escrever um script que replique os usuários confiáveis do Unix no gerenciamento de usuários do MySQL. Você não poderá sincronizar as senhas.

    
por 09.12.2017 / 22:20