DENY – refus d'autorisations d'entité de sécurité de serveur (Transact-SQL)
Permet de refuser des autorisations accordées sur une connexion SQL Server.
Conventions de la syntaxe de Transact-SQL
Syntaxe
DENY permission [ ,...n ] }
ON LOGIN :: SQL_Server_login
TO <server_principal> [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
Arguments
- permission
Spécifie une autorisation qui peut être refusée sur une connexion SQL Server. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.
- LOGIN :: SQL_Server_login
Spécifie la connexion SQL Server sur laquelle l'autorisation doit être refusée. L'identificateur d'étendue (::) est requis.
- TO SQL_Server_login
Spécifie la connexion SQL Server pour laquelle l'autorisation doit être refusée.
- SQL_Server_login
Spécifie le nom d'une connexion SQL Server.
- SQL_Server_login_from_Windows_login
Spécifie le nom d'une connexion SQL Server créée à partir d'une connexion Windows.
- SQL_Server_login_from_certificate
Spécifie le nom d'une connexion SQL Server mappée sur un certificat.
- SQL_Server_login_from_AsymKey
Spécifie le nom d'une connexion SQL Server mappée sur une clé asymétrique.
- CASCADE
Indique que l'autorisation à refuser est également refusée pour les autres entités de sécurité auxquelles elle a été accordée par cette entité de sécurité.
- AS SQL_Server_login
Spécifie la connexion SQL Server à partir de laquelle l'entité de sécurité qui exécute cette requête dérive son droit de refuser l'autorisation.
Notes
Les autorisations dans l'étendue du serveur peuvent être refusées seulement lorsque la base de données en cours est master.
Des informations sur les autorisations de serveur sont consultables dans l'affichage catalogue sys.server_permissions. Des informations sur les entités de sécurité de serveur sont consultables dans l'affichage catalogue sys.server_principals.
L'instruction DENY échoue si l'option CASCADE n'est pas spécifiée lors du refus d'une autorisation pour une entité de sécurité à laquelle cette autorisation a été accordée avec l'option GRANT OPTION.
Une connexion SQL Server est un sécurisable au niveau serveur. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur une connexion SQL Server sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.
Autorisation de connexion SQL Server | Déduite d'une autorisation de connexion SQL Server | Déduite d'une autorisation de serveur |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Autorisations
Requiert l'autorisation CONTROL sur la connexion ou l'autorisation ALTER ANY LOGIN sur le serveur.
Exemples
A. Refus d'une autorisation IMPERSONATE sur une connexion
Dans l'exemple ci-dessous, l'autorisation IMPERSONATE
sur la connexion SQL Server WanidaBenshoof
est refusée à une connexion SQL Server créée à partir de l'utilisateur Windows AdvWorks\YoonM
.
USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO
B. Refus d'une autorisation VIEW DEFINITION avec l'option CASCADE
Dans l'exemple ci-dessous, l'autorisation VIEW DEFINITION
sur la connexion SQL Server EricKurjan
est refusée à la connexion SQL Server RMeyyappan
. L'option CASCADE
indique que l'autorisation VIEW DEFINITION
sur EricKurjan
sera également refusée aux entités de sécurité auxquelles RMeyyappan
a accordé cette autorisation.
USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
CASCADE;
GO
Voir aussi
Référence
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT – octroi d'autorisations d'entité de sécurité de serveur (Transact-SQL)
REVOKE – révocation d'autorisations d'entité de sécurité de serveur (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Autres ressources
Entités de sécurité
Permissions