Entidades (Mecanismo de Banco de Dados)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Entidades de segurança são entidades que podem solicitar recursos do SQL Server. Como outros componentes do modelo de autorização do SQL Server, as entidades podem ser organizadas em uma hierarquia. O escopo de influência de uma entidade depende do escopo de sua definição: Windows, servidor, banco de dados e, se a entidade é indivisível ou uma coleção. Um logon do Windows é um exemplo de um principal indivisível, enquanto um Grupo do Windows é um exemplo de um principal que é uma coleção. Todas as entidades têm um SID (identificador de segurança). Este tópico aplica-se a todas as versões do SQL Server, mas há restrições para entidades de segurança no nível do servidor no banco de dados SQL ou no Azure Synapse Analytics.

Observação

O Microsoft Entra ID era conhecido como Azure Active Directory (Azure AD).

Entidades de segurança no nível do SQL Server

  • Logon de autenticação do SQL Server
  • Logon de autenticação do Windows para um usuário do Windows
  • Logon de autenticação do Windows para um grupo do Windows
  • Logon de autenticação do Microsoft Entra para um usuário do Microsoft Entra
  • Logon de autenticação do Microsoft Entra para um grupo do Microsoft Entra
  • Função de servidor

Entidades no nível do banco de dados

  • Usuário do banco de dados (Há 12 tipos de usuários. Para obter mais informações, veja CREATE USER.)
  • Função de banco de dados
  • Função de aplicativo

Logon sa

O logon sa do SQL Server é uma entidade de segurança no nível do servidor. Por padrão, ele é criado quando uma instância é instalada. A partir do SQL Server 2005 (9.x), o banco de dados padrão de sa é o mestre. Essa é uma alteração de comportamento de versões anteriores do SQL Server. O logon sa é membro da função de nível do servidor fixa sysadmin. O logon sa tem todas as permissões no servidor e não pode ser limitado. O logon sa não pode ser descartado, mas pode ser desabilitado para que ninguém possa usá-lo.

Usuário dbo e esquema dbo

O usuário do dbo é uma entidade de usuário especial em cada banco de dados. Todos os administradores do SQL Server, os membros da função de servidor fixa sysadmin, o logon sa e os proprietários do banco de dados, entram nos bancos de dados como o usuário dbo. O usuário dbo tem todas as permissões no banco de dados e não pode ser limitado ou descartado. dbo representa o proprietário do banco de dados, mas a conta de usuário dbo não é igual à função de banco de dados fixa db_owner e a função de banco de dados fixa db_owner não é o mesmo que a conta de usuário registrada como o proprietário do banco de dados.
O usuário dbo tem o esquema dbo. O esquema dbo é o esquema padrão para todos os usuários, a menos que algum outro esquema seja especificado. O esquema dbo não pode ser descartado.

Função de servidor e a função de banco de dados pública

Cada logon pertence à função de servidor fixa public e cada usuário de banco de dados pertence à função de banco de dados public. Quando um usuário ou logon não foi concedido ou teve permissões específicas negadas em um protegível, o logon ou o usuário herda as permissões concedidas como públicas naquele protegível. A função fixa de servidor public e a função fixa de banco de dados public não podem ser descartadas. No entanto, você pode revogar as permissões das funções public. Há várias permissões que são atribuídas às funções public por padrão. A maioria dessas permissões é necessária para operações de rotina no banco de dados, ou seja, o tipo de coisas que todos devem ser capazes de fazer. Tenha cuidado ao revogar permissões de logon ou usuário público, pois isso afetará todos os logons e usuários. Geralmente você não deve negar permissões para o público, porque a instrução deny substitui todas as instruções grant que possam ser feitas para indivíduos.

INFORMATION_SCHEMA e usuários e esquemas sys

Todo banco de dados inclui duas entidades que são exibidas como usuários em exibições do catálogo: INFORMATION_SCHEMA e sys. Essas entidades são necessárias para uso interno do mecanismo de banco de dados. Elas não podem ser modificadas ou descartadas.

Logons do SQL Server com base em certificado

Entidades de servidor com nomes entre duas marcas hash (##) são somente para uso interno do sistema. As entidades de segurança a seguir são criadas com base em certificados quando o SQL Server é instalado e não devem ser excluídas.

  • ##MS_SQLResourceSigningCertificate ##
  • ##MS_SQLReplicationSigningCertificate ##
  • ##MS_SQLAuthenticatorCertificate ##
  • ##MS_AgentSigningCertificate ##
  • ##MS_PolicyEventProcessingLogin##
  • ##MS_PolicySigningCertificate##
  • ##MS_PolicyTsqlExecutionLogin##

Essas contas de entidade de segurança não têm senhas que podem ser alteradas por administradores, pois são baseadas em certificados emitidos para a Microsoft.

O Usuário convidado

Cada banco de dados inclui um guest. As permissões concedidas ao usuário guest são herdadas pelos usuários que têm acesso ao banco de dados, mas que não têm uma conta de usuário no banco de dados. O usuário guest não pode ser removido, mas pode ser desabilitado pela revogação da permissão CONNECT. A permissão CONNECT pode ser revogada executando REVOKE CONNECT FROM GUEST; em qualquer banco de dados diferente de master ou tempdb.

Para obter informações sobre como criar um sistema de permissões, veja Introdução às permissões do mecanismo de banco de dados.

Os tópicos a seguir são incluídos nesta seção dos Manuais Online do SQL Server:

Confira também

Protegendo o SQL Server
sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL)
Funções de nível de servidor
Funções de nível de banco de dados