SQL Server: qual o motivo para favorecer funções de banco de dados personalizadas em vez de fixas?

8

Isso pode ser um pouco vago, mas eu estava pensando em quanto DBA usa funções fixas de banco de dados que controlam a segurança dos bancos de dados. Portanto, a questão é: existe um motivo para favorecer funções de banco de dados personalizadas em vez de funções de banco de dados fixas (db_datareader etc.)?

jrara
fonte

Respostas:

12

As funções fixas do banco de dados fornecem permissões para todo o banco de dados. Funções personalizadas entram em jogo quando você não deseja conceder aos usuários permissões para todo o banco de dados, apenas uma parte dele.

Por exemplo, db_datareader fornece permissão SELECT para todas as tabelas, visualizações, etc. nesse banco de dados. Por motivos de conformidade, pode haver algumas tabelas ou visualizações das quais a equipe de RH deve poder SELECIONAR apenas e outras não. É geralmente aí que papéis personalizados entram em cena.


fonte
3

As funções de banco de dados padrão são ótimas para bancos de dados em que existem apenas alguns usuários ou quando não há uma equipe de DBAs para gerenciar as permissões. No entanto, se houver vários usuários com uma grande equipe de banco de dados e dados confidenciais, seria aconselhável criar funções personalizadas para que você saiba quem está olhando o quê.

No que diz respeito à segurança de dados (e banco de dados), você deseja bloquear as coisas o máximo possível e ainda permitir que todos possam fazer seus trabalhos sem grandes desafios. Papéis personalizados se encaixam muito bem nesse projeto.

Richard
fonte
2

Não, não creio que exista uma razão para favorecer as funções personalizadas do banco de dados, EXCETO que elas sejam mais especializadas e adaptadas ao seu ambiente e requisitos. Os desenvolvedores analisarão a oferta padrão e, se ela se encaixar no trabalho - perfeita! Mas se não, é hora de personalizar!

Peter Schofield
fonte
2

Razões práticas, especialmente com db_datareader e db_datawriter

  • os usuários finais podem alterar as tabelas de histórico e auditoria
  • Conformidade com PCI / SOX / Adit
  • você terá planilhas conectadas ao seu banco de dados
  • ... que também fornece dependências desconhecidas na tabela e visualizações
  • os usuários não entenderão a normalização ou o design do banco de dados
  • nem todos os dados são para todos os usuários
  • ...

As outras funções de banco de dados não são realmente usadas.

gbn
fonte
Sim, PCI / SOX / Adit são tópicos importantes hoje em dia. Essa pode ser uma razão boa o suficiente para sair de funções fixas.
precisa saber é o seguinte