Durante o desenvolvimento de objetos de banco de dados precisamos nos preocupar com a segurança de acesso e execução desses objetos. Isso é dar alguém algum direito que é necessário para executar alguma tarefa.
Dar permissões a alguns usuários pode não ser uma tarefa muito “correta” dentro do contexto de segurança das informações, porém existem exceções onde devemos dar acesso a alguns objetos e não a usuários.
Como contornar esse problema?
Há diversas formas de conceder permissões a objetos, porém uma das features do SQL Server 2005 é o EXECUTE AS, o qual permite que vc crie uma autenticação de outro usuário para executar um determinado código.
Por exemplo
O usuário X não tem permissão para excluir dados da tabela de clientes, mas em determinado momento de um processo o usuário X deverá excluir dados ao estar logado com o seu usuário.
Para esse caso podemos criar uma stored procedure e usar a clausula “WITH EXECUTE AS” e um usuário que tenha concessão para excluir registros. E para o usuário X devemos somente dar permissão para executar a stored procedure.
Para maiores informações consulte o BOL SQL Server 2005 ou SQL Server 2008.
Um comentário em “EXECUTE AS”