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

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

  1. Dans l’Explorateur d’objets, connectez-vous à une instance du 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