Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rebeca Boiani

Como impeço o usuário de executar o comando sp_help ?

Recommended Posts

Bom dia a todo(a)s !

 

Criei o login para um usuário com poucas permissões, inclusive removi as permissões DB_DATAREADER e DB_DATAWRITER, no entanto, fui fazer um teste e vi que é possível executar o SP_HELP, deste modo, é possível verificar todo o conteúdo do nosso BD, e verificar o conteúdo de tabelas também.

 

Como posso impedir alguém de executar a citada procedure sp_help e sp_helptext ?

 

Para remover as permissões de leitura e gravação, foi feito conforme abaixo:

EXEC SP_ADDROLEMEMBER 'DB_DATAREADER', 'Login'
EXEC SP_ADDROLEMEMBER 'DB_DATAWRITER', 'Login'

 

Toda ajuda será bem vinda!

 

Não sou DBA e sim Analista Programadora.

 

Grata,

Rebeca Boiani

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rebeca,

o sp_help é um comando nativo de uma database, quando um usuário tem permissão de conectar a base.

O que você pode fazer (eu nunca testei), é tirar este usuário de public ou owner, e dar permissão especifica a ele, como select, update, delete, insert e negar ALTER, mas é um trabalho árduo e demorado.

 

Se não quer que usuário vejam as definições de uma procedure, por exemplo, use WITH ENCRYPTION para criptografar.

 

Explique melhor porque não quer que usuário(s) usem a sp_help.

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, obrigada.

 

Então, já concedi o privilégio que o respectivo usuário (uma aplicação de terceiro) terá, mas, ao fazer um teste, constatei que está sendo possível que ele veja todos os objetos do banco através do comando sp_help e também a estrutura dos objetos (sp_helptext).

 

Eu já cosegui remover o privilégio de db_owner, mas não consigo remover o public; quado tento aparece a msg "Server: Msg 15081, Level 16, State 1, Line 1 Membership of the public role cannot be changed".

 

Estou utilizando da seguinte forma: sp_droprolemember 'public', 'Login'

 

ps. utilizo o SQL Server 2012 (adquirido recentemente).

 

Grata,

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente foi falha minha. Não tem como retirar o public.

Retire o acesso deste usuário a base master e tente restringir o acesso ao grupo public, mas isso pelo MMS.

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.