Como configuro um wrapper de procedimento armazenado e configurações de segurança para fornecer acesso seguro às operações de linha de comando?

1

Por fim, estou tentando encontrar uma maneira de permitir o uso seguro do BCP e selecionar outra funcionalidade de linha de comando no SQL Server.

A organização em que estou atualmente tem o xp_cmdshell desativado, embora eu ache que, se puder apresentar um modelo de segurança para o uso que eles considerem ativá-lo.

Minha idéia até agora é criar um proc armazenado pelo wrapper que execute operações de linha de comando em nome do usuário. A operação seria passada pelo usuário como uma string que poderia então ser

  1. marcado para garantir que ele não contenha qualquer coisa obviamente desonesta - encontrei uma função aqui que deve ajudar com isso ( link )
  2. permitem apenas chamadas para programas ou operações específicas - no meu caso, o primeiro é o BCP

Minhas habilidades em DBA são um pouco limitadas, mas aqui está o que espero de um contexto de segurança

  • todas as contas de usuário normais não podem executar xp_cmdshell
  • criaríamos um usuário (ao qual o sproc executaria AS) com direitos para chamar xp_cmdshell e não muito mais, não um administrador em outras palavras
  • as permissões dos usuários existentes seriam usadas para ler os dados da tabela, mas combinadas com as permissões dessa conta extra ao usar o wrapper sproc.

Se você pudesse me dizer se estou no caminho certo e também outras coisas que preciso considerar, isso é algo que gostaria de apresentar aos DBAs

Obrigado

Sam

    
por samaspin 01.11.2012 / 15:30

1 resposta

0

Uma maneira mais segura e possivelmente mais fácil de fornecer aos usuários acesso a ferramentas de linha de comando como o BCP seria usar uma ferramenta como System Frontier .

Os comandos seriam executados em seu servidor SQL em uma conta que tenha o acesso adequado, enquanto o usuário em execução não precisaria ter nenhum acesso no servidor ou um login do SQL. Não há necessidade de lidar com carrancas sobre o uso de xp_cmdshell também. Além disso, tudo como quem o executou e qual foi a saída registrada em uma tabela de auditoria.

Divulgação completa: eu possuo a empresa que faz isso.

Jay

    
por 17.01.2013 / 03:38