A segurança no SQL Server é essencial para proteger dados e garantir que apenas usuários autorizados tenham acesso e possam realizar operações em um banco de dados. Essa segurança é estruturada em camadas, incluindo logins, usuários, roles e schemas.
- LOGINS: Utilizamos para conectar a uma instância SQL, podemos fazer a partir do Windows Authentication(autenticação com a própia conta de acesso do Windows) ou com uma conta do prórpio SQLSERVER criada nesse momento, uma "sa". Nesse momento podemos selecionar Server Roles para esse login, que vai de sysadmin que dá permissão máxima dentro de uma instância até public que é a mais básica.
- USER: Podemos já criar users a partir dos logins, e selecionar quais Bancos de Dados esse user terá acesso e quais Database roles esse user terá(que pode ser de db_owner que é o que tem direito a tudo no Banco até public que é o mais simples).
- ROLES: Grupos de usuários ou como forem chamados, são grupos criados no SQL Server para administrar usuários com maior organização e segurança. Existem roles do sistema, mas podemos criar nossas próprias roles e configurar dando certas permissões no Banco de Dados ou em vários Bancos de Dados.
- SCHEMAS: São os nossos containers, são divisões lógicas que nos permitem um gerenciamento mais eficaz da segurança, não tendo que ceder a permissão uma a uma, por exemplo se temos uma área de vendas, não precisamos autorizar tabela a tabela para diferentes usuarios, é só liberarmos as tabelas de vendas para os grupos que vão necessitar.
Podemos dar essas permissões via forma gráfica ou via comandos SQL, para utilizar a forma com comandos SQL utilizamos as seguintes funções:
São segurança a nível de objetos(tables,views,sps,function):
- GRANT - Atribui privilégios de acesso do usuário a objetos do Banco de Dados.
- REVOKE - Remove os privilégios de acesso aos objetos obtidos com o comando GRANT.
- DENY(MAIS FORTE DE TODAS) - Nega permissão a um usuário ou grupo para realizar uma operação em um objeto.
Compreender a estrutura de segurança no SQL Server é fundamental para proteger dados e gerenciar acessos de maneira eficaz. A utilização adequada de logins, usuários, roles e schemas, juntamente com os comandos SQL apropriados, permite uma administração robusta e segura dos bancos de dados. Isso ajuda a garantir que apenas usuários autorizados tenham acesso às informações necessárias, mantendo a integridade e a confidencialidade dos dados.
Comentários
Postar um comentário