Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
База данных SQL в предварительной версии Microsoft Fabric
Запрещает разрешения, предоставленные пользователю базы данных, роли базы данных или роли приложения в SQL Server.
Соглашения о синтаксисе Transact-SQL
Syntax
DENY permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission
Обозначает разрешение, которое можно запретить для участника базы данных. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
USER ::database_user
Указывает класс и имя пользователя, для которых запрещается разрешение. Квалификатор области (::) является обязательным.
ROLE ::database_role
Указывает класс и имя роли, для которой запрещается разрешение. Квалификатор области (::) является обязательным.
РОЛЬ ПРИЛОЖЕНИЯ ::application_role
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
Указывает класс и имя роли приложения, для которой запрещается разрешение. Квалификатор области (::) является обязательным.
CASCADE
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.
AS <database_principal>
Указывает участника, от которого участник, выполняющий данный запрос, получает право на отмену разрешения.
Database_user
Указывает пользователя базы данных.
Database_role
Указывает роль базы данных.
Application_role
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
Указывает роль приложения.
Database_user_mapped_to_Windows_User
Указывает пользователя базы данных, сопоставленного с пользователем Windows.
Database_user_mapped_to_Windows_Group
Указывает пользователя базы данных, сопоставленного с группой Windows.
Database_user_mapped_to_certificate
Указывает пользователя базы данных, сопоставленного с сертификатом.
Database_user_mapped_to_asymmetric_key
Указывает пользователя базы данных, сопоставленного с асимметричным ключом.
Database_user_with_no_login
Указывает пользователя базы данных, не сопоставленного с субъектом серверного уровня.
Remarks
Разрешения пользователя базы данных
Пользователь базы данных — это защищаемый объект уровня базы данных, содержащийся в базе данных, являющейся родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для пользователя базы данных, перечислены в следующей таблице наряду с общими разрешениями, неявно их содержащими.
Разрешение пользователя базы данных | Содержится в разрешении пользователя базы данных | Содержится в разрешении базы данных |
---|---|---|
CONTROL | CONTROL | CONTROL |
IMPERSONATE | CONTROL | CONTROL |
ALTER | CONTROL | ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Разрешения роли базы данных
Роль базы данных — это защищаемый объект уровня базы данных, содержащийся в базе данных, являющейся родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для роли базы данных, перечислены в следующей таблице наряду с общими разрешениями, неявно их содержащими.
Разрешение роли базы данных | Содержится в разрешении роли базы данных | Содержится в разрешении базы данных |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ИЗМЕНИТЬ ЛЮБУЮ РОЛЬ |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Разрешения роли приложения
Роль приложения — это защищаемый объект уровня базы данных, содержащийся в базе данных, являющейся родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для роли приложения, перечислены в следующей таблице наряду с общими разрешениями, неявно их содержащими.
Разрешение роли приложения | Содержится в разрешении роли приложения | Содержится в разрешении базы данных |
---|---|---|
CONTROL | CONTROL | CONTROL |
ALTER | CONTROL | ИЗМЕНИТЬ ЛЮБУЮ РОЛЬ ПРИЛОЖЕНИЯ |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Permissions
Требуется разрешение CONTROL для указанного участника или разрешение, неявно включающее в себя разрешение CONTROL.
Объекты, получившие разрешение CONTROL для базы данных, такие как члены предопределенной роли базы данных db_owner, могут запрещать любое разрешение для любого защищаемого объекта базы данных.
Examples
A. Запрет разрешения CONTROL на одного пользователя другому
В следующем примере запрещено CONTROL
разрешение для пользователя Wanida
AdventureWorks2022.RolandX
USE AdventureWorks2022;
DENY CONTROL ON USER::Wanida TO RolandX;
GO
B. Запрет разрешения VIEW DEFINITION на роль пользователю, которому оно было предоставлено параметром GRANT OPTION
В следующем примере запрещено VIEW DEFINITION
разрешение на роль SammamishParking
AdventureWorks2022 пользователю JinghaoLiu
базы данных. Используется параметр CASCADE
, поскольку пользователю JinghaoLiu
было предоставлено разрешение VIEW DEFINITION параметром WITH GRANT OPTION.
USE AdventureWorks2022;
DENY VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu CASCADE;
GO
C. Запрет разрешения IMPERSONATE на пользователя роли приложения
В следующем примере запрещено IMPERSONATE
разрешение пользователя HamithaL
на роль AccountsPayable17
приложения AdventureWorks2022.
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
See Also
Grant Database Principal Permissions (Transact-SQL)
ОТМЕНА разрешений субъекта базы данных (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ (Transact-SQL)
СОЗДАТЬ РОЛЬ ПРИЛОЖЕНИЯ (Transact-SQL)
СОЗДАТЬ РОЛЬ (Transact-SQL)
GRANT (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)