Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
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
autorisation
Spécifie une autorisation qui peut être refusée sur un serveur. Pour obtenir la liste des autorisations, reportez-vous à Remarques.
CASCADE
Indique que l'autorisation est refusée au principal spécifié et à tous les autres principaux auxquels le principal a accordé cette autorisation. Obligatoire lorsque le principal a la permission avec 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 AS clause principale pour indiquer que le mandant enregistré comme déniant l’autorisation doit être un mandant autre que la personne qui a signé la déclaration. Par exemple, supposons que l’utilisatrice Mary a principal_id 12 ans 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 le sys.database_permissions tableau indiquera que le grantor_principal_id de l’instruction de refus était 15 (Raul) alors que l’instruction a en réalité été exécutée par l’utilisateur 13 (Mary).
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 permissions à l’échelle du serveur ne peuvent être refusées que lorsque la base de données actuelle 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.
Dans Azure SQL Database, GRANT, REVOKE, et DENY des permissions au niveau serveur ne sont pas prises en charge.
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 |
|---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY AVAILABILITY GROUPS'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY EVENT SESSION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
CONTROL SERVER |
ALTER ANY SERVER ROLES'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
| CONNECTER N’IMPORTE QUEL DATABASE S'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle). |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
| CREATE AVAILABILITY GROUP S'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
MODIFIER TOUT AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE SERVER ROLES'applique à: SQL Server (SQL Server 2012 (11.x) via la version actuelle). |
ALTER ANY SERVER ROLE |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
IMPERSONATE ANY LOGINS'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle). |
CONTROL SERVER |
SELECT ALL USER SECURABLESS'applique à: SQL Server (SQL Server 2014 (12.x) via la version actuelle). |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW ANY PERFORMANCE DEFINITIONS’applique à : SQL Server 2022 (16.x) et versions ultérieures. |
VIEW ANY DEFINITION |
VIEW ANY SECURITY DEFINITIONS’applique à : SQL Server 2022 (16.x) et versions ultérieures. |
VIEW ANY DEFINITION |
VIEW SERVER PERFORMANCE STATES’applique à : SQL Server 2022 (16.x) et versions ultérieures. |
VIEW SERVER STATE |
VIEW SERVER SECURITY STATES’applique à : SQL Server 2022 (16.x) et versions ultérieures. |
VIEW SERVER STATE |
VIEW SERVER STATE |
ALTER SERVER STATE |
Les trois autorisations de serveur suivantes ont été ajoutées dans SQL Server 2014 (12.x).
CONNECT ANY DATABASEautorisation- Accorder
CONNECT ANY DATABASEà un accès qui doit se connecter à toutes les bases de données existantes et à toute nouvelle base de données qui pourrait être créée à l’avenir. N'accorde pas d'autorisation dans une base de données au-delà de la connexion. Combinez avecSELECT ALL USER SECURABLESouVIEW SERVER STATEpour permettre à un processus d’audit de visualiser toutes les données ou tous les états de la base de données sur l’instance de SQL Server.
- Accorder
IMPERSONATE ANY LOGINautorisation- 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 avec
CONTROL SERVERautorisation peut être bloquée pour l’usurpation d’identité d’autres connexions.
- 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 avec
SELECT ALL USER SECURABLESautorisation- 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. Lorsqu’il est refusé, empêche l’accès aux objets sauf s’ils se trouvent dans le
sysschéma.
- 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. Lorsqu’il est refusé, empêche l’accès aux objets sauf s’ils se trouvent dans le
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. Refuser la permission SQL de CONNECT à une connexion SQL Server et aux principes auxquels la connexion a été réaccordée
Dans l'exemple ci-dessous, l'autorisation CONNECT SQL est refusée à la connexion SQL ServerTest et aux principaux auxquels elle a accordé l'autorisation.
USE master;
DENY CONNECT SQL TO Test CASCADE;
GO
B. Refuser CREATE ENDPOINT l’autorisation d’une connexion SQL Server en utilisant l’option AS
Dans l'exemple ci-dessous, l'autorisation CREATE ENDPOINT est refusée à l'utilisateur Test1. L'exemple utilise l'option AS pour spécifier Test2 comme principal à partir duquel le principal en charge dérive l'autorité d'agir ainsi.
USE master;
DENY CREATE ENDPOINT TO Test1 AS Test2;
GO
Contenu connexe
- GRANT (Transact-SQL)
- DENY (Transact-SQL)
- DENY Autorisations du serveur (Transact-SQL)
- REVOKE Autorisations du 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)