Gerenciando usuários no Firebird

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (2)

Veja neste artigo como gerenciar usuários no Firebird.




Aprenda a trabalhar com roles

O gerenciamento de usuários e privilégios aos objetos do banco de dados, pode se tornar uma tarefa árdua para o administrador do banco de dados.

Quando este número ultrapassa 10 usuários o DBA já deve começar a tomar cuidado para não cometer equivocos ao conceder os Grants (permissões) para os objetos do banco em nível de usuário, ou seja, um a um. Uma forma muito simples de minimizar este trabalho é a utilização de Roles (papéis).

Neste artigo aprenderemos como criar Roles e atribuir permissões de acessos para os usuários do banco de dados através delas.

O que é uma role?

Uma Role pode ser definida como um “pacote” de privilégios que podem ser associados de forma fácil aos usuários do banco de dados. Por exemplo, podemos criar uma role com privilégio total a todos os objetos de nosso banco de dados, ou seja, privilégio de administrador. Sendo assim, todos os usuários com papel de administradores do banco de dados deverão ser associados a esta role.

Desta forma, fica muito fácil o gerenciamento de privilégios para um grupo de usuários. Se antes era necessário realizar Grant de todas as tabelas, views, functions e procedures para todos os usuários com permissão de administradores, agora, com a Role, necessitamos apenas associar estes usuários a ela.

Metendo a mão na massa

Para ficar mais claro o conceito de Role vamos ilustrar com exemplos como funciona o gerenciamento de um banco de dados com e sem Roles. Vamos conceder privilégios de administrador para um usuário como mostra a Listagem 1.

GRANT ALL ON CLIENTES TO PAULO;

GRANT ALL ON PRODUTOS TO PAULO;
GRANT ALL ON ESTOQUES TO PAULO;


Listagem 1.
Atribuindo permissões para usuários.

Repare que se fosse necessário criamos outro usuário, deveríamos executar novamente o mesmo script modificando apenas o nome do usuário. Listagem 2.

GRANT ALL ON CLIENTES TO VERA;

GRANT ALL ON PRODUTOS TO VERA;
GRANT ALL ON ESTOQUES TO VERA;


Listagem 2.
Atribuindo permissões para usuários.

Para bancos de dados com poucos usuários e poucos objetos esta tarefa é muito simples e não exige grande esforço, porém, sabemos que na realidade, um banco de dados pode tranqüilamente ultrapassar uma centena de objetos e algumas dezenas de usuários. Quando isto ocorre o DBA pode ter muitas dores de cabeça caso tenha que controlar privilégios para cada usuário, abaixo veremos como esta tarefa pode ser bem mais tranqüila, com a utilização de Roles.

Criando a Role

A sintaxe para a criação de role é muito simples como pode-se ver na listagem 3.

GRANT ADMINISTRADOR TO PAULO, VERA;

Listagem 3. Atribuindo papeis a usuários

Reparem como ficou muito mais simples a atribuição de permissões aos objetos com a utilização da Role, caso seja necessário modificar os privilégios dos usuários PAULO e VERA, devemo apenas executar Grant e Revoke a Role que automaticamente isto se refletirá em todos os usuários associados a ela.

Até a próxima,
Rafael Helm.

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?