Como posso configurar um compartilhamento de arquivo SQL que não precise de acesso sysadmin para gravar nele?

3

Temos uma instalação do SQL Server 2012 com o recurso de compartilhamento de arquivos ativado. Em seguida, temos um aplicativo IIS que pode gravar diretamente no compartilhamento \ localhost \ MSSQLServer ... que o banco de dados cria.

O problema que tenho é que, para que isso funcione, precisei criar uma nova conta de usuário e defini-la como a identidade do pool de aplicativos para o aplicativo, adicionar esse usuário ao SQL Server e, finalmente, conceder ao usuário o sysadmin Função. Se eu der a ela qualquer outra função de servidor, ela não terá acesso de gravação ao compartilhamento.

Ter uma conta de usuário do pool de aplicativos do IIS tem acesso irrestrito a todo o SQL Server não é o ideal. Existe uma maneira, portanto, de configurar o SQL Server para permitir um acesso de função com privilégios mais baixos ao compartilhamento de arquivos?

    
por David Arno 21.06.2013 / 12:08

1 resposta

1

Em geral, você deve ser capaz de conceder ao usuário do conjunto de aplicativos do site os direitos Inserir / Excluir / Atualizar / Selecionar no único filetable (e o que outras partes do DB podem precisar acessar.

Conceder o seu login "sysadmin" está muito longe de ir. Ao depurar no teste, você pode tentar conceder ao usuário para esse login o "db_datawriter" & funções "db_datareader" ou até mesmo a função "db_owner" no banco de dados que contém o filetable

Mas você deve ser capaz de fazer algo como

USE [DatabaseName]
GRANT SELECT, DELETE, UPDATE, INSERT on TABLE [FiletableName] TO [DOMAIN/UserName]

ou crie uma função para o aplicativo que tenha todas as GRANTs aplicadas a ele e conceda essa nova função ao usuário.

O tipo de tabela FileTable não usa um modelo de direitos especiais, ele usa mecanismos normais de direitos de SQL.

Por fim, verifique se você está usando o SQL2012 Service Pack 1, pois há um bug de segurança conhecido na versão RTM. " Falha de segurança corrigida no SP1 "

    
por 24.06.2013 / 20:35