Como verificar as funções de usuário no SQL Server
Solução Nativa vs. Netwrix Auditor for SQL Server
Netwrix Auditor for SQL Server
- Abra o Netwrix Auditor e navegue até Relatórios -> Predefinidos -> SQL Server - Estado em Tempo -> Permissões de Conta no SQL Server.
- Especifique os seguintes filtros:
- No filtro de User account , digite o nome completo do usuário (como MILKYWAY/TomSimpson).
- No filtro de Object type, escolha Server Instance, Database.
- Clique em View para criar um relatório claro sobre as permissões efetivas do usuário.
Solução Nativa
Listando as funções do SQL Server para um usuário
- Inicie Microsoft SQL Server Management Studio (MSSMS).
- No menu File, clique em Connect Object Explorer.
- Na caixa de diálogo Connect to Server, especifique as seguintes configurações:
- Na caixa de lista Server type, selecione Database Engine.
- No campo de texto Server name digite o nome do servidor de cluster SQL.
- Na caixa de lista Authentication escolha o seu método de SQL Server Authenticationmethod e especifique as credenciais a serem utilizadas. Se não deseja digitar novamente a senha sempre que se conectar ao servidor, marque a opção Remember password.
- Clique em Connect.
- Clique em Execute (ou pressione a tecla F5 ).
- Após a conexão, clique em New Query e cole o seguinte script no campo de consulta:
select r.name as Role, m.name as Principal
from
master.sys.server_role_members rm
inner join
master.sys.server_principals r on r.principal_id = rm.role_principal_id and r.type = 'R'
inner join
master.sys.server_principals m on m.principal_id = rm.member_principal_id
where m.name = 'MILKYWAY\TomSimpson'
- Revise a lista de funções e principais no nível do servidor (nomes dos membros) nos resultados da execução da consulta:
Consultando as funções de banco de dados no SQL Server para um usuário
- Inicie Microsoft SQL Server Management Studio (MSSMS).
- No menu File, clique em Connect Object Explorer.
- Na caixa de diálogo Connect to Server , especifique as seguintes configurações:
- Na caixa de lista Server type, selecione Database Engine.
- No campo de texto Server name digite o nome do servidor de cluster SQL.
- Na caixa de lista Authentication , escolha o seu método de SQL Server Authentication e especifique as credenciais a serem usadas. Se não deseja digitar a senha novamente sempre que se conectar ao servidor, marque a opção Remember password.
- Clique em Connect.
- Clique em Execute (ou pressione a tecla F5 ).
- Após a conexão, selecione o Database de que você precisa para consultar as funções do usuário.
- Clique em Nova Consulta e cole o seguinte script no campo de consulta:
SELECT r.name role_principal_name, m.name AS member_principal_name
FROM sys.database_role_members rm
JOIN sys.database_principals r
ON rm.role_principal_id = r.principal_id
JOIN sys.database_principals m
ON rm.member_principal_id = m.principal_id
where m.name = 'MILKYWAY\TomSimpson'
- Revise a lista de funções e principais no nível do servidor (nomes dos membros) nos resultados da execução da consulta:
Descubra como verificar as funções de usuário no SQL Server sem uma única consulta.
O Microsoft SQL Server oferece funções para ajudar os administradores de banco de dados a gerenciar permissões para dados estruturados. As funções em nível de servidor, como o próprio nome indica, concedem acesso em todo o servidor, de forma semelhante a grupos no mundo Windows. Cada banco de dados SQL também pode ter suas permissões e funções únicas.
Para manter a segurança e cumprir com várias regulamentações, incluindo PCI DSS e HIPAA, você precisa saber todos os papéis de servidor e banco de dados atribuídos a cada usuário. Devido à complexidade envolvida, essa é uma tarefa difícil se tudo o que você tem são ferramentas nativas.
Para começar, as configurações a nível de servidor, como funções de servidor, permissões, credenciais de usuário e dependências, são armazenadas no banco de dados mestre. Usando a sys.server_principals visão do sistema.
- Para listar usuários e funções de servidor no SQL Server, você pode consultar visualizações do sistema como sys.server_principals.
- Para listar usuários e funções para bancos de dados no SQL Server, você pode consultar visualizações do sistema como sys.database_principals.
Embora os procedimentos armazenados possam ajudá-lo a gerenciar áreas do servidor, você terá que usar consultas para construir relatórios personalizados (por exemplo, um que combine várias tabelas por nomes de colunas específicos). Por exemplo, as informações de associação de função em nível de servidor são armazenadas na visualização do sistema server_role_members do banco de dados master. Uma vez que os IDs dos principais estão vinculados, você pode obter um resumo das funções de usuário do SQL Server com uma consulta, unindo sys.server_principals com master.sys.server_role_members baseado no número de ID. Embora os usuários possam visualizar sua associação de função de servidor e o ID principal de cada membro das funções fixas do servidor, lembre-se de que visualizar toda a associação de função de servidor requer permissões adicionais ou associação na função fixa de servidor security admin .
Para coletar informações no nível do banco de dados, você deve consultar as funções do banco de dados SQL Server individualmente em cada banco de dados, o que pode ser demorado. Além disso, as funções podem ser aninhadas: Usuários do banco de dados, funções de aplicativo e outras funções do banco de dados podem ser membros de uma função do banco de dados.
Em resumo, obter informações abrangentes sobre as atuais funções dos usuários com ferramentas nativas pode ser complicado e extremamente exaustivo. Com Netwrix Auditor, por outro lado, você pode obter informações detalhadas sobre quem detém quais funções de servidor e banco de dados em um formato legível com apenas alguns cliques. Os relatórios vinculados incluídos no produto permitem que seus especialistas peneirem rapidamente as complicações da associação de funções de usuário aninhadas em um servidor inteiro, agilizando as investigações. Você obtém todos os detalhes críticos de que precisa: uma lista de cada objeto ao qual o usuário tem acesso, com seu caminho e tipo de objeto, as permissões que foram concedidas, como foram concedidas (diretamente, através da associação de funções, etc.) e se são explícitas ou herdadas. Você pode analisar as permissões de diferentes ângulos, incluindo os níveis de conta, objeto e servidor. Todas essas informações são apresentadas e disponíveis sem o incômodo de escrever scripts, exportar informações para o Excel e peneirar manualmente.
Compartilhar em