Published on

August 21, 2015

Protegendo Dados no SQL Server

Quando se trata de gerenciar um banco de dados SQL Server, uma das preocupações comuns é como proteger os dados contra acesso não autorizado, especialmente do administrador do banco de dados (DBA). No SQL Server 2014, a Microsoft introduziu três novas permissões de nível de servidor que fornecem mais flexibilidade no gerenciamento de funções do servidor e abordam essa preocupação.

As três novas permissões de nível de servidor no SQL Server 2014 são:

  • CONNECT ANY DATABASE
  • IMPERSONATE ANY LOGIN
  • SELECT ALL – USER SECURABLES

Essas permissões permitem que os administradores de banco de dados criem funções do servidor com restrições específicas de acesso aos dados do usuário. Por exemplo, agora é possível criar uma função do servidor de administrador com restrição total de acesso aos dados do usuário.

Vamos dar uma olhada em um exemplo de como criar uma função do servidor desse tipo:

CREATE SERVER ROLE NewServerRole AUTHORIZATION sysadmin;
GO

Neste exemplo, criamos uma nova função do servidor chamada “NewServerRole” e a atribuímos à função de servidor fixa “sysadmin” (membros da função de servidor fixa sysadmin podem realizar qualquer atividade no servidor).

Em seguida, criamos um novo login e o incluímos em nossa função do servidor:

CREATE LOGIN NewLogin WITH PASSWORD = 'Qwerty1';
GO
ALTER SERVER ROLE NewServerRole ADD MEMBER NewLogin;
GO

Agora, concedemos direitos de CONTROLE DE SERVIDOR à nossa função do servidor:

GRANT CONTROL SERVER TO NewServerRole;
GO

Com essas permissões em vigor, a função do servidor “NewServerRole” tem todos os direitos no servidor. No entanto, podemos restringir ainda mais o acesso aos dados do usuário negando a permissão SELECT em todos os objetos de segurança do usuário:

DENY SELECT ALL USER SECURABLES TO NewServerRole;
GO

Ao negar a permissão SELECT em todos os objetos de segurança do usuário, garantimos que a função do servidor “NewServerRole” não possa acessar nenhum dado do usuário.

É importante observar que essas novas permissões fornecem vários cenários para o gerenciamento de funções do servidor, como:

  • DBA sem acesso aos dados do usuário
  • DBA sem direito de alterar logins
  • DBA sem direito de conceder permissão de impersonate para outros logins
  • Função com a oportunidade de ler todos os dados do usuário sem direitos de administrador
  • Função com a oportunidade de visualizar metadados diferentes sem acesso aos dados do usuário
  • Função com a oportunidade de se fazer passar por qualquer login, exceto aqueles com privilégios administrativos

Essas novas permissões de nível de servidor no SQL Server 2014 fornecem mais controle e flexibilidade no gerenciamento de funções do servidor e na proteção de dados contra acesso não autorizado. Ao atribuir cuidadosamente permissões e restrições, os administradores de banco de dados podem garantir a segurança e integridade de seus bancos de dados SQL Server.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.