none
Desabilitar o Windows Authentication no SQL Server 2008 RRS feed

  • Pergunta

  • Olá pessoal gostaria de desabilitar o windows autentication, deixando apenas o SLQ Server Authentication.

     

    Isso é possível???

     

    Att,

    Moyses Luiz

    • Movido Gustavo Maia Aguiar quarta-feira, 2 de fevereiro de 2011 04:08 (De:SQL Server - Desenvolvimento Geral)
    terça-feira, 1 de fevereiro de 2011 17:23

Respostas

  • Sim claro.

     

    Tipo, o basico de usuarios do SQL Server:

    Voce pode criar 2 tipos de logins no SQL:

    - Windows autentication mode -> o SQL CONfia no windows, então se o usuario se conectou no windows, o mesmo se conectra no sql

    - Mixed mode -> Usuario e senha do sql ou SQL Confia no windows

    OBS: A segurança do windows é mto melhor do que a do sql, pois a do sql é apenas uma simples verificação de usuario e senha.

    Pronto, neste momento, voce tem um login, porem, se este login for utilizado, o mesmo ainda não podera acessar base nenhuma!

    é preciso mapear as bases ou os objetos, para se mapear rapidamente por base, nos logins do sql (e não da base), va no usuario, no menu a esquerda va em user mapping, e marque a base que o usuario vai ter acesso, e um role de sistema abaixo. Pronto, agora seu usuasio esta apto a utilizar apenas esta base, mais nenhuma...

     

     

    Portanto, se quer restringir o acesso de usuario que utiliza windows autentication mode, é apenas não dar acesso a esta base ao mesmo.


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    • Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 2 de fevereiro de 2011 04:07
    • Marcado como Resposta Moyses L terça-feira, 8 de fevereiro de 2011 18:38
    terça-feira, 1 de fevereiro de 2011 17:58
    Moderador
  • Olá Gustavo,

    obrigado pela ajuda.  Eu resolvi fazer de uma outra forma, porém não sei se é uma boa prática de desenvolvimento.

     

    Eu fiz a seguinte consulta:

     

    SELECT 

      name 

    FROM 

      sys.server_principals 

    WHERE

      type_desc = 'WINDOWS_LOGIN'

     

    depois de obter os nomes eu mudo o campo "is_disable"

     

    ALTER LOGIN [USUARIO] DISABLE

     

    Eu testei e parece estar funcionando, vc acha q eu poderia usar essa solução???

     

    Obrigado,

    Moyses Luiz

    • Marcado como Resposta Moyses L terça-feira, 8 de fevereiro de 2011 18:38
    terça-feira, 8 de fevereiro de 2011 18:25

Todas as Respostas

  • Não é possivel (até onde sei), uma vez que aopções existentes são Windows autentication mode ou mixed mode, apenas não criar login autenticados pelo windows não serve?
    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    terça-feira, 1 de fevereiro de 2011 17:31
    Moderador
  • Não sendo possível, existe uma maneira restringer o acesso ao uma base de dados caso o usuário utilize o windows authentication??

     

    Att,

    Moyses Luiz

    terça-feira, 1 de fevereiro de 2011 17:50
  • Sim claro.

     

    Tipo, o basico de usuarios do SQL Server:

    Voce pode criar 2 tipos de logins no SQL:

    - Windows autentication mode -> o SQL CONfia no windows, então se o usuario se conectou no windows, o mesmo se conectra no sql

    - Mixed mode -> Usuario e senha do sql ou SQL Confia no windows

    OBS: A segurança do windows é mto melhor do que a do sql, pois a do sql é apenas uma simples verificação de usuario e senha.

    Pronto, neste momento, voce tem um login, porem, se este login for utilizado, o mesmo ainda não podera acessar base nenhuma!

    é preciso mapear as bases ou os objetos, para se mapear rapidamente por base, nos logins do sql (e não da base), va no usuario, no menu a esquerda va em user mapping, e marque a base que o usuario vai ter acesso, e um role de sistema abaixo. Pronto, agora seu usuasio esta apto a utilizar apenas esta base, mais nenhuma...

     

     

    Portanto, se quer restringir o acesso de usuario que utiliza windows autentication mode, é apenas não dar acesso a esta base ao mesmo.


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    • Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 2 de fevereiro de 2011 04:07
    • Marcado como Resposta Moyses L terça-feira, 8 de fevereiro de 2011 18:38
    terça-feira, 1 de fevereiro de 2011 17:58
    Moderador
  • Olá Gustavo,

    obrigado pela ajuda.  Eu resolvi fazer de uma outra forma, porém não sei se é uma boa prática de desenvolvimento.

     

    Eu fiz a seguinte consulta:

     

    SELECT 

      name 

    FROM 

      sys.server_principals 

    WHERE

      type_desc = 'WINDOWS_LOGIN'

     

    depois de obter os nomes eu mudo o campo "is_disable"

     

    ALTER LOGIN [USUARIO] DISABLE

     

    Eu testei e parece estar funcionando, vc acha q eu poderia usar essa solução???

     

    Obrigado,

    Moyses Luiz

    • Marcado como Resposta Moyses L terça-feira, 8 de fevereiro de 2011 18:38
    terça-feira, 8 de fevereiro de 2011 18:25
  • Interessante, não conhecia esta maneira, mas aparentemente funciona.....
    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    terça-feira, 8 de fevereiro de 2011 18:30
    Moderador