Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 



 

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.

Saiba mais e faça sua inscrição

REVOKE: Controle de direitos no SQL - Parte 2

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...

Recomende este site
Recomendar este artigo

Opinião dos Leitores

joseguilherme
19 Jan 2007, 12:03
Para o MySQL é preciso substituir TO user por FROM user.
*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Artigos Publicados


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Desenvolverde RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.