Estou tentando usar as tabelas do sistema para buscar alguns metadados sobre todo o cluster Vertica em um nível de tabela (incluindo permissões).
Onde posso encontrar as informações sobre as permissões necessárias para SELECT em uma tabela?
Eu vasculhei as tabelas GRANTS
e do ROLES
sistema, mas não consigo encontrar nenhum mapeamento role->table.
Eu considerei usar HAS_TABLE_PRIVILEGE()
, mas isso acontece no nível do usuário. Prefiro fazê-lo no nível da função.
A
privileges_description
coluna mostra os tipos de privilégio, como (no seu caso)SELECT
. (Se você deseja apenas os SELECTs, pode refinar essa consulta.)Fonte: Exibindo privilégios concedidos em objetos no Guia do administrador. (Isso é da documentação da versão 7.1.x.)
você pode visualizar os privilégios do usuário com o seguinte comando. SELECT * FROM concede onde grantee='u_uat_Logging'; -- aqui SELECT * FROM grants where grantee='uat_ccPlatform_Logging_readonly';
Exibição de privilégios para o usuário
Você pode visualizar os privilégios atribuídos ao usuário diretamente para o usuário com o seguinte comando:
Exibição de privilégios para função
Você pode visualizar os privilégios atribuídos usando a função, para o usuário com o seguinte comando:
Outras tabelas importantes para visualizar as informações
users
- para visualizar as informações do usuáriogrants
- para visualizar os privilégios do usuárioroles
- para ver os papéisclient_auth
- para visualizar as autenticações (restrição de IP/acesso IP permitido)resource_pools
- para ver as informações do pool de recursos