Banco de Dados - SQL Server
Segurança do SQL Server 2000
O SQL Server valida os usuários em dois níveis de segurança: autenticação de login e validação de permissões para contas de usuário e cargos (Roles) do banco de dados.
por Equipe Linha de CódigoO SQL Server valida os usuários em dois níveis de segurança: autenticação de login e validação de permissões para contas de usuário e cargos (Roles) do banco de dados.
A autenticação identifica o usuário que está usando uma conta de login e verifica a capacidade do usuário em se conectar ao SQL Server. Se a autenticação for bem-sucedida, o usuário se conectará ao SQL Server.
O usuário deve ter, então, permissão para acessar os banco de dados no servidor. O Administrador do banco de dados atribui permissões específicas a banco de dados para as contas de usuário e os cargos para que os bancos de dados sejam acessados no servidor. As permissões controlam as atividades que o usuário pode executar no banco de dados do SQL Server.
Autenticação de login
O usuário deverá ter uma conta de login para se conectar ao SQL Server. o SQL Server reconhece dois mecanismos de autenticação de login: a autenticação do Windows e a autenticação do SQL Server, sendo que cada um apresenta um tipo diferente de conta de login.
Windows Authentication
Quando você usa o Windows Authentication, uma conta ou um grupo do Windows 2000 controla o acesso dos usuários ao SQL Server. O usuário não fornece uma conta de login ao se conectar ao SQL Server. O Administrador de sistema do SQL Server deve definir a conta ou o grupo do Windows 2000 como uma conta de login válida para o SQL Server.
SQL Server Authentication
Ao usar o SQL Server Authentication, o administrador de sistema do SQL Server define uma conta de login e uma senha para o SQL Server. Os usuários devem fornecer o login e a senha do SQL Server ao se conectarem ao SQL Server.
Modo de autenticação
Quando o SQL Server é executado no Windows 2000, o administrador de sistema poderá especificar que ele seja executado em um dos dois modos de autenticação:
Modo Windows Authenctication - Somente a autenticação do Windows 2000 é permitida. Os usuários não podem especificar uma conta de login do SQL Server.
Modo mixed - Os usuários podem se conectar ao SQL Server com a Windows Authentication ou com a SQL Server Authentication.
Contas de usuário e cargos (roles) do banco de dados
Após serem autenticados pelo Windows 2000 ou pelo SQl Server e autorizados a efetuar login no SQL Server, os usários deverão ter contas em um banco de dados. As contas de usuário e os cargos (roles) identificam um usuário em um banco de dados e controlam a propriedade dos objetos e as permissões para execução de instruções.
Contas de usuário do banco de dados
As contas de usuário que aplicam as permissões de segurança são os usuários ou os grupos do Windows 2000 ou as contas de login do SQL. As contas de usuário são específicas a um banco de dados.
Cargos (Roles)
Os cargos permitem que voce reúna os usuários em uma única unidade à qual podem ser aplicadas permissões. O SQL Server fornece cargos de banco de dados e servidor predefinidos para as funções administrativas comuns, de modo que é possível conceder facilmente várias permissões administrativas a um determinado usuário. Você também pode criar seus próprios cargos de banco de dados definidos pelo usuário. No SQL Server, os usuários podem pertencer a vários cargos.
Tipos de cargos
O SQL Server permite três tipos de cargos para ajudar no gerenciamento das permissões: cargos fixos de servidor, cargos fixos de banco de dados e cargos de banco de dados definidos pelo usuários=.
Cargos fixos de servidor
Os cargos fixos de servidor fornecem grupos de privilégios administrativos no nível do servidor. Eles são gerenciados de modo independente dos banco de dados de usuário no nível de servidor. A tabela a seguir descreve os cargos fixos de servidor no SQL Server 2000.
Tabela 1: Cargos fixos de servidor
Cargo | Permissão |
Criadores de banco de dados | |
(dbcreator) | Criam e alteram os bancos de dados |
Administradores de discos | |
(diskadmin) | Gerenciam os arquivos do disco |
Administradores de processos | |
(processadmin) | Gerenciam os processos do SQL Server |
Administradores de segurança | |
(securityadmin) | Gerenciam e auditam os logins do servidor |
Administradores de servidor | |
(serveradmin) | Configuram as definições do servidor |
Administradores de instalação | |
(setupadmin) | Instalam a duplicação |
Administradores de sistema | |
(sysadmin) | Executam qualquer atividade |
Administradores de operações em massa | |
(bulkadmin) | Executam a instrução BULK INSERT |
Cargos fixos de banco de dados
Os cargos fixos de banco de dados fornecem grupos de privilégios administrativos no nível do banco de dados. A tabela a seguir descreve os cargos fixos de banco de dados no SQL Server 2000.
Tabela 2: Cargos fixos de banco de dados
Cargo | Permissão |
public | Mantém todas as permissões padrão dos usuários de um banco de dados |
db_owner | Executa qualquer atividade de cargo de banco de dados |
db_accessadmin | Adiciona ou remove usuários, grupos e cargos do banco de dados |
db_ddladmin | Adiciona, modifica ou elimina objetos do banco de dados |
db_securityadmin | Atribui permissões de objetos e instruções |
db_backupoperator | Faz o backup de banco de dados |
db_datareader | Lê os dados de qualquer tabela |
db_datawriter | Adiciona, altera ou exclui dados de todas as tabelas |
db_denydatareader | Naõ pode ler dados de nenhuma tabela |
db_denydatawriter | Naõ pode alterar dados em nenhuma tabela |
Cargos de banco de dados definidos pelo usuário
Você também pode criar seus próprios cargos de banco de dados para representar o trabalho executado por um grupo de funcionários de sua organização. Não é necessário conceder nem revogar as permissões de cada pessoa. Se a função de um cargo for alterada, você poderá alterar facilmente as permissões para o cargo e aplicar as alterações automaticamente a todos os membros desse cargo.
Validação de permissões
Dentro de cada banco de dados, você atribui permissões às contas de usuários e aos cargos para a execução (ou restrição) de certas ações. O SQL Server aceita comandos após o acesso bem-sucedido do usuário a um banco de dados.
O SQL Server executa as seguintes etapas ao validar as permissões:
- Quando o usuário executa uma ação, como, por exemplo, quando executa uma instrução Transact-SQL ou escolhe uma opção de menu, o cliente envia as instruções Transact-SQL ao SQL Server.
- Quando o SQL Server recebe uma instrução Transact-SQL, ele verifica se o usuário tem permissão para executar uma instrução.
- Em seguida, ele executa uma das duas ações a seguir:
- Se o usuário não tiver as permissões adequadas, o SQL Server retornará um erro.
- Se o usuário tiver as permissões adequadas, o SQL Server executará a ação.
- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server