Concessão de privilegio (Comando GRANT)
Concessão de privilegio para usuários Oracle (Comando GRANT)
Conforme mostrei no artigo anterior, o Oracle utiliza se do objeto usuário para implementar a segurança do Banco de Dados.
Desta forma, alem de criar um usuário é necessário conceder a ele privilégios sobre os objetos aos quais ele irá trabalhar.
Através do comando GRANT é possível conceder privilégios para o sistema (cedido pelo DBA) ou para objetos (cedido pelos donos do objeto).
Abaixo segue a sintaxe básica do comando Grant:
ANT TO
Onde:
TIPO_DO_PRIVILEGIO = Refere se ao tipo de privilegio que será concedido, abaixo mostro uma lista com alguns privilégios;
OBJETO = Objeto ao qual a permissão se refere (tabela, sequence …)
USUARIO = Indica que usuário ou grupo* recebera o privilegio;
* Para facilitar a administração, podem ser criados grupos de usuário (roles) e aplicar os privilégios a eles, descreverei este processo mais adiante.
Abaixo, a lista de alguns dos privilégios que conheço:
Create session = Permite que o usuário que recebeu este privilegio se conecte a instancia do Banco.
Alter create = Permite alterar o objeto em questão, exemplo:
Grant alter table cliente to ronaldo;
Index = Permite a criação de índices para as tabelas. Índice é um assunto que abordarei mais adiante.
Insert = Permite a inclusão de linhas nas tabelas.
Update = Permite alteração de linhas em uma tabela.
Delete = Permite que sejam excluídas linhas uma tabela.
Select = Permite consulta na tabela.
Para conceder mais de um privilegio para um usuário ou grupo basta separá-los por “ , ” .
Exemplo: GRANT Insert, Update, Delete cliente TO ronaldo;
Tão Importante quanto o comando GRANT é o comando REVOKE, que permite retirar um privilegio anteriormente concedido.
Exemplo: REVOKE CONNECT FROM ronaldo;
Este comando também pode ser usado para revogar privilégios que foram concedidos a grupos, no ORACLE chamados de papeis.

