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 | ALTER ANYAPPLICATION ROLE |
| APPLICATION ROLE | CONTRÔLE | CL | DATABASE | CONTRÔLE |
| APPLICATION ROLE | VIEW DÉFINITION | VW | DATABASE | VIEW DÉFINITION |
| ASSEMBLY | ALTER | AL | DATABASE | ALTER ANYASSEMBLY |
| 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 | ALTER ANYASYMMETRIC 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 | ALTER ANYAVAILABILITY 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 | ALTER ANYCERTIFICATE |
| 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 | ALTER ANYCONTRACT |
| 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 | ALTER ANYCREDENTIAL |
| DATABASE | ADMINISTRER DATABASE LES OPÉRATIONS GROUPÉES | DABO | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER | AL | SERVER | ALTER ANYDATABASE |
| DATABASE | ALTER ANYAPPLICATION ROLE | ALAR | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYASSEMBLY | ALAS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYASYMMETRIC KEY | ALAK | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYCERTIFICATE | ALCF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYCOLUMN 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 | ALTER ANYCOLUMN 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 | ALTER ANYCONTRACT | ALSC | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT AUDIT DATABASE | ALDA | SERVER | ALTER ANYSERVER AUDIT |
| DATABASE | MODIFIER TOUT DATABASE DDL TRIGGER | ALTG | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT DATABASEEVENT NOTIFICATION | ALED | SERVER | ALTER ANYEVENT NOTIFICATION |
| DATABASE | ALTER ANYDATABASEEVENT SESSION | AADS | SERVER | ALTER ANYEVENT SESSION |
| DATABASE | MODIFIER TOUT DATABASEEVENT SESSION ÉVÉNEMENT D'AJOUT | LDAE | SERVER | MODIFIER TOUT EVENT SESSION ÉVÉNEMENT D'AJOUT |
| DATABASE | MODIFIER TOUTE DATABASEEVENT SESSION CIBLE D'AJOUT | LDAT | SERVER | ALTER ANY EVENT SESSION ADD TARGET |
| DATABASE | MODIFIER TOUT DATABASEEVENT SESSION DÉSACTIVER | DDES | SERVER | MODIFIER TOUT EVENT SESSION DÉSACTIVER |
| DATABASE | MODIFIER TOUT DATABASEEVENT SESSION ÉVÉNEMENT DE DÉPRÉCIATION | 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 TOUT DATABASEEVENT SESSION ACTIVER | EDES | SERVER | ACTIVER TOUT EVENT SESSION ACTIVER |
| DATABASE | MODIFIER TOUT DATABASEEVENT SESSION OPTION | LDSO | SERVER | MODIFIER TOUT EVENT SESSION OPTION |
| DATABASE | ALTER ANYDATABASE 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 | ALTER ANYEXTERNAL DATA SOURCE | AEDS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYEXTERNAL FILE FORMAT | AEFF | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUTE TÂCHE EXTERNE | AESJ | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYEXTERNAL LANGUAGE | ALLA | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYEXTERNAL LIBRARY | ALEL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER TOUT FLUX EXTERNE | AEST | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYFULLTEXT 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 | ALTER ANYMESSAGE TYPE | ALMT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYREMOTE SERVICE BINDING | ALSB | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYROLE | ALRL | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYROUTE | ALRT | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYSCHEMA | ALSM | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYSECURITY POLICY | ALSP S’applique à SQL Server (de SQL Server 2016 (13.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYSENSITIVITY CLASSIFICATION | AASC S’applique à SQL Server (de SQL Server 2019 (15.x) à la version actuelle), Azure SQL Database. |
SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYSERVICE | ALSV | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYSYMMETRIC KEY | ALSK | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | ALTER ANYUSER | ALUS | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | MODIFIER LE REGISTRE | ALR | SERVER | CONTRÔLE |
| DATABASE | ALTER LEDGER CONFIGURATION | ALC | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | AUTHENTICATE | AUTH | SERVER | AUTHENTIFIER LE SERVEUR |
| DATABASE | BACKUP DATABASE | BADB | SERVER | SERVEUR DE CONTRÔLE |
| DATABASE | BACKUP JOURNAL | 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 | CONNECT REPLICATION | 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ÉER TOUT DATABASEEVENT SESSION | CRDS | SERVER | CREATE ANY 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 | CREATE ANY 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ÉPRÉCIER TOUT DATABASEEVENT SESSION | DRDS | SERVER | DÉPRÉCIER TOUT 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 | SUBSCRIBE QUERY NOTIFICATIONS | 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 | ALTER ANYENDPOINT |
| 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 | ALTER ANYFULLTEXT 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 | ALTER ANYFULLTEXT 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 | ALTER ANYLOGIN |
| 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 | ALTER ANYMESSAGE 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 | ALTER ANYREMOTE 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 | ALTER ANYROLE |
| 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 | ALTER ANYROUTE |
| 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 | ALTER ANYSCHEMA |
| 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 | ALTER ANYFULLTEXT 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 | ALTER ANYAVAILABILITY GROUP | ALAG | Non applicable | Non applicable |
| SERVER | MODIFIER TOUTE CONNEXION | ALCO | Non applicable | Non applicable |
| SERVER | ALTER ANYCREDENTIAL | ALCD | Non applicable | Non applicable |
| SERVER | ALTER ANYDATABASE | ALDB | Non applicable | Non applicable |
| SERVER | ALTER ANYENDPOINT | ALHE | Non applicable | Non applicable |
| SERVER | ALTER ANYEVENT NOTIFICATION | ALES | Non applicable | Non applicable |
| SERVER | ALTER ANYEVENT SESSION | AAES | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT EVENT SESSION ÉVÉNEMENT D'AJOUT | 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 | ACTIVER TOUT EVENT SESSION ACTIVER | EES | Non applicable | Non applicable |
| SERVER | MODIFIER TOUT EVENT SESSION OPTION | LESO | Non applicable | Non applicable |
| SERVER | ALTER ANY LINKED SERVER | ALLS | Non applicable | Non applicable |
| SERVER | ALTER ANYLOGIN | ALLG | Non applicable | Non applicable |
| SERVER | ALTER ANYSERVER AUDIT | ALAA | Non applicable | Non applicable |
| SERVER | ALTER ANYSERVER 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 | CONNECTER TOUT 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 | CREATE ANY 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 | EMPRUNTER L'IDENTITÉ DE TOUT 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 | ALTER ANYSERVER 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 | ALTER ANYSERVICE |
| 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 | ALTER ANYSYMMETRIC 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 | ALTER ANYUSER |
| 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 :
- CREATE ANY EVENT SESSION
- DÉPRÉCIER TOUT EVENT SESSION
- MODIFIER TOUT EVENT SESSION OPTION
- MODIFIER TOUT EVENT SESSION ÉVÉNEMENT D'AJOUT
- ALTER ANY EVENT SESSION DROP EVENT
- ACTIVER TOUT EVENT SESSION ACTIVER
- MODIFIER TOUT EVENT SESSION DÉSACTIVER
- MODIFIER TOUTE EVENT SESSION CIBLE D'AJOUT
- 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ÉER TOUT DATABASEEVENT SESSION
- DÉPRÉCIER TOUT DATABASEEVENT SESSION
- MODIFIER TOUT DATABASEEVENT SESSION OPTION
- MODIFIER TOUT DATABASEEVENT SESSION ÉVÉNEMENT D'AJOUT
- MODIFIER TOUT DATABASEEVENT SESSION ÉVÉNEMENT DE DÉPRÉCIATION
- ACTIVER TOUT DATABASEEVENT SESSION ACTIVER
- MODIFIER TOUT DATABASEEVENT SESSION DÉSACTIVER
- MODIFIER TOUTE DATABASEEVENT SESSION CIBLE D'AJOUT
- 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 D'ERREUR
- VIEW AUDIT DE SÉCURITÉ DU SERVEUR
- VIEW DATABASE AUDIT DE SÉCURITÉ
Autorisations de registre
- MODIFIER LE REGISTRE
- ALTER LEDGER CONFIGURATION
- 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