No
post anterior conhecemos as duas formas de acesso que as bases de dados Progress suportam, que são as conexões 4GL e SQL. Vimos também algumas diferenças relacionadas a controle de acessos, comparando com bancos Oracle e SQL Server.
Neste post vamos aprofundar na forma de acesso 4GL, que é utilizada pela grande maioria dos produtos Datasul atualmente em comercialização.
As bases de dados Progress, quando criadas, já possibilitam acesso irrestrito ao seu conteúdo. Qualquer conexão 4GL realizada nestes bancos será capaz de criar novas tabelas, excluir tabelas já existentes, assim como realizar qualquer outra atividade neste banco, como ler, alterar e excluir registros, índices, seqüências, etc.
Para começar a controlar este acesso, será necessário criar os usuários que terão direito a conectar este banco. Estes usuários poderão ser criados através da ferramenta “Data Administration”, conforme a imagem a seguir:

Após a criação dos usuários, será necessário configurar qual será o papel de cada um deles. Vamos conceder o privilégio de Administrador para o usuário “adm” neste nosso exemplo. Para isso, vamos acessar a opção “Security Administrators...” deste mesmo menu, apresentando a tela a seguir:

É possível utilizar caracteres “coringas” para atribuir permissões aos bancos Progress. Por exemplo, o caractere “*” permite que tal atribuição seja aplicada a todos os usuários. A combinação “abc*” permitirá que a atribuição seja aplicada a todos os usuários que iniciem com as letras “abc”. Isso permitirá, por exemplo, separar as permissões por áreas afins, desde que seja utilizada uma nomenclatura padrão para os nomes dos usuários. Por exemplo, para os usuários da área financeira, utilizar “fin” no início do código dos usuários. Para a área de logística, utilizar “log”, e assim por diante. Quando for aplicar as permissões, será possível utilizar a combinação “fin*” para conceder acesso a todos os usuários da área financeira. Infelizmente o Progress não possui o conceito de grupos de usuários ou regras (roles), como praticado por outros bancos de dados.
Para negar o acesso deverá ser utilizado o caractere “!”. De acordo com o nosso exemplo, a combinação “!fin” evita que usuários da área financeira tenham determinada autorização.
Mesmo criando os usuários e concedendo o poder de administração para apenas alguns destes, isso não garante que nosso banco esteja protegido. Conexões anônimas continuarão sendo permitidas e acesso a qualquer tabela do banco de dados. A criação de um usuário administrador e a sua atribuição a esta autoridade apenas restringe algumas ações dentro do banco de dados, como criação de novos usuários, por exemplo.
No próximo post veremos como restringir o acesso anônimo ao banco, ou seja, aquele acesso sem que o usuário informe suas credenciais, bem como mostrarei como configurar permissões para as tabelas do banco.