Tenho uma tabela que quero impedir que SELECTs, INSERTs e UPDATEs sejam feitos diretamente.
Minha intenção é que o usuário "public" só possa acessar essa tabela através de stored procedures.
Para impedir o acesso à tabela é tranqüilo, basta usar REVOKE SELECT, INSERT, UPDATE ON TABLE ... No entanto, ao remover os privilégios de acesso do usuário "public", ao executar, por exemplo, a stored procedure que realiza um INSERT o postgres impedirá sua execução justamente porque o privilégio foi revogado.
No SELECT eu consigo resolver usando uma VIEW com dados "mascarados", mas o INSERT e o UPDATE está sendo um problema para mim. Pior ainda, para fazer um UPDATE o usuário deve ter privilégio para SELECT (além de UPDATE)!
Pergunta
Fabius Lovato
Tenho uma tabela que quero impedir que SELECTs, INSERTs e UPDATEs sejam feitos diretamente.
Minha intenção é que o usuário "public" só possa acessar essa tabela através de stored procedures.
Para impedir o acesso à tabela é tranqüilo, basta usar REVOKE SELECT, INSERT, UPDATE ON TABLE ... No entanto, ao remover os privilégios de acesso do usuário "public", ao executar, por exemplo, a stored procedure que realiza um INSERT o postgres impedirá sua execução justamente porque o privilégio foi revogado.
No SELECT eu consigo resolver usando uma VIEW com dados "mascarados", mas o INSERT e o UPDATE está sendo um problema para mim. Pior ainda, para fazer um UPDATE o usuário deve ter privilégio para SELECT (além de UPDATE)!
Alguém tem uma dica para contornar esse problema?
Obrigado pela ajuda.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.