GRANT – octroi d'autorisations de principal de serveur (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Accorde les autorisations sur une connexion SQL Server.
Conventions de la syntaxe Transact-SQL
Syntaxe
GRANT permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ 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 accordé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 accordée. Le qualificateur d’étendue ( :: ) est obligatoire.
SERVER ROLE :: server_role
Spécifie le rôle de serveur défini par l'utilisateur sur lequel l'autorisation est accordée. Le qualificateur d’étendue ( :: ) est obligatoire.
TO <server_principal> Spécifie le rôle serveur ou la connexion SQL Server auquel accorder l’autorisation.
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.
server_role
Spécifie le nom d'un rôle de serveur défini par l'utilisateur.
WITH GRANT OPTION
Indique que le principal a également la possibilité d'accorder l'autorisation spécifiée à d'autres principaux.
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 d'accorder l'autorisation.
Notes
Les autorisations dans l'étendue du serveur peuvent être accordées seulement lorsque la base de données en cours est master.
Les informations sur les autorisations de serveur sont consultables dans la vue de catalogue sys.server_permissions. Les informations sur les principaux de serveur sont consultables dans la vue de catalogue sys.server_principals.
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 d'accorder sur un rôle de serveur ou un compte de connexion SQL Server sont listé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
R. Octroi d'une autorisation IMPERSONATE sur une connexion
L’exemple ci-dessous accorde l’autorisation IMPERSONATE
sur la connexion SQL Server WanidaBenshoof
à une connexion SQL Server créée à partir de l’utilisateur Windows AdvWorks\YoonM
.
USE master;
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];
GO
B. Octroi d'une autorisation VIEW DEFINITION avec l'option GRANT OPTION
L’exemple ci-dessous accorde VIEW DEFINITION
sur la connexion SQL Server EricKurjan
à la connexion SQL Server RMeyyappan
avec GRANT OPTION
.
USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
WITH GRANT OPTION;
GO
C. Octroi d'une autorisation VIEW DEFINITION sur un rôle de serveur
L'exemple suivant accorde VIEW DEFINITION
sur le rôle de serveur Sales
au rôle de serveur Auditors
.
USE master;
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
Voir aussi
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Principaux (moteur de base de données)
Autorisations (moteur de base de données)
Fonctions de sécurité (Transact-SQL)
Procédures stockées liées à la sécurité (Transact-SQL)