[firebase-br] Permissão em database para usuário
Gamaliel None
alexandre em three2dev.info
Qua Abr 1 09:51:18 -03 2009
Segue uma sugestão:
Uma forma de proteger suas tabelas e demais objetos do banco de um possível usuário SYSDBA, é, você criar o banco de dados e, todos os demais objetos com um usuário diferente do sysdba. Então crie um Role com esse nome (SYSDBA) e tire todos os privilégios desse Role ( Revoke All Privileges ). Feito isso, tire todos os privilégios da parte pública (Public - Revoke All Priv...). Por fim, para aumentar a proteção de suas procedures e triggers basta executar os códigos abaixo:
Para procedures:
UPDATE rdb$procedures
SET rdb$procedure_source = NULL,
rdb$description =\'Protegido por lei de copyright\'
WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL))
Para Triggers:
UPDATE rdb$triggers a
SET rdb$trigger_source = NULL,
rdb$description =\'Protegido por lei de copyright\'
WHERE ((rdb$system_flag = 0)
OR (rdb$system_flag IS NULL))
AND NOT EXISTS(
SELECT rdb$trigger_name FROM rdb$check_constraints
WHERE rdb$trigger_name=a.rdb$trigger_name)
Para Views:
UPDATE rdb$relations
SET rdb$view_source = NULL,
rdb$description =\'Protegido por lei de copyright\'
WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL))
OBSERVAÇÃO: Esses códigos para proteção de triggers, procedures e views devem ser utilizados nas cópias do banco, isso porque é praticamente impossível desfazer essa operação, então, façam isso apenas nos bancos que forem ser distribuídos (mantendo uma cópia original).
Espero ter ajudado. Um forte abraço a todos!
> Date: Tue, 31 Mar 2009 22:56:47 -0300
> From: ssjones em gmail.com
> To: lista em firebase.com.br
> Subject: [firebase-br] Permissão em database para usuário
>
> Estou com um problema com o Firebird e gostaria de saber se o banco é usado
> dessa forma.
>
> Vamos a um exemplo do problema: Tenho um usuário 'A' e um usuário 'B'. O
> usuário 'A' cria um database e depois uma tabela dentro desse database, se
> eu me autentico com o usuário 'B', eu consigo acessar o database criado por
> 'A' e visualizar as tabelas criadas por ele (não consigo ver os dados
> inseridos nas tabelas).
> É possivel barrar que o usuário B acesse esse database de A? Estou
> acostumado a trabalhar com mysql e sql, e esses banco de dados não permitem
> que outros usuários acessem a áreas restritas.
> Se é possivel barrar esses acessos, aonde faço essas configurações?
>
> Todas as regras que encontrei eram aplicadas para tabelas, mas o que eu
> preciso é de regras para database. Me informaram
> que eu poderia realizar essas permissões dessa forma:
>
> grant all on BancoDaMartina.* to martina with grant option
>
> BancoDaMartina.* quer dizer todas as tabelas do banco BancoDaMartina.
>
> Mas o Firebird não aceitou esse comando.
>
> Alguem pode me ajudar?
>
> Observação: Estou utilizando Debian e a versão do Firebird é 2.1.1
>
> --
> ~yuRi
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
Novo Windows Live: Messenger 2009 e muito mais. Descubra!
http://www.windowslive.com.br
Mais detalhes sobre a lista de discussão lista