Existe algum risco em conceder aos usuários a permissão SHOWPLAN do SQL Server?


23

Estou fazendo alguns ajustes de desempenho em um banco de dados grande do SQL Server 2008 e o grupo de TI não está disposto a dar permissão ao SHOWPLAN. No passado, "Mostrar plano de execução" era a maneira mais eficaz de entender o desempenho de consultas e procedimentos individuais.

Quais riscos são inerentes à concessão dessa permissão? Existe uma justificativa legítima para essa restrição em uma cópia de desenvolvimento do banco de dados?

Nota: Este grupo de TI do SQL possui mais de 200 bancos de dados em uma única instância do SQL Server. Obrigado.

Resposta : Estou considerando que a falta de resposta significa que não há riscos significativos à segurança, além do observado abaixo. Basicamente, restringir isso em um banco de dados de desenvolvimento é contraproducente.

Vou atualizar isso se alguém tiver uma resposta melhor. Obrigado por seus comentários!

Respostas:


19

Dê uma olhada no Showplan Security nos Books Online, que diz:

Os usuários que têm SHOWPLAN, ALTER TRACEou VIEW SERVER STATEpermissão podem exibir consultas que são capturados na saída de plano de execução. Essas consultas podem conter informações confidenciais, como senhas. Portanto, recomendamos que você conceda essas permissões apenas aos usuários autorizados a visualizar informações confidenciais, como membros da função de banco de dados fixa db_owner ou membros da função de servidor fixa sysadmin . Também recomendamos que você salve apenas arquivos Showplan ou arquivos de rastreamento que contenham eventos relacionados ao Showplan em um local que use o sistema de arquivos NTFS e restrinja o acesso a usuários autorizados a exibir informações confidenciais.

Por exemplo, considere a seguinte consulta:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

Se um usuário mal-intencionado produzir saída do Showplan para um conjunto de consultas como este exemplo e substituir o valor "10" no predicado por constantes diferentes a cada vez, o usuário poderá inferir uma distribuição aproximada dos dados dos valores da coluna para a coluna_1 na tabela_1 lendo a linha estimada conta.

Esse risco parece insignificante, especialmente porque esse é um servidor de desenvolvimento, onde todas as consultas seriam de desenvolvedores e pessoas de TI, não de usuários.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.