DENY – refus d'autorisations de serveur (Transact-SQL)
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 refusée l'est aussi pour d'autres principaux auxquels elle a été accordée par ce principal.TO <principal_de_serveur>
Spécifie le principal pour lequel l'autorisation doit être refusée.AS <principal_de_fournisseur_d'autorisation>
Spécifie le principal à partir duquel le principal qui exécute cette requête dérive son droit de refuser l'autorisation.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 l'affichage catalogue sys.server_permissions, tandis que les informations sur les principaux de serveur peuvent être consultées dans l'affichage catalogue sys.server_principals. Des informations sur l'appartenance des rôles de serveur peuvent être consultées dans l'affichage 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 |
---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY AVAILABILITY GROUP |
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 ROLE |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
CREATE ANY AVAILABILITY GROUP |
ALTER ANY AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW SERVER STATE |
ALTER SERVER STATE |
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
A.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 Server Annika 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
Référence
DENY – refus d'autorisations de serveur (Transact-SQL)
REVOKE – révocation d'autorisations de serveur (Transact-SQL)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)