Pular para o conteúdo
  • Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 10 anos, 8 meses atrás por Fábio Prado.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #107576
    airoosp
    Participante

      Boa tarde,

      Criei um novo usuário banco 10g (10.2.0.5) apenas com privilégio create session, e após fazer o login, vi que este usuário tem acesso há diversas views, inclusive do SYS.

      Isto esta correto?

      Se executar o revoke select on nome_da_view from novo_usuario, é gerado um erro, “o usuário não tem privilégio atribuído”, tudo bem este erro já era esperado.

      Então, como restringir o acesso as views? Ao executar “create session” quais são os privilégios implícitos?

      Obrigado.

      Airton.

      #107577
      Paulo Werneck
      Participante

        Airton,

        Está correto a visualização das views, são as views do dicionário de dados.
        As que iniciam com o prefixo “USER_” mostrará informações referentes ao usuário logado,
        e as com prefixo “ALL_” informações referentes ao usuário logado mais os demais usuários.
        Tem também as de prefixo “DBA_” que mostram informações do banco num todo, mas só para usuários com privilégios de DBA

        Abs

        #107579
        airoosp
        Participante

          Entendi, mas dessa forma não estaria infringindo a segurança do banco? O usuário foi criado apenas com o privilégio “create session”, ter acesso as views USER_ tudo bem, mas consultar as views ALL_ e ver informações dos demais usuários.

          E para restringir o acesso?

          Estou perguntando isso pois, conforme outro post, ao fazer a conexão com o Oracle via ODBC através do Access 2013, todas estas views aparecem, entendo que o certo seria aparecerem somente as views que pertencem ao usuário que estiver fazendo o login.

          #107582
          Fábio Prado
          Participante

            @airosp,

            Tudo o que você está vendo são objetos que possuem privilégios PÚBLICOS de SELECT. Muitas visões (e outros objetos) do Dicionário de Dados são públicas e qq um consegue executar um SELECT nelas. Como exemplos temos as visões que começam com USER e ALL. Para restringir acesso a elas você teria que revogar os privilégios públicos de SELECT nelas, mas não recomendo você tentar fazer isso. Muito destes objetos são acessados através de sinônimos, o que dificultaria o seu trabalho, além do mais, revogar estes privilégios poderia ocasionar erros em aplicações que dependem deles! Pela pergunta, creio que você não tenha conhecimentos de DBA, portanto, sugiro NÃO MEXER nisso!

            []s

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.