Partager via


MODIFIER LE RÔLE DE L’APPLICATION (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Modifie le nom, le mot de passe ou le schéma par défaut d'un rôle d'application.

Conventions de la syntaxe Transact-SQL

Syntaxe

ALTER APPLICATION ROLE application_role_name
    WITH <set_item> [ , ...n ]

<set_item> ::=
    NAME = new_application_role_name
    | PASSWORD = 'password'
    | DEFAULT_SCHEMA = schema_name

Les arguments

application_role_name

Nom du rôle d’application à modifier.

NOM = new_application_role_name

Spécifie le nouveau nom du rôle d'application. Ce nom ne doit pas être déjà utilisé pour référencer un principal dans la base de données.

MOT de PASSE = 'mot de passe'

Spécifie le mot de passe du rôle d'application. password doit répondre aux exigences de stratégie de mot de passe Windows de l’ordinateur exécutant l’instance de SQL Server. Vous devez toujours utiliser des mots de passe forts.

DEFAULT_SCHEMA = schema_name

Indique le premier schéma dans lequel le serveur doit effectuer des recherches lorsqu'il résout les noms des objets. schema_name peut être un schéma qui n’existe pas dans la base de données.

Notes

Si le nouveau nom du rôle d’application existe déjà dans la base de données, l’instruction échoue. Lorsque le nom, le mot de passe ou le schéma par défaut d’un rôle d’application est modifié l’ID associé au rôle n’est pas modifié.

Important

La stratégie d’expiration de mot de passe n’est pas appliquée aux mots de passe de rôle d’application. Pour cette raison, faites extrêmement attention lorsque vous choisissez des mots de passe forts. Les applications qui appellent des rôles d'application doivent stocker leurs mots de passe.

Les rôles d’application sont visibles dans l’affichage sys.database_principals catalogue.

Remarque

Les schémas ne sont pas équivalents aux utilisateurs de base de données. Utilisez les vues de catalogue système pour identifier les différences entre les utilisateurs de base de données et les schémas.

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

Autorisations

Nécessite l'autorisation ALTER ANY APPLICATION ROLE sur la base de données. Pour modifier le schéma par défaut, l'utilisateur doit également bénéficier de l'autorisation ALTER sur le rôle d'application. Un rôle d'application peut modifier son schéma par défaut, mais pas son nom ni son mot de passe.

Exemples

R. Modification du nom d'un rôle d'application

Le code exemple suivant remplace le nom du rôle d'application weekly_receipts par receipts_ledger.

USE AdventureWorks2022;
CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
    DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
    WITH NAME = receipts_ledger;
GO

B. Modification du mot de passe d'un rôle d'application

Le code exemple suivant modifie le mot de passe du rôle d'application receipts_ledger.

ALTER APPLICATION ROLE receipts_ledger
    WITH PASSWORD = '897yUUbv867y$200nk2i';
GO

Chapitre C. Modification du nom, du mot de passe et du schéma par défaut

Le code exemple suivant modifie simultanément le nom, le mot de passe et le schéma par défaut du rôle d'application receipts_ledger.

ALTER APPLICATION ROLE receipts_ledger
    WITH NAME = weekly_ledger,
    PASSWORD = '897yUUbv77bsrEE00nk2i',
    DEFAULT_SCHEMA = Production;
GO