Entidades (Mecanismo de Banco de Dados)

Aplica-se a: simSQL Server (todas as versões compatíveis) SimBanco de Dados SQL do Azure SimInstância Gerenciada do Azure SQL simAzure Synapse Analytics simParallel Data Warehouse

Entidades 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 de segurança depende do escopo da definição da entidade de segurança: Windows, servidor, banco de dados e se a entidade de segurança é 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á algumas restrições para entidades de segurança no nível do servidor no Banco de Dados SQL ou no Azure Synapse Analytics.

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 Azure Active Directory para um usuário do AD
  • Logon de autenticação do Azure Active Directory para um grupo do AD
  • Função do servidor

Entidades no nível do banco de dados

  • Usuário de banco de dados (existem 12 tipos de usuários. Para obter mais informações, consulte 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 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 :

Consulte 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