[firebase-br] SYSDBA e masterkey

Edson Marco edmafer em gmail.com
Qui Maio 28 10:38:30 -03 2009


Gerenciando 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!

Fonte: http://imasters.uol.com.br/artigo/3946

Mais informações:
http://www.google.com.br/search?hl=pt-BR&q=permissoes+usuario+firebird&btnG=Pesquisa+Google&meta=&aq=f&oq=

2009/5/28 Dirlei Souza <dirlei.souza em cognum.com.br>

> Como eu faço para restringir um usuario do fb a não acessar um banco de
> dados específico?
>
>
> Dirlei
>
>

-- 
/*
* Edson Marco Ferrari Junior
* edmafer em edmafer.com.br
* http://www.edmafer.com.br
*/



Mais detalhes sobre a lista de discussão lista