Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Cet article explique comment créer un rôle d’application dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. Les rôles d'application limitent l'accès utilisateur à une base de données sauf via des applications spécifiques. Les rôles d’application n’ont aucun utilisateur. Par conséquent, la liste Membres du rôle n’est pas affichée lorsque le rôle d’application est sélectionné.
Important
La complexité des mots de passe est vérifiée lors de la définition des mots de passe des rôles d'application. Les applications qui appellent des rôles d'application doivent stocker leurs mots de passe. Les mots de passe des rôles d'application doivent toujours être stockés sous forme chiffrée.
Contexte
À compter de SQL Server 2012 (11.x), SQL Server et Azure SQL DB utilisaient un hachage SHA-512 combiné à un sel aléatoire et unique de 32 bits. Cette méthode l’a rendu statistiquement impossible pour les attaquants de déduire les mots de passe.
SQL Server 2025 (17.x) introduit un algorithme de hachage itéré, RFC2898, également appelé fonction de dérivation de clé basée sur mot de passe (PBKDF). Cet algorithme utilise toujours SHA-512, mais hachage le mot de passe plusieurs fois (100 000 itérations), ralentissant considérablement les attaques par force brute. Cette modification améliore la protection par mot de passe en réponse aux menaces de sécurité en constante évolution et aide les clients à se conformer aux directives NIST SP 800-63b. Cette amélioration de la sécurité utilise un algorithme de hachage plus fort, qui peut légèrement augmenter le temps de connexion pour les connexions d’authentification SQL. L’impact est généralement inférieur dans les environnements avec le regroupement de connexions, mais peut être plus visible dans les scénarios sans regroupement ni où la latence de connexion est étroitement surveillée.
Utiliser SQL Server Management Studio
Dans l'Explorateur d'objets, développez la base de données dans laquelle vous souhaitez créer un rôle d'application.
Développez le dossier Sécurité .
Développez le dossier Rôles .
Cliquez avec le bouton droit sur le dossier Rôles d’application et sélectionnez Nouveau rôle d’application....
Dans la boîte de dialogue Rôle d’application - Nouveau, dans la page Général, entrez le nouveau nom du nouveau rôle d’application dans la zone Nom du rôle.
Dans la zone Schéma par défaut , spécifiez le schéma qui possédera les objets créés par ce rôle en entrant les noms d'objet. Vous pouvez également sélectionner les points de suspension (...) pour ouvrir la boîte de dialogue Localiser le schéma .
Dans la zone Mot de passe , entrez un mot de passe pour le nouveau rôle. Entrez de nouveau ce mot de passe dans la zone Confirmer le mot de passe .
Sous Schémas appartenant à ce rôle, sélectionnez ou affichez les schémas qui appartiendront à ce rôle. Un schéma ne peut appartenir qu'à un seul schéma ou rôle.
Cliquez sur OK.
Options supplémentaires
La boîte de dialogue Rôle d’application - Nouveau offre également des options dans deux pages supplémentaires : Éléments sécurisables et Propriétés étendues.
La page Éléments sécurisables répertorie tous les éléments sécurisables possibles et les autorisations sur ces éléments sécurisables qui peuvent être accordées à la connexion.
La page Propriétés étendues vous permet d'ajouter des propriétés personnalisées aux utilisateurs de base de données.
Utiliser transact-SQL
Dans l' Explorateur d'objets, connectez-vous à une instance du 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. Ce code crée un rôle d’application appelé
weekly_receiptsqui a un mot de passe etSalescomme schéma par défaut. Remplacez par<password>un mot de passe fort.-- CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '<password>' , DEFAULT_SCHEMA = Sales; GO
autorisations
Requiert l'autorisation ALTER ANY APPLICATION ROLE sur la base de données.