← Voltar ao blog
    Banco de Dados7 min
    Como auditar permissões no banco sem risco

    Como auditar permissões no banco sem risco.

    Uma credencial esquecida com privilégio de administrador pode ser tão perigosa quanto uma vulnerabilidade exposta à internet. A diferença é que ela costuma permanecer invisível até o momento de um incidente. Saber como auditar permissões no banco é uma prática de governança operacional: identifica acessos excessivos, reduz a superfície de ataque e cria evidências para responder a auditorias, fraudes ou alterações indevidas em produção.

    Em ambientes críticos, não basta verificar se existem usuários ativos. É preciso entender quem acessa, por qual identidade, de onde, com qual nível de privilégio, sobre quais objetos e se esse acesso ainda tem justificativa de negócio. Uma auditoria séria transforma permissões dispersas em um mapa controlado de risco.

    O que uma auditoria de permissões precisa responder

    A pergunta central não é apenas “quem tem acesso ao banco?”. O ponto é identificar se cada acesso respeita o princípio do menor privilégio. Um desenvolvedor que precisa consultar uma tabela de catálogo não deve ter permissão para apagar registros. Uma aplicação de leitura não deve executar comandos de alteração de estrutura. Uma conta de suporte não pode permanecer com privilégios elevados depois do atendimento.

    Uma auditoria deve responder, com evidência técnica, quem são os usuários humanos, as contas de serviço e as integrações; quais papéis e permissões foram concedidos; quais privilégios são diretos ou herdados; quais contas estão inativas, sem dono ou compartilhadas; e quais acessos permitem alteração, exclusão, administração ou leitura de dados sensíveis.

    O resultado esperado não é uma planilha extensa de grants. É uma decisão operacional: manter, reduzir, revogar, separar ou monitorar cada permissão relevante.

    Como auditar permissões no banco com método

    Auditar em produção sem planejamento pode causar indisponibilidade ou interromper fluxos legítimos. A execução precisa ser progressiva, documentada e orientada por impacto. O primeiro passo é definir o escopo: instâncias, clusters, réplicas, bancos, ambientes de cloud, contas locais, integrações e acessos de fornecedores.

    Não trate homologação como espelho confiável da produção. É comum encontrar credenciais, usuários e permissões criados exclusivamente em produção durante incidentes, migrações ou integrações urgentes. A auditoria deve começar pela camada que sustenta o negócio real.

    1. Construa o inventário de identidades

    Liste todas as identidades que conseguem autenticar no banco ou por meio de uma camada intermediária. Isso inclui usuários nativos do SGBD, grupos integrados a diretórios corporativos, contas de aplicações, usuários de replicação, jobs de ETL, ferramentas de BI, plataformas de backup, pipelines de deploy e acessos de terceiros.

    Cada identidade precisa ter um proprietário responsável. “Usuário do sistema”, “conta antiga” ou “time de tecnologia” não são proprietários aceitáveis. A conta deve estar vinculada a uma pessoa, uma área ou um serviço com responsável técnico e de negócio definido.

    Contas compartilhadas exigem atenção especial. Elas dificultam rastreabilidade e inviabilizam a atribuição de responsabilidade em caso de alteração indevida. Quando uma conta compartilhada for inevitável por limitação técnica, compense com cofre de credenciais, rotação frequente, logs detalhados e autorização formal.

    2. Extraia privilégios efetivos, não apenas grants aparentes

    O erro clássico é consultar permissões diretas e concluir que o ambiente está controlado. Em bancos corporativos, privilégios podem ser herdados por roles, grupos de diretório, permissões no schema, acesso público, políticas de segurança em linha ou funções com execução elevada.

    A extração precisa considerar o privilégio efetivo. Um usuário sem `DELETE` direto ainda pode apagar dados se pertencer a uma role administrativa. Da mesma forma, uma aplicação pode acessar tabelas sensíveis por meio de procedures, views ou credenciais assumidas temporariamente.

    Nos mecanismos mais comuns, as consultas de auditoria variam. No PostgreSQL, a análise passa por roles, memberships, privilégios de schemas, tabelas e funções. No SQL Server, exige correlação entre logins, users, roles de servidor, roles de banco e permissões em objetos. No MySQL, é necessário verificar usuários por origem, grants globais, permissões por banco e privilégios administrativos. Oracle acrescenta a complexidade de system privileges, object privileges, roles e perfis.

    A ferramenta muda. A disciplina não. Sempre registre a origem da informação, o horário da coleta, a instância analisada e a versão do banco. Sem isso, o relatório perde valor como evidência.

    3. Classifique acessos por risco e criticidade

    Nem toda permissão merece a mesma urgência. Uma conta de leitura em uma base analítica tem risco diferente de uma credencial com capacidade de executar DDL em um banco transacional de pagamentos.

    Classifique os acessos com base no nível de privilégio, na sensibilidade dos dados, na exposição da credencial e no impacto de uma ação indevida. Permissões administrativas, alteração de estrutura, exclusão em massa, criação de usuários, execução de comandos externos e acesso a dados pessoais devem receber prioridade máxima.

    Também avalie o contexto. Uma conta `db_owner` pode ser tolerada temporariamente em uma migração controlada, com prazo e monitoramento reforçado. Mantê-la indefinidamente para “evitar erro na aplicação” é dívida operacional com potencial de incidente.

    Sinais de risco que exigem ação imediata

    Há achados que não devem esperar a próxima reunião de governança. Contas sem proprietário, usuários desligados ainda ativos, credenciais que não expiram, acessos administrativos fora de um cofre, permissões concedidas a `PUBLIC`, logins com senha fraca ou sem rotação e acessos remotos sem restrição de origem são exemplos claros.

    Outro sinal crítico é o privilégio excessivo em contas de aplicação. Aplicações frequentemente recebem permissões amplas para acelerar a entrega inicial. Depois, o ambiente evolui, times mudam e ninguém revisa o grant. Se essa credencial vazar, o atacante recebe exatamente o mesmo alcance da aplicação, muitas vezes incluindo escrita em dados transacionais.

    Preste atenção também a permissões em réplicas e ambientes de contingência. Durante um failover, uma configuração negligenciada pode colocar em operação uma base com usuários desatualizados, acessos administrativos abertos ou políticas diferentes da produção principal.

    Revogue com controle para não criar um incidente

    A parte mais delicada da auditoria é a remediação. Revogar privilégios em lote parece eficiente, mas pode interromper jobs, integrações, relatórios financeiros, rotinas de backup ou funcionalidades pouco utilizadas. Segurança sem conhecimento da operação gera indisponibilidade.

    Antes de remover uma permissão, valide o último uso, os objetos acessados, a dependência do aplicativo e a janela de mudança. Quando houver dúvida, use uma abordagem gradual: reduza permissões em ambiente de teste, acompanhe os logs de autorização, aplique em produção em período controlado e mantenha um plano de reversão documentado.

    Em contas de alto risco, a prioridade é substituir privilégios amplos por permissões específicas. Em vez de conceder acesso total a um banco, libere somente execução de procedures necessárias, leitura de views aprovadas ou operações limitadas a schemas definidos. A granularidade aumenta o esforço inicial, mas reduz drasticamente o impacto de credenciais comprometidas.

    Transforme a auditoria em controle contínuo

    Uma revisão anual atende parte das exigências de conformidade, mas é insuficiente para operações que mudam semanalmente. Deploys, novas integrações, incidentes e trocas de equipe alteram o modelo de acesso com rapidez. O controle precisa acompanhar essa dinâmica.

    Estabeleça uma linha de base de permissões aprovadas e compare periodicamente o estado atual contra ela. Alertas devem ser acionados para criação de usuários, concessão de privilégios administrativos, mudanças em roles, logins fora de horários esperados e tentativas repetidas de autenticação. A auditoria de permissões funciona melhor quando integrada ao monitoramento, à gestão de mudanças e à resposta a incidentes.

    A frequência depende do risco. Bancos que processam pagamentos, dados pessoais ou operações 24/7 exigem monitoramento contínuo e revisões formais mais frequentes. Sistemas internos de baixa criticidade podem operar com ciclos maiores, desde que exista registro de mudanças e responsabilidade clara. O que não é aceitável é depender de memória, mensagens informais ou acesso permanente por conveniência.

    A HTI Tecnologia trata permissões como parte da sustentação de produção, não como tarefa burocrática isolada. Em ambientes críticos, a leitura correta dos privilégios depende de experiência com comportamento de aplicações, replicação, backups, rotinas operacionais e arquitetura do SGBD.

    Uma boa auditoria deixa um legado concreto: cada identidade tem dono, cada privilégio tem propósito, cada exceção tem prazo e cada mudança pode ser explicada. Quando ocorrer uma crise, esse nível de controle encurta a investigação e protege a continuidade do negócio.