Configure o login do usuário e as permissões de procedimentos armazenados no SQL Server

1

Sou um desenvolvedor de software que está finalizando um aplicativo da web. O aplicativo usa o banco de dados "DB1" no meu SQL Server 2008 "SQLServer_1".

Eu gostaria de criar um usuário limitado que o aplicativo da Web usará em sua string de conexão. Esses usuários poderão executar uma lista de procedimentos armazenados, nada mais. Portanto, o usuário não deve ter permissão para executar SQL ad hoc ou outros procedimentos armazenados fora dessa lista.

Eu tenho uma pequena confusão entre "usuário" e "login", eu realmente não sei onde devo criar a nova "conta".

Quais são os passos que devo seguir?

Obrigado antecipadamente.

    
por NullOrEmpty 15.08.2011 / 11:45

2 respostas

2

Tudo se resume ao escopo. Um login é uma conta no nível do servidor e um usuário é uma conta no nível do banco de dados. O usuário precisa ser mapeado para um login, portanto, você criará seu login primeiro (enquanto, ao mesmo tempo, criará uma maneira de autenticar no servidor). Em seguida, no banco de dados do seu aplicativo, você criará o usuário. Ao fazer isso, você terá a opção de escolher o login que esse usuário representa. Você escolherá o login que você criou anteriormente. Você pode, então, atribuir permissões aos procedimentos armazenados que você deseja que seja capaz de executar. Claro, há uma maneira menos clichê de fazer isso:

create login [your login name here] from windows; --if the login is a Windows account
create login [your login name here] with password 'some super secret password'; --if not a Windwos account
use [DB1];
create user [your login name here] for login [your login name here];
grant execute on [your stored procedure here] to [your login name here];
grant execute on [another stored procedure here] to [your login name here];
...
    
por 15.08.2011 / 15:28
0

Não tenho certeza do que você quer dizer? Se você não souber as diferenças entre "Usuário", "Login" e "Função", siga as excelentes documentação da Microsoft. A partir daí, você pode acessar qualquer outro tópico relacionado, como conceder direitos de execução para procedimentos armazenados.

    
por 15.08.2011 / 12:48