Partager via


DENY – refus d'autorisations du principal de serveur (Transact-SQL)

Permet de refuser des autorisations accordées sur une connexion SQL Server.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

DENY permission [ ,...n ] } 
    ON 
    { [ LOGIN :: SQL_Server_login ]
      | [ SERVER ROLE :: server_role ] } 
    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 
    | server_role

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. Le qualificateur d'étendue (::) est requis.

  • SERVER ROLE :: server_role
    Spécifie le rôle de serveur sur lequel l'autorisation est refusée. Le qualificateur d'étendue (::) est requis.

  • TO <principal_de_serveur>
    Spécifie le compte de connexion SQL Server ou le rôle de serveur pour lequel l'autorisation est accordée.

  • 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'un compte de connexion SQL Server mappé à un certificat.

  • SQL_Server_login_from_AsymKey
    Spécifie le nom d'un compte de connexion SQL Server mappé à une clé asymétrique.

  • server_role
    Spécifie le nom d'un rôle de serveur.

  • CASCADE
    Indique que l'autorisation refusée l'est aussi pour d'autres principaux auxquels elle a été accordée par ce principal.

  • AS SQL_Server_login
    Spécifie la connexion SQL Server à partir de laquelle le principal 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 peuvent être consultées dans l'affichage catalogue sys.server_permissions. Des informations sur les principaux de serveur peuvent être consultées 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 un principal auquel cette autorisation a été accordée avec l'option GRANT OPTION.

Les comptes de connexion et les rôles de serveur SQL Server sont des éléments sécurisables au niveau du serveur. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur un compte de connexion SQL Server ou un rôle de serveur sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.

Compte de connexion SQL Server ou autorisation de rôle de serveur

Déduite d'une autorisation de rôle de serveur ou de compte 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

ALTER ANY SERVER ROLE

Autorisations

Pour les comptes de connexion, requiert l'autorisation CONTROL sur le compte de connexion ou l'autorisation ALTER ANY LOGIN sur le serveur.

Pour les rôles de serveur, requiert l'autorisation CONTROL sur le rôle de serveur ou l'autorisation ALTER ANY SERVER ROLE 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 principaux auxquels RMeyyappan a accordé cette autorisation.

USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan 
    CASCADE;
GO 

C.Refus d'une autorisation VIEW DEFINITION sur un rôle de serveur

L'exemple suivant refuse VIEW DEFINITION sur le rôle de serveur Sales au rôle de serveur Auditors.

USE master;
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO 

Voir aussi

Référence

sys.server_principals (Transact-SQL)

sys.server_permissions (Transact-SQL)

GRANT – octroi d'autorisations de principal de serveur (Transact-SQL)

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

CREATE LOGIN (Transact-SQL)

Fonctions de sécurité (Transact-SQL)

Procédures stockées liées à la sécurité (Transact-SQL)

Concepts

Principaux (moteur de base de données)

Autorisations (moteur de base de données)