Segurança em Bases de Dados Progress – Última Parte

Escrito por Eloi Rene Pscheidt em 11 de novembro de 2008, 16:51h

No post anterior verificamos a necessidade de controlar quais r-codes podem ser executados em um banco de dados Progress, uma vez que um programa Progress compilado pode ignorar a configuração de segurança que fizemos.

Precisamos também controlar o acesso SQL à este banco, realizado através de conexões ODBC ou JDBC. A abordagem de acesso SQL ao banco difere um pouco do acesso 4GL que vimos até agora. Para conexões SQL o banco não permite acesso anônimo. São dois usuários que por definição já possuem acesso SQL com permissões administrativas ao banco, são eles o usuário do sistema operacional que criou o banco e o usuário SYSPROGRESS.

Controlar a senha do usuário que criou o banco não é difícil, sendo que este usuário geralmente é o administrador do servidor que, por sua vez, já deverá possuir uma senha que poucos usuários tenham acesso. Já o usuário SYSPROGRESS deverá ser criado e deverá ter sua senha confiada à poucas pessoas. Não criar o usuário SYSPROGRESS permitirá que algum usuário não autorizado o crie a qualquer momento, recebendo assim os direitos administrativos neste banco.

Com o usuário SYSPROGRESS criado, é uma boa prática não divulgar esta senha para todos os usuários do banco, mas sim conceder permissões de acesso SQL necessárias à eles. Isso é possível através dos comandos GRANT e REVOKE, que permitem conceder e retirar permissões de usuários, respectivamente. Em nosso banco de dados de exemplo, utilizaremos os seguintes comandos para conceder permissões de leitura na tabela customer para o usuário "maria" e poder de criação, alteração, consulta e exclusão para o usuário "joao":

grant select on PUB.customer to maria;
grant select, insert, update, delete on PUB.customer to joao;

Mais detalhes sobre os comandos GRANT/REVOKE bem como particularidades do acesso SQL em bancos Progress podem ser obtidos na documentação do produto e em outros posts que serão publicados neste blog.

É importante saber que as permissões concedidas para o acesso 4GL não são válidas para o acesso SQL e vice-versa. Desta forma as permissões can-read, can-write, can-create e can-delete não tem validade para este tipo de conexões.

Para finalizar esta série de posts sobre segurança em bases de dados Progress, vale lembrar que de nada adianta proteger o banco com chaves de acesso, permissões 4GL e SQL se o acesso ao servidor não estiver protegido. Ali um usuário mal intencionado poderá roubar as informações deste banco através de um dump/load binário ou ainda destruí-lo. 

Categorias: Banco de dados | Conectividade | Segurança

Tags: , ,

Comentários (10) -

em 12 de novembro de 2008, 17:47h

Eloi, boa tarde!

Conforme suas orientações, procurei a documentação do produto para mais detalhes sobre SQL e encontrei o Data Management SQL Reference - dmsrf.pdf, mas gostaria de saber em que aplicativo posso executar tais comandos como o Grant/Revoke

Obrigada

TAC®

Thalita Ap. Cunha

em 17 de novembro de 2008, 14:51h

Boa tarde Thalita,

você pode utilizar o SQL Explorer (sqlexp.exe) ou o Openedge Architect. O SQL Explorer possuía uma interface caracter e outra visual até a versão 9 do Progress. A partir da versão 10 ela foi substituída pelo Openedge Architect, porém continuou existindo sua versão caractere já embutida na licença do Banco de Dados. Para executá-la, basta abrir uma sessão PROENV (prompt de comando) e digitar sqlexp -help para obter os seus detalhes.

Att,
Eloi Rene Pscheidt

eloi

em 18 de novembro de 2008, 11:38h

Eloi

Para eu visualizar o help do sqlexp, entrei no promp de comando, entrei na pasta onde está instalado o Progress e depois na pasta bin, e daí sim funcionou o comando sqlexp -help, eu fiz certo? Tem outro caminho mais fácil?

Vou procurar mais detalhes sobre a ferramenta Architect, que parece ser muito ampla pelo pouco que vi. Mas gostaria também de conhecer o SQL Explorer, você tem algum documento mais detalhado sobre o funcionamento?

Obrigada!!
TAC®

Thalita Ap. Cunha

em 18 de novembro de 2008, 13:21h

Eloi

Agora sim eu vi como faz para abrir uma sessão PROENV , veja se o comando abaixo está certo?
call c:\Progress\OpenEdge\bin\proenv

Obrigada, TAC®

Thalita Ap. Cunha

em 18 de novembro de 2008, 17:44h

Boa tarde Thalita,

você pode chamar o PROENV da forma como você mencionou ou simplesmente pelo menu iniciar do windows.

Documentação sobre o SQL Explorer, além do help desta ferramenta, não possuo. Entretanto há um manual do Progress referente a comandos SQL e alguns exemplos de conexão com o SQL Explorer, que deverá ser bastante útil. O nome do manual é OpenEdge® Data Management: SQL Development.

Atenciosamente,
Eloi Rene Pscheidt

eloi

em 20 de novembro de 2008, 15:07h

Eloi, obrigada pela dica do manual do Progress, já comecei a ler qualquer dúvida volto a perguntar.

Agradeço muito pelas orientações.

TAC®

Thalita Ap. Cunha

em 19 de maio de 2011, 19:03h

Fiz a parametrização de segurança para não ter acesso de usuário branco, mas qdo tento acessar o hcm fala que nem tem permissão para incrementar um sequencia e depois que não tem acesso a usuar_mestre. Como esse acesso vem antes de pedir usuário e senha, para essa tabela tenho que dar acesso ao usuário blank?

Daniel Mendonça

em 20 de maio de 2011, 13:37h

Daniel,

Quais parâmetros você marcou/ativou que geraram este problema?
Se estiver com dificuldades nesta configuração, talvez um chamado seja melhor. Daí você pode nos enviar as configurações que realizou e os erros exatos.

kirchner

em 28 de setembro de 2011, 14:36h

como eu consigo um manual do Progress "Explorer Tool"

ademir

em 29 de setembro de 2011, 10:17h

Ademir,

tem este post (ingleses.datasul.com.br/.../post.aspx) do Gionei falando sobre esta ferramenta. Além disso o próprio Progress Explorer Tool tem um bom help nos seus botões de 'ajuda', realmente bastante esclarecedor. Também existem a documentação do Progress disponível em www.progress.com.

eloi

Comentar




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


Acesso LogMeIn

Informe o código PIN: