Субъекты (компонент ядро СУБД)

Относится к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsСистема платформы аналитики (PDW)База данных SQL в Microsoft Fabric

Субъекты — это сущности , которые могут запрашивать ресурсы SQL Server. Как и другие компоненты модели авторизации SQL Server, субъекты могут быть организованы в иерархии. Область влияния субъекта зависит от его области определения (Windows, сервер, база данных) и того, неделимый это субъект или коллективный. Учётная запись Windows является примером неделимого субъекта безопасности, а группа Windows — примером субъекта безопасности, представляющего собой коллекцию. Каждый принципал имеет идентификатор безопасности (SID). Эта тема относится ко всем версиям SQL Server, но для субъектов уровня сервера в SQL Database или Azure Synapse Analytics действуют некоторые ограничения.

Note

Microsoft Entra ID ранее назывался Azure Active Directory (Azure AD).

Субъекты уровня SQL Server:

  • Имя входа для проверки подлинности SQL Server
  • имя входа для проверки подлинности Windows для пользователя Windows;
  • имя входа для аутентификации Windows для группы Windows
  • Имя входа для проверки подлинности Microsoft Entra пользователя Microsoft Entra
  • Вход с аутентификацией Microsoft Entra для группы Microsoft Entra
  • Имя входа проверки подлинности Microsoft Entra для субъекта-службы Microsoft Entra
  • Роль сервера

Главные объекты уровня базы данных

  • Пользователь базы данных (Дополнительные сведения о типах пользователей базы данных см. в разделе CREATE USER (Transact-SQL).)
  • Роль базы данных
  • Роль приложения

sa Логин

Имя входа SQL Server sa — это субъект уровня сервера. По умолчанию он создается при установке экземпляра. Начиная с SQL Server 2005 (9.x), база данных sa по умолчанию — master. Это изменение поведения с более ранних версий SQL Server. Учетная запись sa является членом фиксированной роли уровня сервера sysadmin. Логин sa имеет все разрешения на сервере и его нельзя ограничить. Логин sa нельзя удалить, но его можно отключить, чтобы никто не смог его использовать.

dbo Пользователь и dbo Схема

Пользователь dbo — это особый субъект-пользователя, содержащийся в любой базе данных. Все администраторы SQL Server, члены фиксированной серверной роли sysadmin, пользователи с именем входа sa и владельцы базы данных входят в базы данных как пользователь dbo. Пользователь dbo имеет все разрешения в базе данных и не может быть ограничен или удален. dbo обозначает владельца базы данных, но dbo учетная запись пользователя не совпадает с db_owner фиксированной ролью базы данных, а db_owner предопределенная роль базы данных не совпадает с учетной записью пользователя, записанной как владелец базы данных. Пользователь dbo является владельцем схемы dbo. Если не указана другая схема, то схема dbo является схемой по умолчанию для всех пользователей. Невозможно dbo удалить схему.

public Роль сервера и роль базы данных

Каждая учетная запись для входа входит в предопределённую фиксированную серверную роль public, а каждый пользователь базы данных входит в фиксированную роль базы данных public. Если для учетной записи или пользователя не предоставлено или не отказано в определенных разрешениях для защищаемого объекта, эта учетная запись или пользователь наследуют разрешения, предоставленные public для данного защищаемого объекта. Роль public предопределенного сервера и роль public предопределенной базы данных нельзя удалить. Однако можно отменить разрешения для ролей public. Существует множество разрешений, назначенных ролям public по умолчанию. Большая часть этих разрешений необходимы для выполнения повседневных операций в базе данных (операции, которые должен выполнять каждый). Будьте осторожны при отмене разрешений от public имени входа или пользователя, так как это повлияет на все имена входа или пользователей. Как правило, вы не должны отклонять разрешения public, так как запрет переопределяет любые разрешения предоставления, которые вы можете предоставить отдельным лицам.

INFORMATION_SCHEMA пользователи и схемы sys

Каждая база данных включает в себя две сущности, которые отображены в качестве пользователей в представлениях каталога: INFORMATION_SCHEMA и sys. Эти объекты необходимы для внутреннего использования компонентом ядро СУБД. Их нельзя изменить или удалить.

Учетные записи входа SQL Server на основе сертификатов

Субъекты уровня сервера, имеющие имена, заключенные в хэш-символы (##), — только для внутреннего системного пользования. Следующие субъекты создаются из сертификатов при установке SQL Server и не должны удаляться.

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

Эти основные учетные записи не имеют паролей, которые могут быть изменены администраторами, так как они основаны на сертификатах, выданных корпорации Майкрософт.

guest Пользователь

Каждая база данных содержит guest. Разрешения, предоставленные guest пользователю, наследуются пользователями, имеющими доступ к базе данных, но у которых нет учетной записи пользователя в базе данных. Пользователь guest не может быть удален, но его можно отключить, отменив разрешение CONNECT . Разрешение CONNECT может быть отозвано выполнением REVOKE CONNECT FROM GUEST; в любой базе данных, кроме master или tempdb.

Limitations

  • В базе данных SQL в Microsoft Fabric поддерживаются только пользователи и роли уровня базы данных. Имена входа на уровне сервера, роли и учетная запись 'sa' недоступны. В базе данных SQL в Microsoft Fabric идентификатор Microsoft Entra для пользователей базы данных является единственным поддерживаемым методом проверки подлинности. Дополнительные сведения см. в разделе "Авторизация в базе данных SQL" в Microsoft Fabric.

Сведения о проектировании системы разрешений см. в статье Начало работы с разрешениями ядра СУБД.

Следующие статьи включены в этот раздел электронной документации по SQL Server: