E só para deixar Claro, o ponto de atenção reportado é para os usuários DBAs
- claro que para os usuários comuns vc simplesmente não dá/remove os
privilégios ANY e remove os privilégios de CREATE e DROP nos objetos do schema
a proteger e pronto, eles não mais serão capazes de alterar os objetos do
schema a proteger
[]s
Chiappa
--- Em oracle_br@yahoogrupos.com.br, "J. Laurindo Chiappa"
escreveu
>
> Neca : por definição um DBA tem diversos privilégio CREATE ANY (ANY TABLE,
> ANY PROCEDURE, etc, etc) que lhe permite alterar qualquer Objeto de qualquer
> schema... Nesse cenário, vc tem que :
>
> 1. afaik a Única maneira 100% garantida de proibir alterações em objetos
> programáticos é adquirir e instalar/configurar uma solução externa ao
> database, que permita um lockdown : a Oracle fornece o Oracle database Vault,
> veja mais dets em
> http://www.oracle.com/technetwork/database/options/database-vault/index-085211.html,
> e outros parceiros também tem as suas..
> O ponto é que TODAS elas custam $$ extra...
>
> 2. ao invés de impossibilitar, vc pode proibir alterações contratualmente **
> E ** :
>
>a. Auditar o DBA e todo mundo, e aplicar uma Multa se a Auditoria
> encontrar alterações
>
>e/ou
>
>b. se detectar alterações, bloquear a Aplicação : por exemplo, manter numa
> tabela/arquivo da aplicação (provavelmente encriptado, com DBMS_CRYPTO ou
> semelhante) a lista de propriedades dos objetos da Aplicação E a aplicação na
> hora do startup consulta a DBA_OBJECTS e compara os dados da DBA_OBJECTS
> contra essa tabela/arquivo - se houver diferenças na data de criação,
> tamanho, ou seja o que for, É Evidência que alteraram os objetos da
> Aplicaçãod, aí a Aplicação aborta/dá uma mensdagem pro usuário, coisa assim
>
>e/ou
>
>c. vc pode DIFICULTAR a alteração dos objetos, encriptando-os com WRAP :
> isso não é Absolutamente e Completamente 100% seguro, mas é um bom começo -
> não é algo simples vc alterar objetos wrapped e/ou os desencriptar ...
>
> ==> A Oracle mesmo nos objetos internos dela (os do schema SYS) usa técnicas
> derivadas das 3 alternativas acima, a, b e c
>
> []s
>
>Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br, "Marcos" escreveu
> >
> > Boa tarde
> >
> > Srs tem como bloquear os objetos de um usuário pra que outros usuários não
> > alterem?
> >
> > Ex: tenho um usuário X (com triggers, packages etc) não gostaria que outro
> > usuário tivesse acesso a esses objetos, inclusive o sys. o sistema é
> > instalado no cliente e ele como dba, pode alterar algum objeto do meu
> > sistema.
> >
> > Não gostaria de usar o utilitário wrap.
> >
> > Alguma sugestão?
> >
> > Oracle 10g.
> >
> > Marcos
> >
>