› Fóruns › Banco de dados Oracle › Permissao p/ objetos de outro Schema › Permissao p/ objetos de outro Schema
Olá,
First thing first…
1) Você concedeu permissão para criar,dropar,executar e alterar QUALQUER PROCEDURE de qualquer outro usuário e isso o usuário A agora pode fazer. Isso não se restringe ao usuário/owner B ou ao usuário/owner C, e sim todos os usuários/owner do Oracle, desde que o usuário/owner A saiba o nome do objeto e o owner…. (risco grande!! por isso a sugestão da ROLE)
2)A mesma lógica acima, só que para tabelas, ao conceder isso ao usuário A, até as tabelas sys.obj$ ele poderia fazer select, update etc.
3) ANY TYPE: Type são os objetos relacionais do Oracle que podem ser criados, tipo “create type as object etc…”
Melhor solução para isso:
1) Criar uma role ROLE_USERB (ou outro nome que relacione ao usuário B visualmente)
2) Grant dos objetos do usuário/owner B para essa role;
3) Grant da role ROLE_USERB para o usuário/owner A.
Nesse caso, sim, o usuário/owner A somente poderia ver os objetos do usuário/owner B por causa dessa role… Um novo usuário/owner C que não tem essa role, não conseguiria mais…
Se quiser incrementar ainda mais a segurança, coloque uma senha na role ROLE_USERB, quando o usuário/owner A quiser alterar algum objeto do usuário/owner B terá que setar a role primeiro informando a senha…
[]s Ishii