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.