DENY – refus d'autorisations de principal de base de données (Transact-SQL)DENY Database Principal Permissions (Transact-SQL)

S’APPLIQUE À : OuiSQL Server OuiAzure SQL Database NonAzure Synapse Analytics (SQL DW) NonParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Permet de refuser des autorisations sur un utilisateur de base de données, un rôle de base de données ou un rôle d'application dans SQL ServerSQL Server.Denies permissions granted on a database user, database role, or application role in SQL ServerSQL Server.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

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   

ArgumentsArguments

permissionpermission
Spécifie une autorisation qui peut être refusée sur le principal de base de données.Specifies a permission that can be denied on the database principal. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.For a list of the permissions, see the Remarks section later in this topic.

USER ::database_userUSER ::database_user
Spécifie la classe et le nom de l'utilisateur sur lequel l'autorisation doit être refusée.Specifies the class and name of the user on which the permission is being denied. Le qualificateur d’étendue ( :: ) est obligatoire.The scope qualifier (::) is required.

ROLE ::database_roleROLE ::database_role
Spécifie la classe et le nom du rôle sur lequel l'autorisation doit être refusée.Specifies the class and name of the role on which the permission is being denied. Le qualificateur d’étendue ( :: ) est obligatoire.The scope qualifier (::) is required.

APPLICATION ROLE ::application_roleAPPLICATION ROLE ::application_role
S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures, SQL DatabaseSQL Database.Applies to: SQL Server 2008SQL Server 2008 and later, SQL DatabaseSQL Database.

Spécifie la classe et le nom du rôle d'application sur lequel l'autorisation doit être refusée.Specifies the class and name of the application role on which the permission is being denied. Le qualificateur d’étendue ( :: ) est obligatoire.The scope qualifier (::) is required.

CASCADECASCADE
Indique que l'autorisation à refuser est également refusée pour les autres principaux auxquels elle a été accordée par ce principal.Indicates that the permission being denied is also denied to other principals to which it has been granted by this principal.

AS <database_principal>AS <database_principal>
Spécifie un principal dont le principal qui exécute cette requête dérive son droit de révoquer l'autorisation.Specifies a principal from which the principal executing this query derives its right to revoke the permission.

Database_userDatabase_user
Spécifie un utilisateur de base de données.Specifies a database user.

Database_roleDatabase_role
Spécifie un rôle de base de données.Specifies a database role.

Application_roleApplication_role
S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures, SQL DatabaseSQL Database.Applies to: SQL Server 2008SQL Server 2008 and later, SQL DatabaseSQL Database.

Spécifie un rôle d'application.Specifies an application role.

Database_user_mapped_to_Windows_UserDatabase_user_mapped_to_Windows_User
Spécifie un utilisateur de base de données mappé sur un utilisateur Windows.Specifies a database user mapped to a Windows user.

Database_user_mapped_to_Windows_GroupDatabase_user_mapped_to_Windows_Group
Spécifie un utilisateur de base de données mappé à un groupe Windows.Specifies a database user mapped to a Windows group.

Database_user_mapped_to_certificateDatabase_user_mapped_to_certificate
Spécifie un utilisateur de base de données mappé sur un certificat.Specifies a database user mapped to a certificate.

Database_user_mapped_to_asymmetric_keyDatabase_user_mapped_to_asymmetric_key
Spécifie un utilisateur de base de données mappé à une clé asymétrique.Specifies a database user mapped to an asymmetric key.

Database_user_with_no_loginDatabase_user_with_no_login
Spécifie un utilisateur de base de données sans principal au niveau serveur correspondant.Specifies a database user with no corresponding server-level principal.

NotesRemarks

Autorisations d'un utilisateur de base de donnéesDatabase User Permissions

Un utilisateur de base de données est un élément sécurisable au niveau base de données inclus dans la base de données qui est son parent dans la hiérarchie des autorisations.A database user is a database-level securable contained by the database that is its parent in the permissions hierarchy. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur un utilisateur de base de données sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.The most specific and limited permissions that can be denied on a database user are listed in the following table, together with the more general permissions that include them by implication.

Autorisation d'utilisateur de base de donnéesDatabase user permission Déduite d'une autorisation d'utilisateur de base de donnéesImplied by database user permission Impliquée par une autorisation de base de donnéesImplied by database permission
CONTROLCONTROL CONTROLCONTROL CONTROLCONTROL
IMPERSONATEIMPERSONATE CONTROLCONTROL CONTROLCONTROL
ALTERALTER CONTROLCONTROL ALTER ANY USERALTER ANY USER
VIEW DEFINITIONVIEW DEFINITION CONTROLCONTROL VIEW DEFINITIONVIEW DEFINITION

Autorisations de rôle de base de donnéesDatabase Role Permissions

Un rôle de base de données est un élément sécurisable au niveau base de données inclus dans la base de données qui est son parent dans la hiérarchie des autorisations.A database role is a database-level securable contained by the database that is its parent in the permissions hierarchy. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur un rôle de base de données sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.The most specific and limited permissions that can be denied on a database role are listed in the following table, together with the more general permissions that include them by implication.

Autorisation de rôle de base de donnéesDatabase role permission Déduite d'une autorisation de rôle de base de donnéesImplied by database role permission Impliquée par une autorisation de base de donnéesImplied by database permission
CONTROLCONTROL CONTROLCONTROL CONTROLCONTROL
TAKE OWNERSHIPTAKE OWNERSHIP CONTROLCONTROL CONTROLCONTROL
ALTERALTER CONTROLCONTROL ALTER ANY ROLEALTER ANY ROLE
VIEW DEFINITIONVIEW DEFINITION CONTROLCONTROL VIEW DEFINITIONVIEW DEFINITION

Autorisations de rôle d'applicationApplication Role Permissions

Un rôle d'application est un élément sécurisable au niveau base de données inclus dans la base de données qui est son parent dans la hiérarchie des autorisations.An application role is a database-level securable contained by the database that is its parent in the permissions hierarchy. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur un rôle d'application sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.The most specific and limited permissions that can be denied on an application role are listed in the following table, together with the more general permissions that include them by implication.

Autorisation de rôle d'applicationApplication role permission Déduite d'une autorisation de rôle d'applicationImplied by application role permission Impliquée par une autorisation de base de donnéesImplied by database permission
CONTROLCONTROL CONTROLCONTROL CONTROLCONTROL
ALTERALTER CONTROLCONTROL ALTER ANY APPLICATION ROLEALTER ANY APPLICATION ROLE
VIEW DEFINITIONVIEW DEFINITION CONTROLCONTROL VIEW DEFINITIONVIEW DEFINITION

AutorisationsPermissions

Requiert l'autorisation CONTROL sur le principal spécifié ou une autorisation plus élevée qui implique l'autorisation CONTROL.Requires CONTROL permission on the specified principal, or a higher permission that implies CONTROL permission.

Les bénéficiaires de l'autorisation CONTROL sur une base de données, tels que les membres du rôle de base de données fixe db_owner, peuvent refuser une autorisation quelconque sur tout élément sécurisable inclus dans la base de données.Grantees of CONTROL permission on a database, such as members of the db_owner fixed database role, can deny any permission on any securable in the database.

ExemplesExamples

R.A. Refus de l'autorisation CONTROL sur un utilisateur à un autre utilisateurDenying CONTROL permission on a user to another user

Dans l'exemple ci-dessous, l'autorisation CONTROL sur l'utilisateur AdventureWorks2012AdventureWorks2012Wanida est refusée à l'utilisateur RolandX.The following example denies CONTROL permission on the AdventureWorks2012AdventureWorks2012 user Wanida to user RolandX.

USE AdventureWorks2012;  
DENY CONTROL ON USER::Wanida TO RolandX;  
GO  

B.B. Refus d'une autorisation VIEW DEFINITION sur un rôle à un utilisateur auquel l'autorisation avait été accordée avec l'option GRANT OPTIONDenying VIEW DEFINITION permission on a role to a user to which it was granted with GRANT OPTION

Dans l'exemple ci-dessous, l'autorisation VIEW DEFINITION sur le rôle AdventureWorks2012AdventureWorks2012SammamishParking est refusée à l'utilisateur de base de données JinghaoLiu.The following example denies VIEW DEFINITION permission on the AdventureWorks2012AdventureWorks2012 role SammamishParking to database user JinghaoLiu. L'option CASCADE est spécifiée car l'utilisateur JinghaoLiu avait obtenu l'autorisation VIEW DEFINITION avec l'option GRANT OPTION.The CASCADE option is specified because user JinghaoLiu was granted VIEW DEFINITION permission WITH GRANT OPTION.

USE AdventureWorks2012;  
DENY VIEW DEFINITION ON ROLE::SammamishParking   
    TO JinghaoLiu CASCADE;  
GO  

C.C. Refus de l'autorisation IMPERSONATE sur un utilisateur à un rôle d'applicationDenying IMPERSONATE permission on a user to an application role

Dans l'exemple ci-dessous, l'autorisation IMPERSONATE sur l'utilisateur HamithaL est refusée au rôle d'application AdventureWorks2012AdventureWorks2012AccountsPayable17.The following example denies IMPERSONATE permission on user HamithaL to the AdventureWorks2012AdventureWorks2012 application role AccountsPayable17.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures, SQL DatabaseSQL Database.Applies to: SQL Server 2008SQL Server 2008 and later, SQL DatabaseSQL Database.

USE AdventureWorks2012;  
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;  
GO    

Voir aussiSee Also

GRANT - Octroyer des autorisations sur un principal de base de données (Transact-SQL) GRANT Database Principal Permissions (Transact-SQL)
REVOKE - Révoquer des autorisations sur un principal de base de données (Transact-SQL) REVOKE Database Principal Permissions (Transact-SQL)
sys.database_principals (Transact-SQL) sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL) sys.database_permissions (Transact-SQL)
CREATE USER (Transact-SQL) CREATE USER (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL) CREATE APPLICATION ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
GRANT (Transact-SQL) GRANT (Transact-SQL)
Autorisations (moteur de base de données) Permissions (Database Engine)
Principaux (moteur de base de données)Principals (Database Engine)