Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Система аналитической платформы (PDW)
SQL база данных в Microsoft Fabric
Субъекты — это сущности , которые могут запрашивать ресурсы SQL Server. Как и другие компоненты модели авторизации SQL Server, субъекты могут быть организованы в иерархии. Область влияния субъекта зависит от его области определения (Windows, сервер, база данных) и того, неделимый это субъект или коллективный. Имя входа Windows является примером индивидуального (неделимого) субъекта, а группа Windows — коллективного. Каждый принципал имеет идентификатор безопасности (SID). Этот раздел относится ко всем версиям SQL Server, но в База данных SQL или Azure Synapse Analytics существуют некоторые ограничения на уровне сервера.
Note
Идентификатор Microsoft Entra ранее был известен как 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: