Acesso direto ao conteúdo

Busca

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

 

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

Veja a relação completa dos artigos da Bancos de Dados Livres

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir
  • Currently 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 0.0 /5 ( votos)


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.

Opinião dos Leitores

Eder
09 Jun 2009, 13:57

Boa tarde, preciso tirar o privilégio de um usuario para uma tabela especifica de um banco de dados, esse comando tem que ser feito pela interface do MySql 5.1

Teria como me ajudar??

Att,


Eder
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 página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis