Eu tenho uma tabela Table_A
e uma exibição View_A
que é uma seleção do conteúdo de Table_A
.
Se eu negar SELECT
a Table_A
um usuário, o usuário ainda poderá usar a exibição View_A
.
Existe uma maneira de forçar a visualização a retornar um erro quando o usuário tentar usá-la?
O caso do mundo real aqui é um banco de dados com cerca de 20 tabelas e centenas de visualizações. O acesso do usuário está logicamente vinculado às tabelas, portanto, esperamos impedir que as pessoas usem as exibições com base nessas tabelas.
Você precisa dar às visualizações um proprietário diferente das tabelas para que a cadeia de propriedade seja quebrada e as permissões sejam verificadas nos objetos base.
Uma das vantagens das visualizações é que você pode restringir o acesso às tabelas base, mas conceder acesso por meio das visualizações. Parece que seu sistema está invertido.
Você terá que negar o acesso do usuário às visualizações.