none
Criar usuário RRS feed

  • Pergunta

  • Bom dia,


    Gostaria de saber como criar um usuário no sql server 2005, eu vi que na haba security-logins com o botão direito eu crio o usuário defino a roles e etc ... porém gostaria de saber como amarrar o usuário a um host ou seja apenas com o ip X de origem e com o usuário que eu criar é possivel conectar no banco, e qual das roles definidas nessa haba cria apenas permissão de select. Muito obrigado
    quarta-feira, 28 de janeiro de 2009 11:02

Respostas

  • Olá Pdedrovlf,

    bem no SQL Server vc não irá encontrar de forma fácil uma opção que lhe forneça a flexibilidade de configurar com que o servidor aceite só conexões a partir de com origens "conhecidas e permitidas", existe uma alternativa que são triggers DDLs, esse recurso de triggers DDL é novo no SQL 2005, com esse recurso é possível que vc defina que seja realizada uma rotina cada vez que um login tiver uma requisição de conexão no SQL Server, com isso vc pode validar se a conexão daquele login está sendo originada no host permitido, caso a conexão do referifo login não seja do host permitido vc pode realizar um rollback na conexão.

     

    O tipo de trigger que vc tem que usar é Login trigger, pois, é ela que irá disparar alguma instrução que queira validar no momento do logon.

    Para mais informações veja o exemplo no link abaixo:

    http://msdn.microsoft.com/en-us/library/bb326598.aspx

     

    No exemplo da Microsof vc terá que modificar um pouco a lógica pra refletir que vc validará um host.

     

    Com relação a pergunta sobre como configurar a permissão para um usuário para que ele apenas tenha acesso de leitura nas tabelas de um banco, vc deve proceder com o seguinte script:

     

    1 - Criação de um login

    Code Snippet

    USE MASTER

    GO

    CREATE LOGIN [NOME] WITH PASSWORD=[SENHA]

     

     

    2 - Criação de u usuário que será acessociado ao login criado:

    Code Snippet

    USE [NOME_DATABASE]

    GO

    CREATE USER [NOME_USUARIO] FOR LOGIN [NOME_DO_LOGIN]

     

     

    3 - Configuração de permissão de leitura para o usuario

    Permissão de leituta para todas as tabelas e viewa do banco.

    Code Snippet

    USE [NOME_DATABASE]

    GO

    SP_ADDROLEMEMBER DB_DATAREADER,[NOME_USUARIO]

    OU

    Configurando a permissão de leitura indivualmente para cada tabela.

    Code Snippet

    USE [NOME_DATABASE]

    GO

    GRANT SELECT ON [NOME_TABELA] TO [NOME_USUARIO]

     

     

    Irei colocar um exemplo no meu blog sobre a questão do login originado de hosts autorizados.

    quarta-feira, 28 de janeiro de 2009 23:29

Todas as Respostas

  • Olá Pdedrovlf,

    bem no SQL Server vc não irá encontrar de forma fácil uma opção que lhe forneça a flexibilidade de configurar com que o servidor aceite só conexões a partir de com origens "conhecidas e permitidas", existe uma alternativa que são triggers DDLs, esse recurso de triggers DDL é novo no SQL 2005, com esse recurso é possível que vc defina que seja realizada uma rotina cada vez que um login tiver uma requisição de conexão no SQL Server, com isso vc pode validar se a conexão daquele login está sendo originada no host permitido, caso a conexão do referifo login não seja do host permitido vc pode realizar um rollback na conexão.

     

    O tipo de trigger que vc tem que usar é Login trigger, pois, é ela que irá disparar alguma instrução que queira validar no momento do logon.

    Para mais informações veja o exemplo no link abaixo:

    http://msdn.microsoft.com/en-us/library/bb326598.aspx

     

    No exemplo da Microsof vc terá que modificar um pouco a lógica pra refletir que vc validará um host.

     

    Com relação a pergunta sobre como configurar a permissão para um usuário para que ele apenas tenha acesso de leitura nas tabelas de um banco, vc deve proceder com o seguinte script:

     

    1 - Criação de um login

    Code Snippet

    USE MASTER

    GO

    CREATE LOGIN [NOME] WITH PASSWORD=[SENHA]

     

     

    2 - Criação de u usuário que será acessociado ao login criado:

    Code Snippet

    USE [NOME_DATABASE]

    GO

    CREATE USER [NOME_USUARIO] FOR LOGIN [NOME_DO_LOGIN]

     

     

    3 - Configuração de permissão de leitura para o usuario

    Permissão de leituta para todas as tabelas e viewa do banco.

    Code Snippet

    USE [NOME_DATABASE]

    GO

    SP_ADDROLEMEMBER DB_DATAREADER,[NOME_USUARIO]

    OU

    Configurando a permissão de leitura indivualmente para cada tabela.

    Code Snippet

    USE [NOME_DATABASE]

    GO

    GRANT SELECT ON [NOME_TABELA] TO [NOME_USUARIO]

     

     

    Irei colocar um exemplo no meu blog sobre a questão do login originado de hosts autorizados.

    quarta-feira, 28 de janeiro de 2009 23:29