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
Base de données Azure SQL
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analyse SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Chaque élément sécurisable de SQL Server dispose d’autorisations associées qui peuvent être accordées à un principal. Les autorisations dans le moteur de base de données sont gérées au niveau du serveur pour les connexions et les rôles de serveur, et au niveau de la base de données pour les utilisateurs de base de données et les rôles de base de données. Le modèle pour Azure SQL Database a le même système pour les autorisations de base de données, mais les autorisations de niveau serveur ne sont pas disponibles. Cet article comporte la liste complète des autorisations. Pour obtenir une implémentation classique des autorisations, consultez Prise en main des autorisations du moteur de base de données.
Le nombre total d’autorisations pour SQL Server 2022 (16.x) est de 292. Azure SQL Database expose 292 autorisations. La plupart des autorisations s’appliquent à toutes les plateformes, mais ce n’est pas le cas pour certaines d’entre elles. Par exemple,la plupart des autorisations au niveau du serveur ne peuvent pas être accordées sur Azure SQL Database et seules quelques autorisations sont pertinentes sur Azure SQL Database. De nouvelles autorisations sont introduites progressivement avec de nouvelles versions. SQL Server 2019 (15.x) expose 248 autorisations. SQL Server 2017 (14.x) a exposé 238 autorisations. SQL Server 2016 (13.x) a exposé 230 autorisations. SQL Server 2014 (12.x) a exposé 219 autorisations. SQL Server 2012 (11.x) a exposé 214 autorisations. SQL Server 2008 R2 (10.50.x) a exposé 195 autorisations. L’article sys.fn_builtin_permissions spécifie les permissions nouvelles dans les versions récentes.
Dans la base de données SQL de Microsoft Fabric, seuls les utilisateurs et rôles au niveau de la base de données sont pris en charge. Les connexions au niveau du serveur, les rôles et le sa compte ne sont pas disponibles. Dans la base de données SQL de Microsoft Fabric, Microsoft Entra ID pour les utilisateurs de base de données est la seule méthode d’authentification prise en charge. Pour en savoir plus, consultez Autorisation dans la base de données SQL de Microsoft Fabric.
Une fois que vous avez compris les autorisations requises, vous pouvez appliquer des autorisations au niveau du serveur aux comptes de connexion ou aux rôles de serveur, et des autorisations au niveau de la base de données aux utilisateurs ou aux rôles de base de données, à l’aide des instructions GRANT, REVOKE et DENY. Par exemple :
GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
Pour obtenir des conseils sur la planification d’un système d’autorisations, consultez Prise en main des autorisations du moteur de base de données.
Conventions de noms d’autorisations
La section ci-après décrit les conventions générales qui sont suivies pour affecter des noms aux autorisations.
CONTRÔLE
Confère des fonctionnalités de type propriété au bénéficiaire de l’autorisation. Le bénéficiaire dispose effectivement de toutes les autorisations définies sur l’élément sécurisable. Un principal qui dispose de l’autorisation CONTROL peut aussi accorder des autorisations sur l’élément sécurisable. Le modèle de sécurité de SQL Server étant hiérarchique, l’autorisation CONTROL sur une étendue particulière inclut implicitement CONTROL sur tous les éléments sécurisables inclus dans cette étendue. Par exemple, CONTROL sur une base de données implique toutes les autorisations sur la base de données, toutes les autorisations sur tous les assemblys de la base de données, toutes les autorisations sur tous les schémas de la base de données et toutes les autorisations sur les objets de tous les schémas de la base de données.
ALTER
Confère la capacité de modifier les propriétés, excepté l’appartenance, d’un élément sécurisable particulier. Lorsque ALTER est accordé sur une portée, ALTER octroie également la capacité de modifier, de créer ou de supprimer tous les éléments sécurisables contenus dans cette portée. Par exemple, l’autorisation ALTER sur un schéma inclut la capacité de créer, de modifier et de supprimer les objets du schéma.
ALTER ANY <Élément sécurisable du serveur>, où Élément sécurisable du serveur peut être tout élément sécurisable du serveur.
Confère la capacité de créer, de modifier ou de supprimer des instances individuelles de l’ Élément sécurisable du serveur. Par exemple, ALTER ANY LOGIN confère la possibilité de créer, modifier ou supprimer une connexion dans l’instance.
ALTER ANY <Élément sécurisable de base de données>, où Élément sécurisable de base de données peut être tout élément sécurisable au niveau de la base de données.
Confère la capacité de créer, de modifier ou de supprimer des instances individuelles de l’ Élément sécurisable de base de données. Par exemple, ALTER ANY SCHEMA confère la possibilité de créer, de modifier ou de supprimer un schéma dans la base de données.
PRENDRE POSSESSION
Permet au bénéficiaire d’obtenir la propriété de l’élément sécurisable sur lequel cette autorisation est accordée.
IMPERSONATE <Connexion>
Permet au bénéficiaire d’emprunter l’identité impliquée dans la connexion.
IMPERSONATE <Utilisateur>
Permet au bénéficiaire d’emprunter l’identité de l’utilisateur.
CREATE <Élément sécurisable du serveur>
Confère au bénéficiaire la capacité de créer l’ Élément sécurisable du serveur.
CREATE <Élément sécurisable de base de données>
Confère au bénéficiaire la capacité de créer l’ Élément sécurisable de base de données.
CREATE <Élément sécurisable contenu dans le schéma>
Confère la capacité de créer l’élément sécurisable contenu dans le schéma. Toutefois, l’autorisation ALTER sur le schéma est requise pour créer l’élément sécurisable dans un schéma particulier.
VIEW DÉFINITION
Permet au bénéficiaire d’accéder aux métadonnées.
RÉFÉRENCES
L’autorisation REFERENCES sur une table est obligatoire pour pouvoir créer une contrainte FOREIGN KEY qui référence cette table.
L’autorisation REFERENCES est nécessaire sur un objet pour créer un FUNCTION ou un VIEW avec la clause
WITH SCHEMABINDINGréférençant cet objet.
Graphique des autorisations SQL Server
L’image suivante illustre les autorisations et leurs relations. Certaines des autorisations de niveau supérieur (telles que CONTROL SERVER) figurent plusieurs fois. Dans cet article, l’affiche est trop petite pour être lue correctement. Vous pouvez télécharger le poster des autorisations de moteur de base de données en taille réelle au format PDF.
Autorisations applicables à des éléments sécurisables spécifiques
Le tableau suivant répertorie les principales classes d’autorisations et les types d’éléments sécurisables auxquels elles peuvent s’appliquer :
| Autorisation | S’applique à |
|---|---|
| ALTER | Toutes les classes d’objets à l’exception de TYPE. |
| CONTRÔLE | Toutes les classes d’objets : AGGREGATE, APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, AVAILABILITY GROUP, CERTIFICATE, CONTRACT, CREDENTIALS, DATABASE, DATABASE SCOPED CREDENTIAL, DEFAULT, ENDPOINT, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, LOGIN, MESSAGE TYPE, PROCEDURE, QUEUE, REMOTE SERVICE BINDING, ROLE, ROUTE, RULE, SCHEMA, SEARCH PROPERTY LIST, SERVER, SERVER ROLE, SERVICE, SYMMETRIC KEY, SYNONYM, TABLE, TYPE, USER, VIEW, et XML SCHEMA COLLECTION |
| DELETE | Toutes les classes d’objets, sauf DATABASE SCOPED CONFIGURATION, SERVER et TYPE. |
| EXECUTE | Types CLR, scripts externes, procédures (Transact-SQL et CLR), fonctions scalaires et d’agrégation (Transact-SQL et CLR) et synonymes |
| IMPERSONATE | Connexions et utilisateurs |
| INSERT | Synonymes, tables et colonnes, vues et colonnes. l’autorisation peut être accordée au niveau de la base de données, du schéma ou de l’objet. |
| RECEIVE | Files d’attente Service Broker |
| RÉFÉRENCES |
AGGREGATE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, CREDENTIAL(s’applique à SQL Server 2022 (16.x) et versions ultérieures), DATABASE, DATABASE SCOPED CREDENTIAL, FULLTEXT CATALOG, FULLTEXT STOPLIST, FUNCTION, MESSAGE TYPE, PROCEDURE, QUEUE, RULE, SCHEMA, SEARCH PROPERTY LIST, SEQUENCE OBJET, SYMMETRIC KEY, TABLE, TYPE, VIEW, et XML SCHEMA COLLECTION |
| SELECT | Synonymes, tables et colonnes, vues et colonnes. l’autorisation peut être accordée au niveau de la base de données, du schéma ou de l’objet. |
| PRENDRE POSSESSION | Toutes les classes d’objets, sauf DATABASE SCOPED CONFIGURATION, , LOGINSERVER et USER. |
| UPDATE | Synonymes, tables et colonnes, vues et colonnes. l’autorisation peut être accordée au niveau de la base de données, du schéma ou de l’objet. |
| VIEW SUIVI DES MODIFICATIONS | Schémas et tables |
| VIEW DÉFINITION | Toutes les classes d’objets, sauf DATABASE SCOPED CONFIGURATION, et SERVER. |
Attention
Les autorisations par défaut accordées aux objets système au moment de l’installation sont évaluées avec soin par rapport aux menaces potentielles et ne doivent pas être modifiées dans le cadre du renforcement de l’installation SQL Server. Les modifications apportées aux autorisations sur les objets système peuvent limiter ou rompre le fonctionnement et pourraient potentiellement laisser votre installation SQL Server dans un état non pris en charge.
Autorisations SQL Server
Le tableau suivant fournit la liste complète des autorisations SQL Server. Les autorisations Azure SQL Database sont uniquement disponibles pour les éléments sécurisables de base pris en charge. Les autorisations au niveau du serveur ne peuvent pas être accordées dans Azure SQL Database ; toutefois, dans certains cas, les autorisations de base de données sont disponibles à la place.
| Élément sécurisable de base | Autorisations granulaires sur les éléments sécurisables de base | Code du type d’autorisation | Élément sécurisable qui contient un élément sécurisable de base | Autorisation sur l’élément sécurisable conteneur, qui implique une autorisation granulaire sur l’élément sécurisable de base |
|---|---|---|---|---|
| APPLICATION ROLE | ALTER | AL | DATABASE | MODIFIER TOUT APPLICATION ROLE |
| APPLICATION ROLE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| APPLICATION ROLE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| ASSEMBLY | ALTER | AL | DATABASE | MODIFIER TOUT ASSEMBLY |
| ASSEMBLY | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| ASSEMBLY | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| ASSEMBLY | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| ASSEMBLY | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| ASYMMETRIC KEY | ALTER | AL | DATABASE | MODIFIER TOUT ASYMMETRIC KEY |
| ASYMMETRIC KEY | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| ASYMMETRIC KEY | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| ASYMMETRIC KEY | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| ASYMMETRIC KEY | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| AVAILABILITY GROUP | ALTER | AL | SERVER | MODIFIER TOUT AVAILABILITY GROUP |
| AVAILABILITY GROUP | CONTRÔLE | CL | SERVER | SERVEUR DE CONTRÔLE |
| AVAILABILITY GROUP | PRENDRE POSSESSION | TO | SERVER | SERVEUR DE CONTRÔLE |
| AVAILABILITY GROUP | VIEW DÉFINITION | VW | SERVER | VIEW TOUTE DÉFINITION |
| CERTIFICATE | ALTER | AL | DATABASE | MODIFIER TOUT CERTIFICATE |
| CERTIFICATE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| CERTIFICATE | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| CERTIFICATE | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| CERTIFICATE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| CONTRACT | ALTER | AL | DATABASE | MODIFIER TOUT CONTRACT |
| CONTRACT | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| CONTRACT | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| CONTRACT | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| CONTRACT | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| CREDENTIAL | CONTRÔLE | CL | SERVER | SERVEUR DE CONTRÔLE |
| CREDENTIAL | RÉFÉRENCES | RF | SERVER | MODIFIER TOUT CREDENTIAL |
| DATABASE | ADMINISTRER DATABASE LES OPÉRATIONS GROUPÉES | DABO | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER | AL | SERVER | MODIFIER TOUT DATABASE |
| DATABASE | MODIFIER TOUT APPLICATION ROLE | ALAR | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT ASSEMBLY | ALAS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT ASYMMETRIC KEY | ALAK | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT CERTIFICATE | ALCF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT COLUMN ENCRYPTION KEY | ALCK S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT COLUMN MASTER KEY | ALCM S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT CONTRACT | ALSC | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT DATABASE AUDIT | ALDA | SERVER | MODIFIER TOUT SERVER AUDIT |
| DATABASE | MODIFIER TOUT DATABASE langage de définition de données (DDL) TRIGGER | ALTG | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT DATABASEEVENT NOTIFICATION | ALED | SERVER | MODIFIER TOUT EVENT NOTIFICATION |
| DATABASE | ALTER ANY DATABASEEVENT SESSION | AADS | SERVER | MODIFIER TOUT EVENT SESSION |
| DATABASE | MODIFIER UN DATABASEEVENT SESSION ÉVÉNEMENT D’AJOUT | LDAE | SERVER | MODIFIER UN ÉVÉNEMENT D’AJOUT EVENT SESSION |
| DATABASE | MODIFIER UNE CIBLE D’AJOUT DATABASEEVENT SESSION | LDAT | SERVER | ALTER ANY EVENT SESSION ADD TARGET |
| DATABASE | MODIFIER UN DATABASEEVENT SESSION DÉSACTIVER | DDES | SERVER | MODIFIER TOUT EVENT SESSION DÉSACTIVER |
| DATABASE | Modifier n’importe quel DATABASEEVENT SESSION événement DROP | LDDE | SERVER | ALTER ANY EVENT SESSION DROP EVENT |
| DATABASE | ALTER ANY DATABASEEVENT SESSION DROP TARGET | LDDT | SERVER | ALTER ANY EVENT SESSION DROP TARGET |
| DATABASE | ACTIVER LA MODIFICATION DE TOUT DATABASEEVENT SESSION | EDES | SERVER | MODIFIER N’IMPORTE QUEL EVENT SESSION ACTIVER |
| DATABASE | ALTER ANY DATABASEEVENT SESSION OPTION | LDSO | SERVER | MODIFIER N’IMPORTE QUELLE OPTION EVENT SESSION |
| DATABASE | MODIFIER TOUT DATABASE SCOPED CONFIGURATION | ALDC S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT ESPACE DE DONNÉES | ALDS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT EXTERNAL DATA SOURCE | AEDS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT EXTERNAL FILE FORMAT | AEFF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUTE TÂCHE EXTERNE | AESJ | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT EXTERNAL LANGUAGE | ALLA | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT EXTERNAL LIBRARY | ALEL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT FLUX EXTERNE | AEST | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT FULLTEXT CATALOG | ALFT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT MASQUE | AAMK S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT MESSAGE TYPE | ALMT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT REMOTE SERVICE BINDING | ALSB | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT ROLE | ALRL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT ROUTE | ALRT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT SCHEMA | ALSM | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT SECURITY POLICY | ALSP S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT SENSITIVITY CLASSIFICATION | AASC S’applique à SQL Server (de SQL Server 2019 (15.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT SERVICE | ALSV | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT SYMMETRIC KEY | ALSK | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT USER | ALUS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER LE REGISTRE | ALR | SERVER | CONTRÔLE |
| DATABASE | MODIFIER LA CONFIGURATION DU REGISTRE | ALC | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | AUTHENTICATE | AUTH | SERVER | AUTHENTIFIER LE SERVEUR |
| DATABASE | BACKUP DATABASE | BADB | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | BACKUP RAPPORT | BALO | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | POINT DE CONTRÔLE | CP | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CONNECT | Monoxyde de carbone | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | RÉPLICATION DE CONNEXION | CORP | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CONTRÔLE | CL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE AGGREGATE | CRAG | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CRÉEZ N’IMPORTE QUEL DATABASEEVENT SESSION | CRDS | SERVER | CRÉEZ N’IMPORTE QUOI EVENT SESSION |
| DATABASE | CREATE ASSEMBLY | CRAS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE ASYMMETRIC KEY | CRAK | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE CERTIFICATE | CRCF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE CONTRACT | CRSC | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE DATABASE | CRDB | SERVER | CRÉEZ CE QUE VOUS VOULEZ DATABASE |
| DATABASE | CREATE DATABASE DDL EVENT NOTIFICATION | CRED | SERVER | CREATE DDL EVENT NOTIFICATION |
| DATABASE | CREATE DEFAULT | CRDF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE EXTERNAL LANGUAGE | CRLA | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE EXTERNAL LIBRARY | CREL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE FULLTEXT CATALOG | CRFT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE FUNCTION | CRFN | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE MESSAGE TYPE | CRMT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE PROCEDURE | CRPR | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE QUEUE | CRQU | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE REMOTE SERVICE BINDING | CRSB | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE ROLE | CRRL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE ROUTE | CRRT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE RULE | CRRU | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE SCHEMA | CRSM | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE SERVICE | CRSV | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE SYMMETRIC KEY | CRSK | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE SYNONYM | CRSN | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE TABLE | CRTB | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE TYPE | CRTY | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE USER | CUSR | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE VIEW | CRVW | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | CREATE XML SCHEMA COLLECTION | CRXS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | DELETE | DL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | DÉPOSEZ N’IMPORTE LEQUEL DATABASEEVENT SESSION | DRDS | SERVER | DÉPOSEZ N’IMPORTE QUEL EVENT SESSION |
| DATABASE | ACTIVER LE REGISTRE | EL | SERVER | CONTRÔLE |
| DATABASE | EXECUTE | EX | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | EXÉCUTER N’IMPORTE QUEL ÉLÉMENT EXTERNE ENDPOINT | EAEE | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | EXÉCUTER UN SCRIPT EXTERNE | EAES S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle). |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | INSERT | IN | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | TERMINER DATABASE LA CONNEXION | KIDC S’applique uniquement à Azure SQL Database. Utilisez ALTER ANY CONNECTION dans SQL Server. |
SERVER | MODIFIER TOUTE CONNEXION |
| DATABASE | RÉFÉRENCES | RF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | SELECT | SL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | SHOWPLAN | SPLN | SERVER | ALTER TRACE |
| DATABASE | NOTIFICATIONS DE REQUÊTE D’ABONNEMENT | SUQN | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | PRENDRE POSSESSION | TO | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | UNMASK | UMSK S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | UPDATE | UP | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | VIEW TOUTE COLUMN ENCRYPTION KEY DÉFINITION | VWCK S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | VIEW ÉTAT DU SERVEUR |
| DATABASE | VIEW TOUTE COLUMN MASTER KEY DÉFINITION | VWCM S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | VIEW ÉTAT DU SERVEUR |
| DATABASE | VIEW TOUT SENSITIVITY CLASSIFICATION | VASC | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | VIEW DÉFINITION SÉCURISÉE PAR CHIFFREMENT | VCD | SERVER | VIEW TOUTE DÉFINITION SÉCURISÉE PAR CHIFFREMENT |
| DATABASE | VIEW DATABASE ÉTAT DES PERFORMANCES | VDP | SERVER | VIEW ÉTAT DES PERFORMANCES DU SERVEUR |
| DATABASE | VIEW DATABASE AUDIT DE SÉCURITÉ | VDSA | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | VIEW DATABASE ÉTAT DE SÉCURITÉ | VDS | SERVER | VIEW ÉTAT DE SÉCURITÉ DU SERVEUR |
| DATABASE | VIEW DATABASE ÉTAT | VWDS | SERVER | VIEW ÉTAT DU SERVEUR |
| DATABASE | VIEW DÉFINITION | VW | SERVER | VIEW TOUTE DÉFINITION |
| DATABASE | VIEW CONTENU DU GRAND LIVRE | VLC | SERVER | CONTRÔLE |
| DATABASE | VIEW DÉFINITION DE SÉCURITÉ | VWS | SERVER | VIEW TOUTE DÉFINITION DE SÉCURITÉ |
| DATABASE | VIEW DÉFINITION DES PERFORMANCES | Programme d'exemption de visa (VWP) | SERVER | VIEW TOUTE DÉFINITION DE PERFORMANCES |
| DATABASE SCOPED CREDENTIAL | ALTER | AL | DATABASE | CONTRÔLE |
| DATABASE SCOPED CREDENTIAL | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| DATABASE SCOPED CREDENTIAL | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| DATABASE SCOPED CREDENTIAL | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| DATABASE SCOPED CREDENTIAL | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| ENDPOINT | ALTER | AL | SERVER | MODIFIER TOUT ENDPOINT |
| ENDPOINT | CONNECT | Monoxyde de carbone | SERVER | SERVEUR DE CONTRÔLE |
| ENDPOINT | CONTRÔLE | CL | SERVER | SERVEUR DE CONTRÔLE |
| ENDPOINT | PRENDRE POSSESSION | TO | SERVER | SERVEUR DE CONTRÔLE |
| ENDPOINT | VIEW DÉFINITION | VW | SERVER | VIEW TOUTE DÉFINITION |
| FULLTEXT CATALOG | ALTER | AL | DATABASE | MODIFIER TOUT FULLTEXT CATALOG |
| FULLTEXT CATALOG | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| FULLTEXT CATALOG | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| FULLTEXT CATALOG | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| FULLTEXT CATALOG | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| FULLTEXT STOPLIST | ALTER | AL | DATABASE | MODIFIER TOUT FULLTEXT CATALOG |
| FULLTEXT STOPLIST | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| FULLTEXT STOPLIST | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| FULLTEXT STOPLIST | ASSUMER LA RESPONSABILITÉ | TO | DATABASE | CONTRÔLE |
| FULLTEXT STOPLIST | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| LOGIN | ALTER | AL | SERVER | MODIFIER TOUT LOGIN |
| LOGIN | CONTRÔLE | CL | SERVER | SERVEUR DE CONTRÔLE |
| LOGIN | IMPERSONATE | messagerie instantanée | SERVER | SERVEUR DE CONTRÔLE |
| LOGIN | VIEW DÉFINITION | VW | SERVER | VIEW TOUTE DÉFINITION |
| MESSAGE TYPE | ALTER | AL | DATABASE | MODIFIER TOUT MESSAGE TYPE |
| MESSAGE TYPE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| MESSAGE TYPE | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| MESSAGE TYPE | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| MESSAGE TYPE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| OBJECT | ALTER | AL | SCHEMA | ALTER |
| OBJECT | CONTRÔLE | CL | SCHEMA | CONTRÔLE |
| OBJECT | DELETE | DL | SCHEMA | DELETE |
| OBJECT | EXECUTE | EX | SCHEMA | EXECUTE |
| OBJECT | INSERT | IN | SCHEMA | INSERT |
| OBJECT | RECEIVE | Responsable Vente et Relations | SCHEMA | CONTRÔLE |
| OBJECT | RÉFÉRENCES | RF | SCHEMA | RÉFÉRENCES |
| OBJECT | SELECT | SL | SCHEMA | SELECT |
| OBJECT | PRENDRE POSSESSION | TO | SCHEMA | CONTRÔLE |
| OBJECT | UNMASK | UMSK | SCHEMA | UNMASK |
| OBJECT | UPDATE | UP | SCHEMA | UPDATE |
| OBJECT | VIEW SUIVI DES MODIFICATIONS | VWCT | SCHEMA | VIEW SUIVI DES MODIFICATIONS |
| OBJECT | VIEW DÉFINITION | VW | SCHEMA | VIEW DÉFINITION |
| REMOTE SERVICE BINDING | ALTER | AL | DATABASE | MODIFIER TOUT REMOTE SERVICE BINDING |
| REMOTE SERVICE BINDING | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| REMOTE SERVICE BINDING | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| REMOTE SERVICE BINDING | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| ROLE | ALTER | AL | DATABASE | MODIFIER TOUT ROLE |
| ROLE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| ROLE | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| ROLE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| ROUTE | ALTER | AL | DATABASE | MODIFIER TOUT ROUTE |
| ROUTE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| ROUTE | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| ROUTE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| SCHEMA | ALTER | AL | DATABASE | MODIFIER TOUT SCHEMA |
| SCHEMA | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| SCHEMA | CREATE SEQUENCE | CRSO | DATABASE | CONTRÔLE |
| SCHEMA | DELETE | DL | DATABASE | DELETE |
| SCHEMA | EXECUTE | EX | DATABASE | EXECUTE |
| SCHEMA | INSERT | IN | DATABASE | INSERT |
| SCHEMA | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| SCHEMA | SELECT | SL | DATABASE | SELECT |
| SCHEMA | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| SCHEMA | UNMASK | UMSK | DATABASE | UNMASK |
| SCHEMA | UPDATE | UP | DATABASE | UPDATE |
| SCHEMA | VIEW SUIVI DES MODIFICATIONS | VWCT | DATABASE | VIEW SUIVI DES MODIFICATIONS |
| SCHEMA | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| SEARCH PROPERTY LIST | ALTER | AL | SERVER | MODIFIER TOUT FULLTEXT CATALOG |
| SEARCH PROPERTY LIST | CONTRÔLE | CL | SERVER | CONTRÔLE |
| SEARCH PROPERTY LIST | RÉFÉRENCES | RF | SERVER | RÉFÉRENCES |
| SEARCH PROPERTY LIST | PRENDRE POSSESSION | TO | SERVER | CONTRÔLE |
| SEARCH PROPERTY LIST | VIEW DÉFINITION | VW | SERVER | VIEW DÉFINITION |
| SERVER | ADMINISTRER DES OPÉRATIONS GROUPÉES | ADBO | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT AVAILABILITY GROUP | ALAG | Non applicable | Non applicable |
| SERVER | MODIFIER TOUTE CONNEXION | ALCO | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT CREDENTIAL | ALCD | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT DATABASE | ALDB | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT ENDPOINT | ALHE | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT EVENT NOTIFICATION | ALES | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT EVENT SESSION | AAES | Non applicable | Non applicable |
| SERVER | MODIFIER UN ÉVÉNEMENT D’AJOUT EVENT SESSION | LSAE | Non applicable | Non applicable |
| SERVER | ALTER ANY EVENT SESSION ADD TARGET | LSAT (Test d'admission aux écoles de droit) | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT EVENT SESSION DÉSACTIVER | DES | Non applicable | Non applicable |
| SERVER | ALTER ANY EVENT SESSION DROP EVENT | LSDE | Non applicable | Non applicable |
| SERVER | ALTER ANY EVENT SESSION DROP TARGET | LSDT | Non applicable | Non applicable |
| SERVER | MODIFIER N’IMPORTE QUEL EVENT SESSION ACTIVER | EES | Non applicable | Non applicable |
| SERVER | MODIFIER N’IMPORTE QUELLE OPTION EVENT SESSION | LESO | Non applicable | Non applicable |
| SERVER | MODIFIER N'IMPORTE QUEL SERVEUR LIÉ | ALLS | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT LOGIN | ALLG | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT SERVER AUDIT | ALAA | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT SERVER ROLE | ALSR | Non applicable | Non applicable |
| SERVER | MODIFIER LES RESSOURCES | ALRS | Non applicable | Non applicable |
| SERVER | MODIFIER L'ÉTAT DU SERVEUR | ALSS | Non applicable | Non applicable |
| SERVER | Modifier les paramètres | ALST | Non applicable | Non applicable |
| SERVER | ALTER TRACE | ALTR | Non applicable | Non applicable |
| SERVER | AUTHENTIFIER LE SERVEUR | AUTH | Non applicable | Non applicable |
| SERVER | CONNECTEZ N’IMPORTE QUEL DATABASE | CADB | Non applicable | Non applicable |
| SERVER | CONNECT SQL | COSQ | Non applicable | Non applicable |
| SERVER | SERVEUR DE CONTRÔLE | CL | Non applicable | Non applicable |
| SERVER | CRÉEZ CE QUE VOUS VOULEZ DATABASE | CRDB | Non applicable | Non applicable |
| SERVER | CREATE AVAILABILITY GROUP | CRAC | Non applicable | Non applicable |
| SERVER | CREATE DDL EVENT NOTIFICATION | CRDE | Non applicable | Non applicable |
| SERVER | CREATE ENDPOINT | CRHE | Non applicable | Non applicable |
| SERVER | CREATE SERVER ROLE | CRSR | Non applicable | Non applicable |
| SERVER | CRÉER UNE TRACE EVENT NOTIFICATION | CRTE | Non applicable | Non applicable |
| SERVER | ACCÈS EXTERNE ASSEMBLY | XA | Non applicable | Non applicable |
| SERVER | EMPRUNT D’IDENTITÉ N’IMPORTE QUEL LOGIN | IAL | Non applicable | Non applicable |
| SERVER | SÉLECTIONNER TOUS LES USER OBJETS SÉCURISABLES | SUS | Non applicable | Non applicable |
| SERVER | SHUTDOWN | SHDN | Non applicable | Non applicable |
| SERVER | DANGEREUX ASSEMBLY | XU | Non applicable | Non applicable |
| SERVER | VIEW TOUT DATABASE | VWDB | Non applicable | Non applicable |
| SERVER | VIEW TOUTE DÉFINITION | VWAD | Non applicable | Non applicable |
| SERVER | VIEW ÉTAT DU SERVEUR | VWSS | Non applicable | Non applicable |
| SERVER ROLE | ALTER | AL | SERVER | MODIFIER TOUT SERVER ROLE |
| SERVER ROLE | CONTRÔLE | CL | SERVER | SERVEUR DE CONTRÔLE |
| SERVER ROLE | PRENDRE POSSESSION | TO | SERVER | SERVEUR DE CONTRÔLE |
| SERVER ROLE | VIEW DÉFINITION | VW | SERVER | VIEW TOUTE DÉFINITION |
| SERVICE | ALTER | AL | DATABASE | MODIFIER TOUT SERVICE |
| SERVICE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| SERVICE | SEND | SN | DATABASE | CONTRÔLE |
| SERVICE | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| SERVICE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| SYMMETRIC KEY | ALTER | AL | DATABASE | MODIFIER TOUT SYMMETRIC KEY |
| SYMMETRIC KEY | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| SYMMETRIC KEY | RÉFÉRENCES | RF | DATABASE | RÉFÉRENCES |
| SYMMETRIC KEY | PRENDRE POSSESSION | TO | DATABASE | CONTRÔLE |
| SYMMETRIC KEY | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| TYPE | CONTRÔLE | CL | SCHEMA | CONTRÔLE |
| TYPE | EXECUTE | EX | SCHEMA | EXECUTE |
| TYPE | RÉFÉRENCES | RF | SCHEMA | RÉFÉRENCES |
| TYPE | PRENDRE POSSESSION | TO | SCHEMA | CONTRÔLE |
| TYPE | VIEW DÉFINITION | VW | SCHEMA | VIEW DÉFINITION |
| USER | ALTER | AL | DATABASE | MODIFIER TOUT USER |
| USER | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| USER | IMPERSONATE | messagerie instantanée | DATABASE | CONTRÔLE |
| USER | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| XML SCHEMA COLLECTION | ALTER | AL | SCHEMA | ALTER |
| XML SCHEMA COLLECTION | CONTRÔLE | CL | SCHEMA | CONTRÔLE |
| XML SCHEMA COLLECTION | EXECUTE | EX | SCHEMA | EXECUTE |
| XML SCHEMA COLLECTION | RÉFÉRENCES | RF | SCHEMA | RÉFÉRENCES |
| XML SCHEMA COLLECTION | PRENDRE POSSESSION | TO | SCHEMA | CONTRÔLE |
| XML SCHEMA COLLECTION | VIEW DÉFINITION | VW | SCHEMA | VIEW DÉFINITION |
Nouvelles autorisations granulaires ajoutées à SQL Server 2022
Les autorisations suivantes sont ajoutées à SQL Server 2022 :
10 nouvelles autorisations ont été ajoutées pour autoriser l’accès aux métadonnées système.
18 nouvelles autorisations ont été ajoutées pour les événements étendus.
9 nouvelles autorisations ont été ajoutées en ce qui concerne les objets liés à la sécurité.
4 autorisations ont été ajoutées pour le registre.
3 autorisations de base de données supplémentaires.
Pour en savoir plus, consultez Nouvelles autorisations granulaires pour SQL Server 2022 et Azure SQL permettant d’améliorer l’adhésion à PoLP.
Accès aux autorisations de métadonnées système
Niveau du serveur :
- VIEW TOUTE DÉFINITION DE SÉCURITÉ
- VIEW TOUTE DÉFINITION DE PERFORMANCES
- VIEW ÉTAT DE SÉCURITÉ DU SERVEUR
- VIEW ÉTAT DES PERFORMANCES DU SERVEUR
- VIEW TOUTE DÉFINITION SÉCURISÉE PAR CHIFFREMENT
Niveau de la base de données :
- VIEW DATABASE ÉTAT DE SÉCURITÉ
- VIEW DATABASE ÉTAT DES PERFORMANCES
- VIEW DÉFINITION DE SÉCURITÉ
- VIEW DÉFINITION DES PERFORMANCES
- VIEW DÉFINITION SÉCURISÉE PAR CHIFFREMENT
Autorisations d’événements étendus
Niveau du serveur :
- CRÉEZ CE QUE VOUS VOULEZ EVENT SESSION
- DÉPOSEZ N’IMPORTE QUEL EVENT SESSION
- MODIFIER N’IMPORTE QUELLE OPTION EVENT SESSION
- MODIFIER UN ÉVÉNEMENT D’AJOUT EVENT SESSION
- ALTER ANY EVENT SESSION DROP EVENT
- MODIFIER N’IMPORTE QUEL EVENT SESSION ACTIVER
- MODIFIER TOUT EVENT SESSION DÉSACTIVER
- MODIFIER UNE CIBLE D’AJOUT EVENT SESSION
- ALTER ANY EVENT SESSION DROP TARGET
Toutes ces autorisations se trouvent sous la même autorisation parente : ALTER ANY EVENT SESSION
Niveau de la base de données :
- CRÉEZ N’IMPORTE QUEL DATABASEEVENT SESSION
- DÉPOSEZ N’IMPORTE LEQUEL DATABASEEVENT SESSION
- ALTER ANY DATABASEEVENT SESSION OPTION
- MODIFIER UN DATABASEEVENT SESSION ÉVÉNEMENT D’AJOUT
- Modifier n’importe quel DATABASEEVENT SESSION événement DROP
- ACTIVER LA MODIFICATION DE TOUT DATABASEEVENT SESSION
- MODIFIER UN DATABASEEVENT SESSION DÉSACTIVER
- MODIFIER UNE CIBLE D’AJOUT DATABASEEVENT SESSION
- ALTER ANY DATABASEEVENT SESSION DROP TARGET
Toutes ces autorisations se trouvent sous la même autorisation parente : ALTER ANY DATABASEEVENT SESSION
Autorisations d’objet relatives à la sécurité
- CONTRÔLE (CREDENTIAL)
- CREATE LOGIN
- CREATE USER
- RÉFÉRENCES (CREDENTIAL)
- DÉMASQUER (OBJET)
- DÉMASQUER (SCHEMA)
- VIEW TOUT JOURNAL DES ERREURS
- VIEW AUDIT DE SÉCURITÉ DU SERVEUR
- VIEW DATABASE AUDIT DE SÉCURITÉ
Autorisations de registre
- MODIFIER LE REGISTRE
- MODIFIER LA CONFIGURATION DU REGISTRE
- ACTIVER LE REGISTRE
- VIEW CONTENU DU GRAND LIVRE
Autres autorisations de base de données
- MODIFIER TOUTE TÂCHE EXTERNE
- MODIFIER TOUT FLUX EXTERNE
- EXÉCUTER N’IMPORTE QUEL ÉLÉMENT EXTERNE ENDPOINT
Résumé de l’algorithme de vérification des autorisations
La vérification des autorisations peut être complexe. L’algorithme de vérification des autorisations englobe les membres de groupes qui se chevauchent et le chaînage des propriétés, l’autorisation explicite et implicite, et peut être affecté par les autorisations sur les classes sécurisables qui contiennent l’entité sécurisable. Le processus général de l’algorithme consiste à collecter toutes les autorisations pertinentes. Si aucun blocage DENY n’est trouvé, l’algorithme recherche un GRANT qui fournit un accès suffisant. L’algorithme contient trois éléments essentiels : le contexte de sécurité, l’espace d’autorisation et l’autorisation requise.
Remarque
Vous ne pouvez pas accorder, refuser ou révoquer des autorisations pour sa, dbole propriétaire de l’entité, information_schemasysou vous-même.
Contexte de sécurité
Il s’agit du groupe de principaux qui apporte les autorisations à la vérification d’accès. Il s’agit d’autorisations liées à la connexion ou à l’utilisateur actuel, sauf si le contexte de sécurité a été modifié en une autre connexion ou un autre utilisateur à l’aide de l’instruction EXECUTE AS . Le contexte de sécurité se compose des principaux suivants :
la connexion ;
L’utilisateur
les appartenances aux rôles ;
les appartenances aux groupes Windows ;
si la signature de module est utilisée, toute connexion ou compte d’utilisateur du certificat utilisé pour signer le module actuellement exécuté par l’utilisateur, ainsi que les appartenances aux rôles associées de ce principal.
Espace d’autorisation
Correspond à l’entité sécurisable et aux classes sécurisables qui contiennent l’élément sécurisable. Par exemple, une table (entité sécurisable) est contenue par la classe sécurisable de schéma et par la classe sécurisable de base de données. L’accès peut être affecté par des autorisations de niveau table, schéma, base de données et serveur. Pour en savoir plus, consultez Hiérarchie des autorisations (moteur de base de données).
Autorisation obligatoire
Correspond au type d’autorisation requise. Par exemple, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL, et ainsi de suite.
L’accès peut nécessiter plusieurs autorisations, comme l’illustrent les exemples suivants :
Une procédure stockée peut nécessiter à la fois l’autorisation EXECUTE sur la procédure stockée elle-même et l’autorisation INSERT sur plusieurs tables auxquelles la procédure stockée fait référence.
Une vue de gestion dynamique peut nécessiter à la fois les autorisations VIEW SERVER STATE et SELECT sur la vue.
Étapes générales de l’algorithme
Au moment de déterminer si l’accès à un élément sécurisable doit être autorisé, l’algorithme peut suivre différentes étapes en fonction des principaux et des éléments sécurisables concernés. Cependant, l’algorithme exécute les étapes générales suivantes :
Contournement de la procédure de vérification des autorisations si la connexion est membre du rôle serveur fixe sysadmin ou si l’utilisateur est l’utilisateur dbo dans la base de données active.
Autorisation de l’accès si le chaînage des propriétés est applicable et si la vérification de l’accès sur l’objet plus tôt dans la chaîne a passé avec succès le contrôle de sécurité.
Agrégation des identités de niveau serveur, base de données et du module signé qui sont associées à l’appelant pour créer le contexte de sécurité.
Pour ce contexte de sécurité, collecte de toutes les autorisations accordées ou refusées pour l’ espace d’autorisation. L’autorisation peut être explicitement indiquée en tant que GRANT, GRANT WITH GRANTou DENY; ou les autorisations peuvent être implicites ou couvrant l’autorisation GRANT ou DENY. Par exemple, l’autorisation CONTROL sur un schéma implique une autorisation CONTROL sur une table. Et une autorisation CONTROL sur une table implique une autorisation SELECT. Par conséquent, si l’autorisation CONTROL a été accordée sur le schéma, l’autorisation SELECT l’est également sur la table. Si l’autorisation CONTROL a été refusée sur la table, l’autorisation SELECT l’est tout autant sur la table.
Remarque
Une GRANT autorisation au niveau de la colonne remplace un DENY au niveau de l’objet. Pour plus d’informations, consultez DENY Autorisations d’objet.
Identification de l’ autorisation requise.
Échec de la vérification des autorisations si l’ autorisation requise est directement ou implicitement refusée à l’une des identités dans le contexte de sécurité pour les objets contenus dans l’ espace d’autorisation.
La vérification des autorisations est validée si la permission requise n’a pas été refusée et que la permission requise contient une permission GRANT ou une permission GRANT AVEC GRANT, directement ou implicitement, pour l’une quelconque des identités du contexte de sécurité pour tout objet de l’espace d’autorisation.
Considérations spéciales relatives aux autorisations au niveau des colonnes
Les autorisations au niveau des colonnes sont accordées avec la syntaxe <table_name>(<column _name>). Par exemple :
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
Un DENY sur la table est remplacé par un GRANT sur une colonne. Toutefois, si vous appliquez ensuite DENY à la table, la colonne GRANT sera supprimée.
Exemples
Les exemples de cette section montrent comment récupérer des informations relatives aux autorisations.
A. Renvoyer la liste complète des autorisations accordables
L’instruction suivante renvoie toutes les autorisations de moteur de base de données à l’aide de la fonction fn_builtin_permissions. Pour plus d’informations, consultez sys.fn_builtin_permissions.
SELECT * FROM fn_builtin_permissions(default);
GO
B. Renvoyer les autorisations sur une classe d’objets particulière
L’exemple suivant utilise la fonction fn_builtin_permissions pour consulter toutes les autorisations disponibles pour une catégorie d’élément sécurisable donnée. L’exemple retourne les autorisations sur les assemblys.
SELECT * FROM fn_builtin_permissions('assembly');
GO
Chapitre C. Renvoyer les autorisations accordées au principal en cours d’exécution sur un objet
L’exemple suivant utilise la fonction fn_my_permissions pour retourner la liste des autorisations effectives détenues par le principal appelant sur un élément sécurisable spécifié. L’exemple retourne les autorisations sur un objet nommé Orders55. Pour plus d’informations, consultez sys.fn_my_permissions.
SELECT * FROM fn_my_permissions('Orders55', 'object');
GO
D. Renvoyer les autorisations applicables à un objet spécifié
L'exemple suivant retourne les autorisations applicables à un objet nommé Yttrium. La fonction intégrée OBJECT_ID permet de récupérer l’ID de l’objet Yttrium.
SELECT * FROM sys.database_permissions
WHERE major_id = OBJECT_ID('Yttrium');
GO