Segurança em Bases de Dados Progress – Parte 3

Escrito por Eloi Rene Pscheidt em 9 de outubro de 2008, 10:44h

No post anterior iniciamos a tarefa de restringir o acesso 4GL em bases de dados Progress. Criamos alguns usuários e definimos o papel de administrador para o usuário "adm".

Agora realmente iremos restringir o acesso ao banco de dados. Primeiro vamos proibir o acesso anônimo, aquele no qual qualquer usuário pode acessar as informações do banco mesmo sem informar seu usuário e senha. Para isso utilizamos a ferramenta "Data Administration" e selecionamos a opção "Disallow Blank Userid Access", conforme a figura a seguir:

  

Impedir que usuários anônimos conectem um banco Progress é impossível, porém desabilitando o seu acesso, estes usuários não conseguirão mais acessar as informações contidas no banco de dados. Continuarão a se conectar, porém não conseguirão fazer nada neste banco. Uma simples consulta no conteúdo de uma tabela produzirá o seguinte erro:

** Insufficient access privilege for table <table name>. (234) 

Agora vamos definir o que cada usuário autenticado no banco poderá fazer. Para isso, vamos acessar a opção "Edit Data Security" via ferramenta "Data Administrator", conforme a figura a seguir:

Observe as permissões concedidas para a tabela "customer". De acordo com o que especificamos nesta tela, apenas os usuários "adm" e "joao" poderão incluir, alterar e excluir registros nesta tabela. Observe que em todas as permissões aparece o símbolo de negação na primeira posição, isto porque definimos que nenhum usuário anônimo poderá acessar as informações do banco.
 
Concedemos também permissão de leitura na tabela "customer" para o usuário "maria". Esse usuário apenas poderá consultar dados nesta tabela, sem incluir, alterar ou excluir.
 
Podemos ainda definir permissões específicas para cada campo das tabelas. Isso é possível, nesta mesma tela, selecionando a opção "Permissions for Selected Field", conforme a figura a seguir:
  

 
Em nosso exemplo, definimos que apenas os usuários "adm" e "joao" conseguirão ler e alterar o conteúdo do campo "Credit-Limit" da tabela "customer". O usuário "maria" continuará conseguindo consultar os demais campos desta tabela exceto este. Caso ela tente consultar ou alterar este campo, receberá o seguinte erro:
 
** Insufficient access privilege for Field Credit-Limit. (233) 
 
Nos próximos posts conheceremos algumas situações que podem deixar uma base de dados Progress vulnerável e como evitá-las.

Categorias: Ambiente | Banco de dados | Conectividade | Progress | Segurança

Tags: , , , ,

Comentários

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading