REVOKE – révocation d'autorisations de serveur (Transact-SQL)
Permet de supprimer des autorisations GRANT et DENY au niveau serveur.
Syntaxe
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
{ TO | FROM } <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
<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
Arguments
permission
Spécifie une autorisation qui peut être accordée sur un serveur. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.{ TO | FROM } <principal_bénéficiaire>
Spécifie le principal pour lequel l'autorisation doit être révoqué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 révoquer l'autorisation.GRANT OPTION FOR
Indique que le droit d'accorder l'autorisation spécifiée à d'autres principaux sera révoqué. L'autorisation elle-même ne sera pas révoquée.Important
Si le principal possède l'autorisation spécifiée sans l'option GRANT, l'autorisation elle-même sera révoquée.
CASCADE
Indique que l'autorisation à révoquer est également révoquée pour les autres principaux auxquels elle a été accordée ou refusée par ce principal.Attention Une révocation en cascade d'une autorisation accordée avec l'option WITH GRANT OPTION entraîne la révocation des deux options GRANT et DENY de cette 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 une connexion SQL Server mappée sur un certificat.SQL_Server_login_mapped_to_asymmetric_key
Spécifie une connexion SQL Server mappée sur une clé asymétrique.
Notes
Les autorisations dans l'étendue du serveur peuvent être révoquées seulement lorsque la base de données en cours est master.
REVOKE permet de supprimer les deux autorisations GRANT et DENY.
Utilisez REVOKE GRANT OPTION FOR pour révoquer le droit d'accorder à son tour l'autorisation spécifiée. Si le principal possède l'autorisation avec le droit de l'accorder, le droit d'accorder l'autorisation est révoqué, mais l'autorisation elle-même n'est pas révoquée. En revanche, si le principal possède l'autorisation spécifiée sans l'option GRANT, l'autorisation elle-même est révoquée.
Des informations sur les autorisations de serveur sont consultables dans l'affichage catalogue sys.server_permissions et des informations sur les principaux de serveur sont consultables dans l'affichage catalogue sys.server_principals. Des informations sur l'appartenance des rôles de serveur sont consultables 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 révoquer 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 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 LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
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 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 l'appartenance au rôle serveur fixe sysadmin.
Exemples
A. Révocation d'une autorisation pour une connexion
Dans l'exemple ci-dessous, l'autorisation VIEW SERVER STATE est révoquée pour la connexion SQL ServerWanidaBenshoof.
USE master;
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;
GO
B. Révocation de l'option WITH GRANT
Dans l'exemple ci-dessous, le droit d'accorder l'autorisation CONNECT SQL est révoqué pour la connexion SQL ServerJanethEsteves.
USE master;
REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;
GO
La connexion possède encore l'autorisation CONNECT SQL, mais ne peut plus accorder cette autorisation à d'autres principaux.
Voir aussi