Voce deve estar com as procedures do usuario A usando "AUTHID CURRENT_USER".
Isso faz com que a procedure seja executada pelas permissoes do usuario
chamador.

Utilize sem essa clausula "AUTHID CURRENT_USER" nas procedures que voce irá
rodar as procedures pelo usuario proprietario.

Abraços





-----Mensagem original-----
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Ana Cristina
Enviada em: quarta-feira, 7 de fevereiro de 2007 12:22
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Permissão de usuários no 9i - grants

Olá turma,

Tenho mais uma dúvida a compartilhar com vcs na esperança de obter mais uma
vez uma boa resposta dos amigos experientes da área.

O problema está sendo apresentado no ambiente onde o s.o. é Windows NT +
9.2.0.7.0 EE, tudo em inglês.

Cenário:
Temos dois usuários que fazem uso do sistema:
Usuário A, privilégios concedidos: connect, resource, sendo que este é o
owner dos objetos utilizados pelo sistema.
Usuário B, privilégios concedidos: connect, resource. Este é o usuário que é
utilizado somente para conectar ao sistema.

Problema:
O usuário B tem grant de execute nas procedures e functions pertencentes ao
esquema do usuário A. Entretanto, apesar de teoricamente ele necessitar
somente deste "grant execute" nas procedures e functions do usuário A, se
não dermos os grants de insert, update e delete sobre as tabelas trabalhadas
dentro das procedures e functions, o "execute" não rola para o usuário B.

Vcs imaginem o "problemão", pois o usuário B é um usuário criado para
sistemas Web, está com grant de insert, update e delete sobre as tabelas do
usuário A (dependendo da necessidade do que a procedure do usuário A faz) +
grant execute sobre as procedures do usuário A. Segurança vai a zero se a
senha do usuário B se tornar pública. :-(

Pergunta:
Alguém sabe me dizer o motivo de apesar de ter sido dado grant execute ao
usuário B sobre procedures e functions do usuário A, ele ainda necessite dos
grants de insert, update e delete sobre as tabelas do A?
Alguém teria uma possível solução para este problema ou já passou por uma
situação parecida a esta?


Grata desde já e abraço a todos,
Aninha.



>Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » 
>Procedure » Scripts » Tutoriais acesse: 
>http://www.oraclebr.com.br/codigo/ListaCodigo.php
----------------------------------------------------------------------------
----------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
----------------------------------------------------------------------------
----------------------------------------------
>O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/
----------------------------------------------------------------------------
--------------------------------------------
Links do Yahoo! Grupos

 



Responder a