Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Permet de refuser des autorisations sur un serveur.
Conventions de la syntaxe Transact-SQL
Syntaxe
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Arguments
permission
Spécifie une autorisation qui peut être refusée sur un serveur. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.
CASCADE
Indique que l'autorisation est refusée au principal spécifié et à tous les autres principaux auxquels le principal a accordé cette autorisation. Nécessaire lorsque le principal a l'autorisation avec l'option GRANT OPTION.
À <server_principal>
Spécifie le principal pour lequel l'autorisation doit être refusée.
EN <grantor_principal>
Spécifie le principal à partir duquel le principal qui exécute cette requête dérive son droit de refuser l'autorisation.
Utilisez la clause AS principal pour indiquer que le principal enregistré comme entité refusant l’autorisation doit être un principal autre que la personne qui exécute l’instruction. Supposez par exemple que l’utilisateur Mary est le principal_id 12 et que l’utilisateur Raul est le principal 15. Mary exécute DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Maintenant la table sys.database_permissions indiquera que le grantor_principal_id de l’instruction deny était 15 (Raul), même si l’instruction a été exécutée par l’utilisateur 13 (Mary).
L’utilisation de AS dans cette instruction n’implique pas la possibilité d’emprunter l’identité d’un autre utilisateur.
SQL_Server_login
Spécifie une connexion SQL Server.
SQL_Server_login_mapped_to_Windows_login
Spécifie une connexion SQL Server mappée sur une connexion Windows.
SQL_Server_login_mapped_to_Windows_group
Spécifie une connexion SQL Server mappée sur un groupe Windows.
SQL_Server_login_mapped_to_certificate
Spécifie un compte de connexion SQL Server mappé à un certificat.
SQL_Server_login_mapped_to_asymmetric_key
Spécifie un compte de connexion SQL Server mappé à une clé asymétrique.
server_role
Spécifie un rôle de serveur.
Notes
Les autorisations dans l'étendue du serveur peuvent être refusées seulement lorsque la base de données en cours est master.
Les informations sur les autorisations de serveur peuvent être consultées dans la vue de catalogue sys.server_permissions, tandis que les informations sur les principaux de serveur peuvent être consultées dans la vue de catalogue sys.server_principals. Des informations sur l’appartenance des rôles de serveur peuvent être consultées dans la vue de catalogue sys.server_role_members.
Un serveur représente le plus haut niveau de la hiérarchie des autorisations. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur un serveur sont répertoriées dans le tableau ci-dessous.
| Autorisation de serveur | Déduite d'une autorisation de serveur |
|---|---|
| ADMINISTRER DES OPÉRATIONS GROUPÉES | SERVEUR DE CONTRÔLE |
| MODIFIER N'IMPORTE QUEL GROUPE DE DISPONIBILITÉ S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
SERVEUR DE CONTRÔLE |
| MODIFIER TOUTE CONNEXION | SERVEUR DE CONTRÔLE |
| MODIFIER LES INFORMATIONS D’IDENTIFICATION | SERVEUR DE CONTRÔLE |
| MODIFIER TOUTE BASE DE DONNÉES | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT POINT D'ACCÈS | SERVEUR DE CONTRÔLE |
| MODIFIER TOUTE NOTIFICATION D'ÉVÉNEMENT | SERVEUR DE CONTRÔLE |
| MODIFIER TOUTE SESSION D'ÉVÉNEMENT | SERVEUR DE CONTRÔLE |
| MODIFIER N'IMPORTE QUEL SERVEUR LIÉ | SERVEUR DE CONTRÔLE |
| MODIFIER TOUTE CONNEXION | SERVEUR DE CONTRÔLE |
| Modifier tout audit de serveur | SERVEUR DE CONTRÔLE |
| MODIFIER N’IMPORTE QUEL RÔLE DE SERVEUR S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
SERVEUR DE CONTRÔLE |
| MODIFIER LES RESSOURCES | SERVEUR DE CONTRÔLE |
| MODIFIER L'ÉTAT DU SERVEUR | SERVEUR DE CONTRÔLE |
| Modifier les paramètres | SERVEUR DE CONTRÔLE |
| ALTER TRACE | SERVEUR DE CONTRÔLE |
| AUTHENTIFIER LE SERVEUR | SERVEUR DE CONTRÔLE |
| CONNEXION À N’IMPORTE QUELLE BASE DE DONNÉES S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle). |
SERVEUR DE CONTRÔLE |
| CONNECT SQL | SERVEUR DE CONTRÔLE |
| SERVEUR DE CONTRÔLE | SERVEUR DE CONTRÔLE |
| CRÉER UNE BASE DE DONNÉES | MODIFIER TOUTE BASE DE DONNÉES |
| Créer un groupe de disponibilité S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
MODIFIER N'IMPORTE QUEL GROUPE DE DISPONIBILITÉ |
| CRÉER UNE NOTIFICATION D'ÉVÉNEMENT DDL | MODIFIER TOUTE NOTIFICATION D'ÉVÉNEMENT |
| CRÉER UN POINT DE TERMINAISON | MODIFIER TOUT POINT D'ACCÈS |
| CRÉER UN RÔLE SERVEUR S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
MODIFIER N’IMPORTE QUEL RÔLE DE SERVEUR |
| CRÉER UNE NOTIFICATION D'ÉVÉNEMENT DE TRACE | MODIFIER TOUTE NOTIFICATION D'ÉVÉNEMENT |
| ASSEMBLY D’ACCÈS EXTERNE | SERVEUR DE CONTRÔLE |
| EMPRUNTER L’IDENTITÉ DE N’IMPORTE QUELLE CONNEXION S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle). |
SERVEUR DE CONTRÔLE |
| SÉLECTIONNER TOUS LES ÉLÉMENTS SÉCURISABLES DE L’UTILISATEUR S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle). |
SERVEUR DE CONTRÔLE |
| SHUTDOWN | SERVEUR DE CONTRÔLE |
| ASSEMBLAGE DANGEREUX | SERVEUR DE CONTRÔLE |
| AFFICHER UNE BASE DE DONNÉES | Voir n'importe quelle définition |
| Voir n'importe quelle définition | SERVEUR DE CONTRÔLE |
| AFFICHER L'ÉTAT DU SERVEUR | MODIFIER L'ÉTAT DU SERVEUR |
Les trois autorisations de serveur suivantes ont été ajoutées dans SQL Server 2014 (12.x).
Autorisation CONNECT ANY DATABASE
Accordez l'autorisation CONNECT ANY DATABASE à une connexion qui doit se connecter à toutes les bases de données existantes et à celles qui pourront être créées. N'accorde pas d'autorisation dans une base de données au-delà de la connexion. Associez cette autorisation à SELECT ALL USER SECURABLES ou VIEW SERVER STATE pour autoriser un processus d’audit à consulter toutes les données ou toutes les bases de données sur l’instance de SQL Server.
Autorisation IMPERSONATE ANY LOGIN
Lorsque cette autorisation est accordée, elle permet à un processus de niveau intermédiaire d'emprunter l'identité du compte des clients qui se connectent, à mesure qu'il se connecte aux bases de données. Si cette autorisation est refusée, une connexion dotée de privilèges élevés peut être bloquée à partir de l'emprunt d'identité d'autres connexions. Par exemple, une connexion dotée de l'autorisation CONTROL SERVER peut être bloquée à partir de l'emprunt d'identité d'autres connexions.
Autorisation SELECT ALL USER SECURABLES
Lorsque cette autorisation est accordée, une connexion telle qu'un auditeur peut afficher les données de toutes les bases de données auxquelles l'utilisateur se connecte. Quand cette autorisation est refusée, elle empêche l’accès aux objets sauf s’ils se trouvent dans le schéma sys.
Autorisations
Requiert l'autorisation CONTROL SERVER ou la propriété de l'élément sécurisable. Si vous utilisez la clause AS, le principal spécifié doit posséder l'élément sécurisable sur lequel les autorisations doivent être refusées.
Exemples
R. Refus d'une autorisation CONNECT SQL à une connexion SQL Server et aux principaux auxquels la connexion a accordé à son tour l'autorisation
Dans l'exemple ci-dessous, l'autorisation CONNECT SQL est refusée à la connexion SQL ServerAnnika et aux principaux auxquels elle a accordé l'autorisation.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. Refus d'une autorisation CREATE ENDPOINT à une connexion SQL Server avec l'option AS
Dans l'exemple ci-dessous, l'autorisation CREATE ENDPOINT est refusée à l'utilisateur ArifS. L'exemple utilise l'option AS pour spécifier MandarP comme principal à partir duquel le principal en charge dérive l'autorité d'agir ainsi.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
Voir aussi
SUBVENTION (Transact-SQL)
REFUSER (Transact-SQL)
DENY – refus d'autorisations de serveur (Transact-SQL)
REVOKE - Révoquer des autorisations sur un serveur (Transact-SQL)
Hiérarchie des autorisations (moteur de base de données)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)