No Vertica, o privilégio SELECT em todas as tabelas do sistema em V_CATALOG e V_MONITOR é concedido a PUBLIC. Portanto, por padrão, todos os usuários podem consultá-los. E nem todas as tabelas do sistema parecem apropriadas para serem públicas.
Na maioria das vezes, para cada uma das entradas, os resultados aparecem adequadamente limitados a concessões específicas de um usuário. Por exemplo, select * from v_catalog.columns;
retorna apenas colunas para as quais o usuário recebeu SELECT para a tabela e USAGE para o esquema e, felizmente, SELECT * FROM v_catalog.passwords;
não retorna nenhuma linha.
Mas alguns parecem excessivamente amplos, como SELECT * FROM v_catalog.users
retorna todos os usuários para todos os esquemas.
Existe alguma desvantagem REVOKE SELECT ON v_catalog.users
para um usuário destinado a ter apenas acesso SELECT a tabelas específicas em um esquema específico? Ou revogar ainda mais SELECT em V_CATALOG e V_MONITOR inteiramente para usuários públicos?
Limite o acesso apenas ao banco de dados específico e restrinja o acesso às tabelas do sistema