REVOKE – révocation d'autorisations de serveur (Transact-SQL)

Permet de supprimer des autorisations GRANT et DENY au niveau serveur.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

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 } <entité_de_sécurité_bénéficiaire>
    Spécifie l'entité de sécurité pour laquelle l'autorisation doit être révoquée.

  • AS <entité_de_sécurité_fournisseur_d'autorisation>
    Spécifie l'entité de sécurité à partir de laquelle l'entité de sécurité 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 entités de sécurité sera révoqué. L'autorisation elle-même ne sera pas révoquée.

    Important

    Si l'entité de sécurité 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 entités de sécurité auxquelles elle a été accordée ou refusée par cette entité de sécurité.

    AttentionAttention

    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 l'entité de sécurité 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 l'entité de sécurité 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 entités de sécurité 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 entités de sécurité.

Historique des modifications

Mise à jour du contenu

Ajout de l'autorisation ALTER ANY SERVER AUDIT.