Ola Chiappa,

Na verdade vc entendeu certo.. eu queria saber exatamente isso: se posso dar
permissao a um usuario comum para executar um procedure(q foi criado com o
usuario e role do administrador da aplicação junto com as tabelas), e esse
procedure manipular os dados por meio dos insert´s, selects, e afins, mas o
usuario comum não ter privilegio de executar estes mesmos select´s e
insert´s diretamente na tabela... Mas pela sua resposta já ficou tudo mais
claro... e vamos continuar deixando toda a logica nos procedures mesmo,
assim o banco cuida dos dados e a front end soh da apresentação e captura
dos mesmos...

Obrigado e abraço,

Marcio

 

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de jlchiappa
Enviada em: quinta-feira, 12 de julho de 2007 16:43
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: duvida sobre permissoes..

 

Não entendi bem o que seria esse " 'objeto' das tabelas" , mas sim, 
quando vc cria uma role, se vc der apenas GRANT de execute nas 
procedures x, y e z para a role, rigorosamente TODOS os usuários de 
banco que receberem essa role vão poder APENAS e TÃO SOMENTE 
executarem as procedures x, y e z, sim... Isso (claro) só não vale 
para o usuário dono das tabelas (que por definição SEMPRE faz o que 
quiser com elas), E para os usuários com super-privilégios como 
SELECT ANY, INSERT ANY TABLE e similares (recebidos diretamente ou 
via outras roles).

[]s

Chiappa
--- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
, "Marcio T N Ferreira" 
<[EMAIL PROTECTED]> escreveu
>
> Colegas,
> 
> Estou com uma duvida teórica, que preciso resolver antes de andar 
mais com o
> desenvolvimento do nossa aplicação...
> 
> Imaginem a seguinte situação:
> 
> 
> 
> · Todos os dados desta aplicação estão em um único schema...
> 
> · Todo o modelo de negocio esta traduzido em operações SQL e
> distribuídos em function e procedures nos seus respectivos pack´s...
> 
> · Temos 2 roles principais: um de administrador da 
aplicação e outro
> de usuário...
> 
> 
> 
> Agora minha duvida:
> 
> Ao desenvolver o front-end, um usuário (com role de usuário) não 
pode
> acessar via select, insert,e afins, a TABLE que contem os dados
> diretamente.. ele **DEVE NECESSARIAMENTE** executar um procedure ou
> function, que ira perfazer todo o trabalho de manipulação dos dados
> propriamente dito. Isso para garantir que por um erro de 
programação do
> front end, não seja feito um insert que não esteja de acordo com o 
modelo de
> negócios. Exemplo: a aplicação não pode executar um insert de na 
tabela
> Tb_fatura... ela deve coletar os dados e chamar um procedure
> cria_fatura(dados....)... Garantindo assim que alem de inserir os 
dados na
> tabela de fatura, todos os outros procedimentos relativos a esta 
fatura
> sejam tambem realizados... Ou seja, eu posso definir q o role de 
usuário não
> tenha permissão de insert no objeto das tabelas, e apenas de 
execute nos
> procedures e/ou functions???
> 
> 
> 
> Obrigado a todos,
> 
> Marcio
> 
> 
> 
> 
> 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a