Pular para o conteúdo
Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #108966
    Avatar de Ricardo RodriguesRicardo Rodrigues
    Participant

      Boa tarde Galera,

      Versão Oracle 10G.

      Existe um grant específico de todas as tabelas do usuário A para B poder fazer select? Lembrando que sem usar scripts.

      Por exemplo:

      grant select any table from A to B;

      #108967
      Avatar photoJosé Laurindo Chiappa
      Moderator

        Pode consultar na Documentação Oracle, que ** ABSOLUTAMENTE NÂO EXISTE isso ** no RDBMS Oracle não : ou vc dá GRANT um UMA tabela de UM owner ou dá GRANT de SELECT ANY TABLE, não há outra opção… A segunda alternativa é a PIOR,pois cfrme documentado ANY significar QUALQUER (tabela, no caso) de QUALQUER usuário, horroroso para a segurança….
        Então se vc quer dar GRANT de SELECT nas tabelas A,B,C,D,E do usuário X para o usuário Y, vc TERIA SIM que executar os comandos :

        GRANT SELECT ON X.A TO Y;
        GRANT SELECT ON X.B TO Y;
        GRANT SELECT ON X.C TO Y;
        GRANT SELECT ON X.D TO Y;
        GRANT SELECT ON X.E TO Y;

        Sim ?? O que vc ** PODE ** fazer seria SIM criar um script que te gere os GRANTs todos pra vc não os ter que escrever na mão, OU então (numa variação da técnica) escrever um programinha PL/SQL que gere os GRANTs necessários num cursor e execute cada um deles via EXECUTE IMMEDIATE ou DBMS_SQL…. SEM ESCAPATÓRIA AQUI….

        []s

        Chiappa

        OBS :

        a. lembrando, o GRANT pode ser para um USUÀRIO ou para uma ROLE : normalmente vc tem MUITOS usuários que precisam receber privilégios, então via de regra vc faz os GRANTs para uma ROLE e depois só precisa executar um único comando de GRANT ROLE pra cada usuário

        b. há ** OUTROS ** quebra-galhos e gambiarras que podem ser aplicados (tais como setar a ROLE que recebeu as perms com SET ROLE, ou criar triggers de DDL em comandos CREATE TABLE no database que já faria os GRANTs necessários, ou dar o privilégio para os usuários de se conectar via PROXY, herdando as mesmas permissões do usuário owner OU de um usuário que tem o SELECT nas tabelas em questão, mas tudo isso imho é GAMBI, e gambi COMPLEXA de fazer : o que RECOMENDO que vc faça é mesmo aplicar os GRANTs necessários

      Viewing 2 posts - 1 through 2 (of 2 total)
      • You must be logged in to reply to this topic.
      plugins premium WordPress