Login:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

SQL Server

Feed da seção SQL Server

Newsletter de SQL Server


Sexta-feira, 24/01/2003 - 03:59 - Por Mauro Pichiliani
Seções relacionadas:

Logins e Usuários no SQL Server

Galera, esta semana vamos dar uma olhada na parte de segurança do SQL Server, mais especificamente na ‘porta de entrada’ ao banco de dados. Vamos falar um pouco também sobre o que acontece após um usuário se conectar ao banco de dados. Na próxima coluna vamos abordar questões relativas à permissões e roles.

Antes de começar a falar sobre o assunto desta coluna gostaria de comentar sobre os desafios da coluna número 50. Eu recebi alguns e-mails com várias idéias sobre como resolver os problemas e oferecendo dicas importantes sobre a questão. Eu estou juntando todos os e-mails referentes às questões, analizando cada uma cuidadosamente e estou preparando a coluna em que vou comentar sobre estes desafios. Só gostaria de pedir para continuarem a enviar os e-mails com as respostas enquanto o prazo ainda não se esgota.

Voltando ao assunto da coluna de hoje , vamos ver um pouco primeiro sobre os Logins. Como já comentado anteriormente aqui no iMasters , logins são a maneira de um usuário acessar o servidor de banco de dados. Dependendo do modo de autenticação que o usuário está rodando a instância do SQL Server , um login pode ser um usuário do Windows ou um login do SQL Server. Estes modos de autenticação podem ser modificados depois que a instância do SQL Server foi instalada e vamos recordar um pouco sobre os eles:

* Windows Authentication Mode: O usuário só pode se conectar através de um usuário/senha já previamente cadastrado no Windows NT/2000. Geralmente este é o usuário/senha que o usuário utiliza para se logar na estação e pode estar armazenada em um controlador de domínio do Windows 2000 , que possui o Active Directory. Caso o servidor em que esteja instalado o SQL Server não possa entrar em contato através da rede com o controlador de domínio e a senha não esteja cadastrada localmente no servidor , os usuários não vão poder se conectar ao banco de dados. Além de permitir que usuários do Windows possam se conectar ao SQL Server , grupos de usuários do Windows também podem ser mapeados para dentro do SQL Server , de modo que todos os usuários deste grupo também possuirão acesso ao SQL Server. Quando instalamos o SQL Server em um Windows 2000/NT/XP o grupo de usuários Administradores já é mapeado para o SQL Server , de modo que todos os Administradores locais do servidor já possuem acesso para se conectar com o SQL Server.

Caso desejarmos que os usuários do Windows 2000/NT/XP não mais acessem o SQL Server devemos desabilitar a conta primeiro no Windows ( para impedir que o usuário se logue ) e depois cancelar o mapeamento dentro do SQL Server. A conta no Windows é gerenciada no Active Directory ou no ícones Usuários e Senhas. Por fim , este modo só é permito para computadores que possuem o Windows 2000/NT/XP instalados e não é habilitado para o Windows 98/ME/CE e é o modo de autenticação recomendado pela Microsoft quando se trabalha em uma rede em que todos os clientes que se conectem com o SQL Server sejam Windows , pois assim toda a segurança , auditoria e gerenciamento de usuários fica por conta do Windows e suas ferramentas. Por ser autenticado pelo Windows e depois passada as credenciais para o SQL Server , esta conexão as vezes é chamada de Trusted Connection.

* Mixed Mode: Além do usuário poder se conectar no banco através de um usuário/senha já previamente cadastrado no Windows NT/2000/XP, como descrito no modo acima, ele também pode se conectar através de logins exclusivos do SQL Server. Caso se utilize um login/senha exclusivo do SQL Server no momento da conexão este login/senha deve ser fornecido pelo cliente e , caso este login/senha esteja correto , o usuário possui acesso ao banco de dados. Este modo de autenticação é recomendado quando se deseja ter um ambiente onde nem sempre as conexões serão através de máquinas com o Windows instalado. Só para evitar uma confusão de nomeclaturas , o SQL Server só trabalha com o conceito de login , seja este login um usuário/grupo do Windows ou um login do SQL Server.

Podemos gerenciar os logins do SQL Server através do Enterprise Manager, na opção Security, ícone logins, como mostrado na figura abaixo:

Na figura acima podemos perceber que o grupo local de administradores do Windows já está mapeado para o SQL Server, de modo que todos estes usuários que estejam dentro deste grupo já podem acessar o SQL Server. O usuário Mauro do Windows também foi mapeado e o login do SQL Server sa foi criado. Baseado nisto podemos afirmar que este servidor está no modo Mixed Mode.

Para criarmos logins devemos clicar com o botão direito do mouse no ícone Logins ou no painel da direita no Enterprise e escolher a opção New Login. A seguinte tela será mostrada:

Na figura acima podemos cadastrar um usuários específico do SQL Server ou mapear um usuário/grupo do Windows clicando no botão ... Além do direito de se conectar com o SQL Server um login também pode possuir um banco de dados padrão. Este banco de dados padrão indica em qual banco de dados o usuário será posicionado após ter feito um login com sucesso. Isso não quer dizer que o usuário possui qualquer tipo de permissão neste banco de dados , somente indica um ponto inicial para o login que acabou de entrar no SQL Server.

Logo após se logar , por qualquer método que seja , o login é mapeado para um Usuário de Banco de dados. Este usuário de banco de dados é por database , ou seja , para cada banco de dados diferentes logins pode estar mapeado para diferentes usuários.

Por exemplo: a tela abaixo mostra o login do SQL Server Mauro mapeado como usuário A para o banco de dados Northwind e como usuário B para o banco de dados Pubs. Esta tela é obtida clicando-se na aba Database Access da tela de criação de login.

É a partir deste usuários de banco de dados que serão atribuídas as permissões sobre os objetos do SQL Server , sobre comandos , o controle sobre qual é dono do objeto e filiação aos roles, tanto Database roles como Server roles. Para um banco de dados um usuários deve ser único. Utilizando o exemplo acima , não poderíamos ter o login Marcio mapeado como usuário A para o banco de dados Northwind, uma vez que o login Mauro já está mapeado com usuário A para o banco de dados Northwind. Um usuário de banco de dados pode ter o mesmo nome do login. Como exemplo, o login Marcio pode estar mapeado para o banco de dados Northwind como Marcio.

Estes usuários podem gerar um pouco de confusão, principalmente pelo fato de que o Windows também utiliza este termo. Para não esquecer: No SQL Server primeiro o usuário se loga: seja através de um usuário/senha do Windows ou um login exclusivo para o SQL Server. Isso se chama login independentemente do método. Uma vez logado, esta conexão é mapeada para um usuário de banco de dados, que é específico para cada banco. É isso aí pessoal. Na próxima coluna vamos ver um pouco mais sobre os usuários de banco de dados, roles e permissões sobre objetos e comandos. Grande abraço pessoal e até a semana que vem.

Todos os artigos de Mauro Pichiliani

1 comentários publicados

  • 1. User

    Quarta-feira, 26/01/2005, por Leonardo Maciel Delgado


    No Oracle tenho schemas(usuários) que permite vc visualisar a estrutura das tabelas com os dados diferentes que cadastrei com um schema diferente. NO SQL Server 2000 tenho a parte de Users ou security que se cria os usuários, mas minha dúvida é se cada usuário que eu crio os dados das tabelas são diferentes com outros usuários ?Bom, pelo menos eu testei aqui e não deu certo.Acho o SQL Server não tem essa estrututa que tem o Oracle. Vc poderia me ajudar nessa dúvida?

    Atenciosamente Giorgio Vasconcelos

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Mauro Pichiliani é mestre em computação, possui as certificações MCP, MCDBA, MCT e MCTS e atua como consultor de banco de dados com enfoque na área de tunning.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.