Artigo SQL Magazine 14 - Gerenciando contas e permissões no SQL Server 2000

Nessa edição, estarei apresentando a primeira parte do artigo que trata dos métodos de autenticação, criação de contas, roles e permissões do SQL Server 2000.

Clique aqui para ler esse artigo em PDF.



Clique aqui para ler todos os artigos desta edição

 

Gerenciando contas e permissões no SQL Server 2000 – Parte I

Paulo S. Ribeiro

 

Para acessar um database em um servidor MS SQL é necessário ter permissão para logon no servidor e acesso no database. Ao criarmos um usuário no SQL Server, estamos concedendo um login no servidor. Ao definirmos que esse usuário pode ou não ler e/ou escrever nas tabelas de determinado database, estamos definindo as permissões de acesso.

A falta de atenção na definição das permissões para o usuário pode ser desastrosa, afinal de contas não queremos que usuários comuns saiam por aí apagando tabelas, bancos de dados, ou mesmo executando jobs em horários inoportunos. Muitas vezes só nos preocupamos em definir uma política de permissões de acesso depois que um incidente grave aconteceu, mas aí geralmente já é tarde demais.

Nessa edição, estarei apresentando a primeira parte do artigo que trata dos métodos de autenticação, criação de contas, roles e permissões do SQL Server 2000. Para a segunda parte, reservei uma série de exemplos reais para aproximar o leitor do dia-a-dia de um DBA no que diz respeito ao gerenciando de permissões.

Começaremos definindo o método padrão de autenticação durante o processo de instalação do SQL Server 2000.

Escolhendo o método de autenticação durante a instalação do servidor

O termo autenticação define o meio utilizado pelo banco para validar usuários que desejam utilizar seus serviços. Como analogia considere a autenticação como o controle exercido pelo porteiro de um edifício, que permite ou não a entrada de pessoas após sua identificação. No processo de instalação do SQL Server 2000, somos questionados sobre o “método de autenticação”. Existem dois tipos básicos:

Windows Authentication Mode: nesse modelo, também conhecido por Segurança Integrada, o SQL Server 2000 confia na autenticação realizada pelo Sistema Operacional, estabelecendo permissões baseadas nos mesmos usuários e grupos já definidos no servidor de domínio (Windows 2000/2003/XP ou NT 4.0). Quando um usuário tenta efetuar uma conexão trusted (ver figura 1), o SQL Server 2000 irá levantar junto ao Sistema Operacional o SID do usuário e dos grupos a que ele pertence. De posse dessas informações, realizará algumas buscas na tabela de sistema master.dbo.SysXlogins para confirmar a autorização de acesso.

 

Figura 1. Abrindo sessão no Query Analyzer utilizando Segurança Integrada

  

Nota

SID ou Security Identification é um código interno gerado pelo Sistema Operacional no momento do cadastramento do usuário no servidor de domínio. O SID gravado na tabela SysXLogins para contas criadas com autenticação no servidor SQL Server 2000 será gerado internamente pelo banco. Para usuários criados com segurança integrada, o SID será o mesmo daquele definido para a conta de logon no servidor de domínio.

 

Mixed Authentication Mode: no modo misto são permitidas autenticações realizadas pelo SQL Server 2000 ou pelo Sistema Operacional. Para que o usuário faça uma conexão autenticada no banco – processo também conhecido como Segurança Standard – é necessário informar o usuário e senha (ver figura 2), que também serão validadas na tabela de sistema master.dbo.SysXLogins.

 

Figura 2. Abrindo sessão no Query Analyzer utilizando a autenticação do SQL Server 2000

 

O acesso a um database em um servidor SQL Server 2000 pode ser dividido em duas fases: na primeira, o usuário deve se conectar no servidor responsável pelo serviço do banco, utilizando o método de Segurança Integrada ou o Standard. Na segunda fase, serão verificadas as permissões de acesso específicas ao database que esse usuário deseja acessar.

Continuando nossa analogia, após passarmos pelo porteiro do edifício, é necessário que sejamos recebidos pela pessoa que reside no apartamento, que “deverá” (em caso de identificação positiva) abrir a porta para que possamos entrar. Considere o edifício como sendo o servidor de banco de dados e o apartamento um database. Assim como passar pelo porteiro em condições normais não dá livre acesso a todos os apartamentos, possuir somente uma conta de logon não é o suficiente para acessarmos todos os databases em um servidor. Veremos a seguir como criar contas de login em um servidor SQL Server 2000.

Criando contas de login no SQL Server 2000

Para criar uma conta de login é necessário informar o método que será utilizado para autenticação. A procedure " [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados