Accorder des autorisations sur une procédure stockée
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Cet article explique comment accorder des autorisations sur une procédure stockée dans SQL Server en utilisant SQL Server Management Studio ou Transact-SQL. Les autorisations peuvent être accordées à un utilisateur existant, à un rôle de base de données ou à un rôle d'application dans la base de données.
Limitations et restrictions
- Vous ne pouvez pas utiliser SQL Server Management Studio pour accorder des autorisations sur les procédures ou les fonctions système. Utilisez plutôt les autorisations d’objet GRANT (Transact-SQL).
Autorisations
Le fournisseur d’autorisations (ou le principal spécifié avec l’option AS
) doit disposer soit de l’autorisation elle-même avec GRANT OPTION
, soit d’une autorisation plus élevée qui implique l’autorisation en cours d’octroi. Exige l’autorisation ALTER
sur le schéma auquel la procédure appartient, ou l’autorisation CONTROL
sur la procédure. Pour plus d’informations, consultez Autorisations d’objet GRANT.
Utiliser SQL Server Management Studio
Pour accorder des autorisations sur une procédure stockée
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données et développez-la.
Développez Bases de données, développez la base de données à laquelle appartient la procédure, puis développez Programmabilité.
Développez Procédures stockées, cliquez avec le bouton droit sur la procédure sur laquelle vous voulez accorder des autorisations, puis sélectionnez Propriétés.
Dans Propriétés de la procédure stockée, sélectionnez la page Autorisations .
Pour accorder des autorisations à un utilisateur, à un rôle de base de données ou à un rôle d’application, sélectionnez Rechercher.
Dans Sélectionner des utilisateurs ou des rôles, sélectionnez Types d’objets pour ajouter ou désactiver les utilisateurs et les rôles de votre choix.
Sélectionnez Parcourir pour afficher la liste des utilisateurs ou des rôles. Sélectionnez les utilisateurs ou les rôles auxquels les autorisations doivent être accordées.
Dans la grille Autorisations explicites , sélectionnez les autorisations à accorder à l'utilisateur ou au rôle spécifiés. Pour obtenir une description des autorisations, consultez Autorisations (moteur de base de données).
Sélectionner Accorder indique que le bénéficiaire recevra l'autorisation spécifiée. Sélectionner Accorder avec indique que le bénéficiaire de l'autorisation a également la possibilité d'accorder l'autorisation spécifiée à d'autres principaux.
Utiliser Transact-SQL
Pour accorder des autorisations sur une procédure stockée
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Dans cet exemple, l'autorisation
EXECUTE
sur la procédure stockéeHumanResources.uspUpdateEmployeeHireInfo
est accordée à un rôle d'application nomméRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
Pour accorder des autorisations sur toutes les procédures stockées d’un schéma
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple accorde l’autorisation
EXECUTE
à toutes les procédures stockées qui existent ou vont exister dans le schémaHumanResources
à un rôle d’application nomméRecruiting11
.
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO