GRANT – octroi d'autorisations de serveur (Transact-SQL)
Permet d'accorder des autorisations sur un serveur.
Conventions de la syntaxe de Transact-SQL
Syntaxe
GRANT permission [ ,...n ]
TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ 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 <entité_de_sécurité_bénéficiaire>
Spécifie l'entité de sécurité à laquelle l'autorisation doit être accordé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 d'accorder l'autorisation.
- WITH GRANT OPTION
Indique que l'entité de sécurité sera également en mesure d'accorder l'autorisation spécifiée à d'autres entités de sécurité.
- 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 accordées seulement lorsque la base de données en cours est master.
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 d'accorder 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 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
Le fournisseur d'autorisations (ou l'entité de sécurité spécifiée avec l'option AS) doit posséder l'autorisation elle-même avec l'option GRANT OPTION ou une autorisation plus élevée qui implique l'autorisation à accorder. Les membres du rôle de serveur fixe sysadmin peuvent accorder toutes les autorisations.
Exemples
A. Octroi d'une autorisation à une connexion
Dans l'exemple ci-dessous, l'autorisation CONTROL SERVER
est accordée à la connexion SQL Server TerryEminhizer
.
USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO
B. Octroi d'une autorisation qui possède l'autorisation GRANT
Dans l'exemple suivant, l'autorisation ALTER ANY EVENT NOTIFICATION
est accordée à la connexion SQL Server JanethEsteves
avec le droit d'accorder cette autorisation à une autre connexion.
USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO
Voir aussi
Référence
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY – refus d'autorisations de serveur (Transact-SQL)
REVOKE – révocation d'autorisations de serveur (Transact-SQL)
Autres ressources
Hiérarchie des autorisations
Entités de sécurité
Permissions