Accorder des autorisations sur une procédure stockée

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 des procédures ou des fonctions système. Utilisez les Accords d'autorisations sur objet à la place.

Autorisations

Le fournisseur d'autorisations (ou le principal spécifié 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 accordée. Exige l'autorisation ALTER sur le schéma auquel appartient la procédure ou l'autorisation CONTROL sur la procédure. Pour plus d’informations, consultez Octroi d’autorisations d’objet (Transact-SQL).

Utiliser SQL Server Management Studio

Pour accorder des autorisations sur une procédure stockée

  1. Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données et développez-la.

  2. Développez Bases de données, développez la base de données à laquelle appartient la procédure, puis développez Programmabilité.

  3. 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.

  4. Dans Propriétés de la procédure stockée, sélectionnez la page Autorisations .

  5. Pour accorder des autorisations à un utilisateur, à un rôle de base de données ou à un rôle d’application, sélectionnez Rechercher.

  6. 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.

  7. 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.

  8. 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

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. 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ée HumanResources.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

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. 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éma HumanResources à un rôle d’application nommé Recruiting11.

USE AdventureWorks2022;   
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;  
GO  

Étapes suivantes