SQL 2005 Security - Usuários: Para que são usados? (e outras várias perguntas)

4

Eu não sou um DBA e por isso não sei nada sobre as configurações de segurança do SQL 2005, etc. Estou tentando configurar uma cópia vazia do nosso banco de dados gerando o banco de dados completo a partir dos scripts gerados pelo SQL Management Studio. Infelizmente, não sei o que muitas das opções fazem e a documentação da MSFT desses processos não é boa.

Existe uma opção para gerar scripts para esquemas, tabelas, exibições e usuários. São os usuários que estou confuso, porque não entendo como eles afetam o uso do banco de dados. Nós temos alguns desenvolvedores na equipe que estão nesta lista e alguns que não estão, mas todos podem fazer qualquer coisa no banco de dados, pelo menos quando estão hospedando em suas próprias máquinas.

Preciso manter esses usuários no meu novo banco de dados gerado e o que eles fazem?

Também temos um usuário dbo que é db_owner e possui muitos dos nossos esquemas. O que é esse usuário dbo? Qual é o significado de um usuário possuir esquemas? Usamos Schemas como "namespaces" para agrupar tabelas logicamente relacionadas em nosso banco de dados, mas eu acho que há mais do que isso?

Existe também um nome de usuário vinculado a este usuário dbo, é o login do Windows NT de um de nossos desenvolvedores, mas ele não tem seu próprio objeto Usuário na lista ... existe algum significado para isso? Isso é ruim?

Outros usuários são guest, INFORMATION_SCHEMA e sys, mas acho que são todos padrões?

Desculpe, mas sou um administrador ignorante do SQL e geralmente deixei essas coisas para o DBA no meu trabalho anterior!

Obrigado por qualquer ajuda.

    
por MrLane 05.03.2010 / 07:28

1 resposta

1

Para configurar um clone do seu banco de dados, geralmente você deseja copiar os usuários. Um usuário no SQL Server permite atribuir privilégios; por exemplo, pode haver um aplicativo que usa seu banco de dados com o direito de ler e modificar dados, mas não criar ou descartar tabelas.

Os desenvolvedores que você mencionou e que têm acesso irrestrito provavelmente estão acessando o SQL Server a partir de uma conta do Windows no grupo Administradores. Isso por padrão no SQL Server é mapeado para a função de servidor sysadmin, que é uma função altamente privilegiada.

dbo, guest, sys e INFORMATION_SCHEMA são todas as contas padrão. Eu não me preocuparia muito com eles.

Todas as respostas às suas perguntas resumem-se a - esses recursos são usados para controlar as permissões no banco de dados. Você deseja conceder aos usuários o mínimo de permissões necessárias para que eles não consigam mexer com o que não precisam. Neste caso mais simples, isso significa que os desenvolvedores obtêm acesso total aos bancos de dados de desenvolvimento, e cada sistema ou usuário final que precisa se conectar obtém uma conta com apenas as permissões necessárias.

    
por 07.03.2010 / 15:53