none
Como negar acesso as tabelas de sistema, a um determinado usuário? RRS feed

  • Pergunta

  • Galera,

     

    Criei um usuário no banco de dados com acesso a uma unica tabela e com permissão somente de select. Porém, quando me conecto no SSMS com esse usuário e faço um select * from sys.all_columns ele retorna valores.

     

    Como faço para negar permissões as tabelas do sistema?

    Desde já  obrigada.
    quarta-feira, 8 de junho de 2011 19:39

Respostas

  • Boa Noite,

    Cuidado com as negativas nas tabelas do esquema sys. Se você fizer negativas diretas na tabela, pode ser que o usuário não consiga utilizar o SQL Server corretamente. Quando o usuário faz uma consulta, o parser precisará fazer várias verificações nas tabelas de sistema e se o usuário tem uma negativa explícita ele pode não conseguir efetuar as verificações que deseja.

    Negue o privilégio VIEW DEFINITION. É bem mais efetivo e seguro.

    DENY VIEW DEFINITION TO Usuario
    

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 8 de junho de 2011 22:08
    • Marcado como Resposta Neia_S quinta-feira, 9 de junho de 2011 15:09
    quarta-feira, 8 de junho de 2011 22:08

Todas as Respostas

  • Neia,

     

    DENY SELECT ON sys.all_columns TO User


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    quarta-feira, 8 de junho de 2011 19:46
    Moderador
  • Ok, mas teriei que excutar esse comando para todas as tabelas sys.?

     

    Ou tem algum comando que eu negue qualquer instrução sobre as tabelas SYS.?

    quarta-feira, 8 de junho de 2011 20:06
  • neia,

     

    DENY SELECT ON SCHEMA ::sys TO fabrizzio

     

    Sendo fabrizzio o usuario que utilizei como teste.


    Oracle OCA11g, MCC 2011! Dicas e novidades: www.fabrizziocaputo.wordpress.com
    quarta-feira, 8 de junho de 2011 20:08
    Moderador
  • Boa Noite,

    Cuidado com as negativas nas tabelas do esquema sys. Se você fizer negativas diretas na tabela, pode ser que o usuário não consiga utilizar o SQL Server corretamente. Quando o usuário faz uma consulta, o parser precisará fazer várias verificações nas tabelas de sistema e se o usuário tem uma negativa explícita ele pode não conseguir efetuar as verificações que deseja.

    Negue o privilégio VIEW DEFINITION. É bem mais efetivo e seguro.

    DENY VIEW DEFINITION TO Usuario
    

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 8 de junho de 2011 22:08
    • Marcado como Resposta Neia_S quinta-feira, 9 de junho de 2011 15:09
    quarta-feira, 8 de junho de 2011 22:08
  • Obrigada,

     

    Minha preocupação em bloquear todos os acessos possiveis é porque o desenvolver esta fazendo uma aplicação em PHP acessa o banco de dados. E não quero correr o risco de acessos indevido em meu BD.

     

    Obrigada a TODOS.

    quinta-feira, 9 de junho de 2011 14:16