6. Gerenciamento de Usuários

Nesse capítulo veremos, como criar usuários no servidor de banco de dados e como especificar direitos de acesso aos mesmos, para os objetos de cada banco de dados. Para o servidor IB/FB, qualquer usuário cadastrado pode abrir um banco de dados informando apenas o login e sua senha.

Quando criamos um novo banco de dados, podemos especificar um usuário e senha. Nesse momento o usuário passa a ser o dono do banco de dados recém criado. Apenas esse usuário e o SYSDBA podem fazer um Drop (apagar) no banco de dados. Caso nenhum usuário seja especificado durante a criação do banco, então apenas o SYSDBA poderá fazer um Drop desse banco.

Nota: Caso o usuário acesse o arquivo físico do banco de dados diretamente através do Windows, o mesmo poderá apagar o arquivo, pois a segurança do IB/FB está dentro do servidor de banco de dados e não vinculado ao sistema operacional.

Uma vez conectado ao banco de dados, caso nenhuma segurança de acesso tenha sido definida, o usuário conectado tem acesso a todos os objetos do banco de dados. Se um usuário cria uma tabela, por exemplo, automaticamente o IB/FB associa esse usuário como dono da tabela. Dessa forma, apenas esse usuário e o SYSDBA tem direito de apagar a tabela do banco.

Através da instrução Grant, a qual veremos adiante, o proprietário da tabela e o SYSDBA podem conceder direitos de acesso sobre esse objeto. Da mesma maneira, os mesmos podem, através da instrução Revoke, revogar privilégios de acesso garantidos anteriormente.

Nota: O proprietário (dono) do banco e o SYSDBA tem os mesmos direitos que o dono de cada objeto dentro do banco de dados. Eles podem conceder ou revogar privilégios de acesso a todos os objetos do banco.

O IB/FB permite definir os privilégios de acesso a tabelas, Views e Stored Procedures do banco de dados. Os privilégios de segurança são associados aos vários objetos dentro do banco, onde podemos chegar ao nível de dizer quais usuários podem visualizar, alterar, ou excluir dados.

Como podemos perceber, caso concedermos direito de acesso aos usuários no banco de dados, somente isso não é suficiente, visto que precisamos também garantir acesso aos objetos dentro do banco.

Segurança dependente do sistema operacional

Tanto o InterBase como o Firebird dependem do sistema operacional para garantir a segurança completa dos objetos e dos dados armazenados. Os dados dentro das tabelas não são armazenados de forma criptografada, isso é, caso o arquivo físico do banco de dados seja copiado para outro servidor IB/FB, o usuário pode ter acesso a todas as informações facilmente.

Nota: O InterBase 7.5 já trás suporte ao controle de segurança no próprio arquivo físico de banco de dados. Nesse caso, os usuários e privilégios de acesso ficam armazenados no banco e não mais no servidor.

Um usuário um pouco mais avançado que conheça o metadados do banco IB/FB, pode modificar suas tabelas de sistema adicionando um usuário autorizado para tabelas importantes do banco. Por essas e outras razões o InterBase e o Firebird se apóiam nos serviços de segurança do sistema operacional. É extremamente importante que o sistema seja configurado para não permitir acesso não autorizado ao diretório ou dispositivo onde o arquivo físico do banco de dados reside.

Criando usuários para acesso ao banco de dados

O IB/FB permite o cadastro de usuários para acesso ao banco de dados. Antes de concedermos privilégios de acesso aos objetos do banco, devemos cadastrar todos os usuários que poderão conectar-se no mesmo. Para isso, ferramentas como o ...

Quer ler esse conteúdo completo? Tenha acesso completo