Aprenda inglês em casa
Baixe gratuitamente as duas primeiras aulas
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.
|
Busca |
Aprenda inglês em casa
Baixe gratuitamente as duas primeiras aulas
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.
Por Luiz Paulo de O. Santos
Data de Publicação: 18 de Janeiro de 2007
Salve a todos, após as férias, retornamos dando continuidade no assunto controle de direitos no SQL. No ultimo artigo tratamos o GRANT que é uma instrução que atribuir direitos aos usuários de um banco, e o REVOKE é utilizado para revogar, cancelar o direito atribuído com GRANT.
Logo, tão importante como atribuir um direito a um usuário é importante revogarmos esse quando necessário.
E isso torna-se mais ou menos importante de acordo com a implementação que se deu no banco. Alguns desenvolvedores / DBA criam usuários para aplicações, outros criam diversos usuários com diferentes direitos para a mesma aplicação, e outros criam usuários no banco para cada usuário que será autenticado na aplicação ou na rede. E alguns bancos permite que utilizemos os usuários do POSIX como usuários do banco. Indiferente de qual seja a sua situação, cuidados devem ser tomados e é comum precisarmos revogar direitos outrora atribuídos.
A instrução é:
REVOKE lista de privilégios ON [Tabela] TO usuários | rules
Onde:
lista de privilégios: pode ser todos os privilégios ALL [PRIVILEGES] ou alguns separados por vírgula, como: SELECT, INSERT, UPDATE ou DELETE.
usuários: pode ser PUBLIC (todos) ou o nomes dos usuários que deseja atrubuir o direito. Utiliza-se vírgula para separar o nome dos usuários que se deseja atribuir acesso.
Nota: Outra situação importante é que o REVOKE pode ser empregado para revogar não apenas as atribuições de direitos, mas também proibições que foram aplicadas com GRANT.
O REVOKE revoga os direitos atribuídos, ou seja, podemos revogar o(s) direito(s) para que usuários possam ter para:
SELECT, UPDATE, INSERT, DELETE, REFERENCES e outros.
E tanto para o UPDATE como para o REFERENCES se o(s) campo(s) for(em) omitido(s) a regra se aplicará a todos os campos. Antes de usar essa possibilidade, procure saber se seu banco contempla essa implementação.
Exemplos:
REVOKE SELECT ON CLIENTES TO PUBLIC
REVOKE SELECT,INSERT ON PESSOAS TO JOSE,PEDRO
REVOKE UPDATE(SALARIO) ON FOLPAGTO TO ANAMARIA
Pode-se revogar direitos de execução de procedures para usuários. Antes de utilizar verifique se o seu banco suporte GRANT / REVOKE com EXECUTE. Observe o exemplo adiante:
REVOKE EXECUTE ON PROCEDURE SOMATUDO TO ANA,JOSE
Cabe relembrar a todos que muito cuidado deve ser empregada essa instrução.
Cuidado com as diferenças de sintaxe ou opções entre bancos, isso é mais comum do que imaginamos, consulte o manual do seu SQL e certifique-se da sintaxe antes de executá-la.
Até a próxima...
![]() Recomendar este artigo |
Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS
Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.