Machtigingen (database-engine)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Elk beveiligbaar SQL Server heeft gekoppelde machtigingen die aan een principal kunnen worden verleend. Machtigingen in de database-engine worden beheerd op serverniveau dat is toegewezen aan aanmeldingen en serverfuncties, en op databaseniveau dat is toegewezen aan databasegebruikers en databaserollen. Het model voor Azure SQL Database heeft hetzelfde systeem voor de databasemachtigingen, maar de machtigingen op serverniveau zijn niet beschikbaar. Dit artikel bevat de volledige lijst met machtigingen. Zie Aan de slag met database-enginemachtigingen voor een typische implementatie van de machtigingen.

Het totale aantal machtigingen voor SQL Server 2022 (16.x) is 292. Azure SQL Database biedt 292 machtigingen. De meeste machtigingen zijn van toepassing op alle platforms, maar sommige niet. De meeste machtigingen op serverniveau kunnen bijvoorbeeld niet worden verleend in Azure SQL Database en een paar machtigingen zijn alleen zinvol voor Azure SQL Database. Nieuwe machtigingen worden geleidelijk geïntroduceerd met nieuwe releases. SQL Server 2019 (15.x) biedt 248 machtigingen. SQL Server 2017 (14.x) heeft 238 machtigingen weergegeven. SQL Server 2016 (13.x) heeft 230 machtigingen weergegeven. SQL Server 2014 (12.x) heeft 219 machtigingen weergegeven. SQL Server 2012 (11.x) heeft 214 machtigingen beschikbaar gesteld. SQL Server 2008 R2 (10.50.x) heeft 195 machtigingen beschikbaar gesteld. Het sys.fn_builtin_permissions artikel geeft aan welke machtigingen nieuw zijn in recente versies.

In SQL Database in Microsoft Fabric worden alleen gebruikers en rollen op databaseniveau ondersteund. Aanmeldingen, rollen en het sa account op serverniveau zijn niet beschikbaar. In SQL Database in Microsoft Fabric is Microsoft Entra ID voor databasegebruikers de enige ondersteunde verificatiemethode. Zie Autorisatie in SQL Database in Microsoft Fabricvoor meer informatie.

Zodra u de vereiste machtigingen begrijpt, kunt u machtigingen op serverniveau toepassen op aanmeldingen of serverfuncties, en machtigingen op databaseniveau voor gebruikers of databaserollen, met behulp van de GRANTREVOKE, en DENY instructies. Voorbeeld:

GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;

Zie Aan de slag met database-enginemachtigingen voor tips over het plannen van een machtigingssysteem.

Naamconventies voor machtigingen

Hieronder worden de algemene conventies beschreven die worden gevolgd voor naamgevingsmachtigingen:

  • CONTROL

    Verleent eigendomsachtige mogelijkheden aan de grantee. De grantee heeft in feite alle gedefinieerde machtigingen voor het beveiligbaar. Een principal waaraan CONTROL is toegewezen, kan ook machtigingen verlenen voor de beveiligbare eenheid. Omdat het SQL Server-beveiligingsmodel hiërarchisch is, bevat CONTROL in een bepaald bereik impliciet CONTROL voor alle beveiligbare elementen onder dat bereik. Control voor een database impliceert bijvoorbeeld alle machtigingen voor de database, alle machtigingen voor alle assembly's in de database, alle machtigingen voor alle schema's in de database en alle machtigingen voor objecten binnen alle schema's in de database.

  • ALTER

    Geeft de mogelijkheid om de eigenschappen, met uitzondering van eigendom, van een bepaald beveiligbaar object te wijzigen. Wanneer aan een bereik wordt verleend, krijgt ALTER ook de mogelijkheid om een beveiligbaar te wijzigen, te maken of te verwijderen dat binnen dat bereik is opgenomen. De machtiging ALTER voor een schema bevat bijvoorbeeld de mogelijkheid om objecten uit het schema te maken, te wijzigen en neer te zetten.

  • ALTER ANY <Server Securable>, waarbij Server Securable elke server beveiligbaar kan zijn.

    Verleent de mogelijkheid om afzonderlijke exemplaren van het Server-beveiligd object te maken, te wijzigen of te verwijderen. ALTER ANY LOGIN verleent bijvoorbeeld de mogelijkheid om op het exemplaar alle aanmeldaccounts te maken, te wijzigen of te verwijderen.

  • ALTER ANY <Database Securable>, waarbij een Database Securable iets beveiligbaars kan zijn op databaseniveau.

    Biedt de mogelijkheid om afzonderlijke exemplaren van het database-object te maken, wijzigen of verwijderen. ALTER ANY SCHEMA biedt bijvoorbeeld de mogelijkheid om een schema in de database te maken, te wijzigen of te verwijderen.

  • NEEM EIGENAARSCHAP

    Hiermee kan de grantee eigenaar worden van het beveiligbare waarvoor deze wordt verleend.

  • IMITEREN <Inloggen>

    Hiermee kan de grantee de aanmelding imiteren.

  • IMITEER <Gebruiker>

    Hiermee kan de grantee de gebruiker imiteren.

  • CREATE Server <Beveiligbaar>

    Verleent de grante de mogelijkheid om de server te beveiligen.

  • CREATE Database <Beveiligbaar>

    Verleent de ontvanger de mogelijkheid om de Database Securable te creëren.

  • CREATE <Schema-beveiligbaar object>

    Geeft de mogelijkheid om beveiligbare objecten binnen het schema te creëren. Alter-machtigingen voor het schema zijn echter vereist om het beveiligbaar te maken in een bepaald schema.

  • VIEW DEFINITIE

    Hiermee kan de grantee toegang krijgen tot metagegevens.

  • REFERENCES

    Voor het creëren van een FOREIGN KEY-constraint die naar die tabel verwijst, is toestemming voor referenties op een tabel nodig.

    De machtiging REFERENCES is vereist voor een object om een FUNCTION of VIEW aan te maken met de WITH SCHEMABINDING-clausule die naar dat object verwijst.

Grafiek met SQL Server-machtigingen

In de volgende afbeelding ziet u de machtigingen en de bijbehorende relaties met elkaar. Sommige machtigingen op een hoger niveau (zoals CONTROL SERVER) worden vaak vermeld. In dit artikel is de poster veel te klein om te lezen. U kunt de Database Engine Permissions Poster in volledige grootte in PDF-formaat downloaden.

Schermopname van de PDF over machtigingen voor de database-engine.

Machtigingen die van toepassing zijn op specifieke beveiligbare objecten

De volgende tabel bevat de belangrijkste klassen machtigingen en de soorten beveiligbare items waarop ze kunnen worden toegepast.

Permission Van toepassing op:
ALTER Alle klassen van objecten behalve TYPE.
CONTROL Alle klassen van objecten:

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, en
XML SCHEMA COLLECTION
DELETE Alle klassen objecten behalve DATABASE SCOPED CONFIGURATIONSERVER en TYPE.
EXECUTE CLR-typen, externe scripts, procedures (Transact-SQL en CLR), scalaire en statistische functies (Transact-SQL en CLR) en synoniemen
IMPERSONATE Aanmeldingen en gebruikers
INSERT Synoniemen, tabellen en kolommen, weergaven en kolommen. Machtiging kan worden verleend op database-, schema- of objectniveau.
RECEIVE Service Broker-wachtrijen
REFERENCES AGGREGATE,
ASSEMBLY,
ASYMMETRIC KEY,
CERTIFICATE,
CONTRACT,
CREDENTIAL(geldt voor SQL Server 2022 (16.x) en hoger),
DATABASE,
DATABASE SCOPED CREDENTIAL,
FULLTEXT CATALOG,
FULLTEXT STOPLIST,
FUNCTION,
MESSAGE TYPE,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SEQUENCE OBJECT,
SYMMETRIC KEY,
TABLE,
TYPE,
VIEW, en
XML SCHEMA COLLECTION
SELECT Synoniemen, tabellen en kolommen, weergaven en kolommen. Machtiging kan worden verleend op database-, schema- of objectniveau.
NEEM VERANTWOORDELIJKHEID Alle klassen objecten behalve DATABASE SCOPED CONFIGURATION, LOGINSERVER en USER.
UPDATE Synoniemen, tabellen en kolommen, weergaven en kolommen. Machtiging kan worden verleend op database-, schema- of objectniveau.
VIEW WIJZIGINGEN BIJHOUDEN Schema's en tabellen
VIEW DEFINITIE Alle klassen van objecten behalve DATABASE SCOPED CONFIGURATION, en SERVER.

Caution

De standaardmachtigingen die worden verleend aan systeemobjecten op het moment van de installatie, worden zorgvuldig geëvalueerd tegen mogelijke bedreigingen en hoeven niet te worden gewijzigd als onderdeel van het beveiligen van de SQL Server-installatie. Wijzigingen in de machtigingen voor de systeemobjecten kunnen de functionaliteit beperken of verbreken en uw SQL Server-installatie mogelijk in een niet-ondersteunde status laten staan.

SQL Server-machtigingen

De volgende tabel bevat een volledige lijst met SQL Server-machtigingen. Azure SQL Database-machtigingen zijn alleen beschikbaar voor basisveiligbare objecten die worden ondersteund. Machtigingen op serverniveau kunnen niet worden verleend in Azure SQL Database, maar in sommige gevallen zijn databasemachtigingen beschikbaar.

Basis beveiligbaar Gedetailleerde machtigingen op basis van beveiligbare elementen Code voor machtigingstype Beveiligingsobject dat basisbeveiligingsobject bevat Machtiging voor een beveiligbare container die gedetailleerde machtigingen impliceert op een basis beveiligbaar object
APPLICATION ROLE ALTER AL DATABASE WIJZIG EEN APPLICATION ROLE
APPLICATION ROLE CONTROL CL DATABASE CONTROL
APPLICATION ROLE VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
ASSEMBLY ALTER AL DATABASE WIJZIG EEN ASSEMBLY
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY NEEM VERANTWOORDELIJKHEID TO DATABASE CONTROL
ASSEMBLY VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
ASYMMETRIC KEY ALTER AL DATABASE WIJZIG EEN ASYMMETRIC KEY
ASYMMETRIC KEY CONTROL CL DATABASE CONTROL
ASYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
ASYMMETRIC KEY NEEM VERANTWOORDELIJKHEID TO DATABASE CONTROL
ASYMMETRIC KEY VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
AVAILABILITY GROUP ALTER AL SERVER WIJZIG EEN AVAILABILITY GROUP
AVAILABILITY GROUP CONTROL CL SERVER besturingsserver
AVAILABILITY GROUP NEEM VERANTWOORDELIJKHEID TO SERVER besturingsserver
AVAILABILITY GROUP VIEW DEFINITIE VW SERVER VIEW ELKE DEFINITIE
CERTIFICATE ALTER AL DATABASE WIJZIG EEN CERTIFICATE
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE NEEM VERANTWOORDELIJKHEID TO DATABASE CONTROL
CERTIFICATE VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
CONTRACT ALTER AL DATABASE WIJZIG EEN CONTRACT
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT NEEM EIGENAARSCHAP TO DATABASE CONTROL
CONTRACT VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
CREDENTIAL CONTROL CL SERVER besturingsserver
CREDENTIAL REFERENCES RF SERVER WIJZIG EEN CREDENTIAL
DATABASE BEHEREN DATABASE BULKBEWERKINGEN DABO SERVER besturingsserver
DATABASE ALTER AL SERVER WIJZIG EEN DATABASE
DATABASE WIJZIG EEN APPLICATION ROLE ALAR SERVER besturingsserver
DATABASE WIJZIG EEN ASSEMBLY ALAS SERVER besturingsserver
DATABASE WIJZIG EEN ASYMMETRIC KEY ALAK SERVER besturingsserver
DATABASE WIJZIG EEN CERTIFICATE ALCF SERVER besturingsserver
DATABASE WIJZIG EEN COLUMN ENCRYPTION KEY ALCK

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE WIJZIG EEN COLUMN MASTER KEY ALCM

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE WIJZIG EEN CONTRACT ALSC SERVER besturingsserver
DATABASE ELKE DATABASE CONTROLE WIJZIGEN ALDA SERVER WIJZIG EEN SERVER AUDIT
DATABASE ALTER ANY DATABASE DDL TRIGGER ALTG SERVER besturingsserver
DATABASE WIJZIGEN VAN ELK WILLEKEURIG DATABASEEVENT NOTIFICATION ALED SERVER WIJZIG EEN EVENT NOTIFICATION
DATABASE ALTER ANY DATABASEEVENT SESSION AADS SERVER WIJZIG EEN EVENT SESSION
DATABASE ELKE DATABASEEVENT SESSION ADD-GEBEURTENIS WIJZIGEN LDAE SERVER EEN WILLEKEURIGE EVENT SESSION TOEVOEGGEBEURTENIS WIJZIGEN
DATABASE ELK DATABASEEVENT SESSION DOEL TOEVOEGEN WIJZIGEN LDAT SERVER EEN WILLEKEURIG EVENT SESSION DOEL TOEVOEGEN WIJZIGEN
DATABASE DATABASE EVENT SESSION UITSCHAKELEN WIJZIGEN DDES SERVER ALTER ANY EVENT SESSION UITSCHAKELEN
DATABASE DATABASE EVENT SESSION ELKE DROP-GEBEURTENIS WIJZIGEN LDDE SERVER EVENT SESSION ELKE DROP-GEBEURTENIS WIJZIGEN
DATABASE WIJZIG ELK DATABASEEVENT SESSION DROP TARGET LDDT SERVER ELK EVENT SESSION VERWIJDERDOEL WIJZIGEN
DATABASE DATABASE EVENT SESSION ALLE INSCHAKELEN WIJZIGEN EDES SERVER ALLE EVENT SESSION INSCHAKELEN WIJZIGEN
DATABASE DATABASE EVENT SESSION ELKE OPTIE WIJZIGEN LDSO SERVER EVENT SESSION ELKE OPTIE WIJZIGEN
DATABASE WIJZIG EEN DATABASE SCOPED CONFIGURATION ALDC

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE Wijzig elke dataspace ALDS SERVER besturingsserver
DATABASE WIJZIG EEN EXTERNAL DATA SOURCE AEDS SERVER besturingsserver
DATABASE WIJZIG EEN EXTERNAL FILE FORMAT AEFF SERVER besturingsserver
DATABASE Elke externe taak wijzigen AESJ SERVER besturingsserver
DATABASE WIJZIG EEN EXTERNAL LANGUAGE ALLA SERVER besturingsserver
DATABASE WIJZIG EEN EXTERNAL LIBRARY ALEL SERVER besturingsserver
DATABASE EEN EXTERNE STREAM WIJZIGEN AEST SERVER besturingsserver
DATABASE WIJZIG EEN FULLTEXT CATALOG ALFT SERVER besturingsserver
DATABASE WIJZIG EEN MASKERLAAG AAMK

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE WIJZIG EEN MESSAGE TYPE ALMT SERVER besturingsserver
DATABASE WIJZIG EEN REMOTE SERVICE BINDING ALSB SERVER besturingsserver
DATABASE WIJZIG EEN ROLE ALRL SERVER besturingsserver
DATABASE WIJZIG EEN ROUTE ALRT SERVER besturingsserver
DATABASE WIJZIG EEN SCHEMA ALSM SERVER besturingsserver
DATABASE WIJZIG EEN SECURITY POLICY ALSP

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE WIJZIG EEN SENSITIVITY CLASSIFICATION AASC
Is van toepassing op SQL Server (SQL Server 2019 (15.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE WIJZIG EEN SERVICE ALSV SERVER besturingsserver
DATABASE WIJZIG EEN SYMMETRIC KEY ALSK SERVER besturingsserver
DATABASE WIJZIG EEN USER ALUS SERVER besturingsserver
DATABASE ALTER LEDGER ALR SERVER CONTROL
DATABASE WIJZIGEN VAN GROOTBOEKCONFIGURATIE ALC SERVER besturingsserver
DATABASE AUTHENTICATE AUTH SERVER VERIFICATIESERVER
DATABASE BACKUP DATABASE BADB SERVER besturingsserver
DATABASE BACKUP LOG BALO SERVER besturingsserver
DATABASE CHECKPOINT CP SERVER besturingsserver
DATABASE CONNECT CO SERVER besturingsserver
DATABASE CONNECT-replicatie CORP SERVER besturingsserver
DATABASE CONTROL CL SERVER besturingsserver
DATABASE CREATE AGGREGATE CRAG SERVER besturingsserver
DATABASE MAAK ELKE DATABASEEVENT SESSION CRDS SERVER MAAK ELKE EVENT SESSION
DATABASE CREATE ASSEMBLY CRAS SERVER besturingsserver
DATABASE CREATE ASYMMETRIC KEY CRAK SERVER besturingsserver
DATABASE CREATE CERTIFICATE CRCF SERVER besturingsserver
DATABASE CREATE CONTRACT CRSC SERVER besturingsserver
DATABASE CREATE DATABASE CRDB SERVER MAAK ELKE DATABASE
DATABASE CREATE DATABASE DDL EVENT NOTIFICATION CRED SERVER DDL MAKEN EVENT NOTIFICATION
DATABASE CREATE DEFAULT CRDF SERVER besturingsserver
DATABASE CREATE EXTERNAL LANGUAGE CRLA SERVER besturingsserver
DATABASE CREATE EXTERNAL LIBRARY CREL SERVER besturingsserver
DATABASE CREATE FULLTEXT CATALOG CRFT SERVER besturingsserver
DATABASE CREATE FUNCTION CRFN SERVER besturingsserver
DATABASE CREATE MESSAGE TYPE CRMT SERVER besturingsserver
DATABASE CREATE PROCEDURE CRPR SERVER besturingsserver
DATABASE CREATE QUEUE CRQU SERVER besturingsserver
DATABASE CREATE REMOTE SERVICE BINDING CRSB SERVER besturingsserver
DATABASE CREATE ROLE CRRL SERVER besturingsserver
DATABASE CREATE ROUTE CRRT SERVER besturingsserver
DATABASE CREATE RULE CRRU SERVER besturingsserver
DATABASE CREATE SCHEMA CRSM SERVER besturingsserver
DATABASE CREATE SERVICE CRSV SERVER besturingsserver
DATABASE CREATE SYMMETRIC KEY CRSK SERVER besturingsserver
DATABASE CREATE SYNONYM CRSN SERVER besturingsserver
DATABASE CREATE TABLE CRTB SERVER besturingsserver
DATABASE CREATE TYPE CRTY SERVER besturingsserver
DATABASE CREATE USER CUSR SERVER besturingsserver
DATABASE CREATE VIEW CRVW SERVER besturingsserver
DATABASE CREATE XML SCHEMA COLLECTION CRXS SERVER besturingsserver
DATABASE DELETE DL SERVER besturingsserver
DATABASE DROP ANY DATABASEEVENT SESSION DRDS SERVER LAAT HIER IETS LOS EVENT SESSION
DATABASE GROOTBOEK INSCHAKELEN EL SERVER CONTROL
DATABASE EXECUTE EX SERVER besturingsserver
DATABASE EEN EXTERN COMMANDO UITVOEREN ENDPOINT EAEE SERVER besturingsserver
DATABASE EEN EXTERN SCRIPT UITVOEREN EAES

Van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige).
SERVER besturingsserver
DATABASE INSERT IN SERVER besturingsserver
DATABASE BEËINDIG DATABASE VERBINDING KIDC

Alleen van toepassing op Azure SQL Database. Gebruik ALTER ANY CONNECTION in SQL Server.
SERVER Eender welke verbinding wijzigen
DATABASE REFERENCES RF SERVER besturingsserver
DATABASE SELECT SL SERVER besturingsserver
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE (gebruikersmachtiging voor het traceren van gebeurtenissen)
DATABASE MELDINGEN VOOR ABONNEREN-QUERY'S SUQN SERVER besturingsserver
DATABASE NEEM EIGENAARSCHAP TO SERVER besturingsserver
DATABASE UNMASK UMSK

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER besturingsserver
DATABASE UPDATE UP SERVER besturingsserver
DATABASE VIEW WILLEKEURIGE COLUMN ENCRYPTION KEY DEFINITIE VWCK

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER VIEW SERVERSTATUS
DATABASE VIEW WILLEKEURIGE COLUMN MASTER KEY DEFINITIE VWCM

Is van toepassing op SQL Server (SQL Server 2016 (13.x) tot en met de huidige versie), Azure SQL Database.
SERVER VIEW SERVERSTATUS
DATABASE VIEW ALLE SENSITIVITY CLASSIFICATION VASC SERVER besturingsserver
DATABASE VIEW CRYPTOGRAFISCH BEVEILIGDE DEFINITIE VCD SERVER VIEW IEDERE CRYPTOGRAFISCH BEVEILIGDE DEFINITIE
DATABASE VIEW DATABASE PRESTATIESTATUS VDP SERVER VIEW SERVERPRESTATIESTATUS
DATABASE VIEW DATABASE BEVEILIGINGSCONTROLE VDSA SERVER besturingsserver
DATABASE VIEW DATABASE BEVEILIGINGSSTATUS VDS SERVER VIEW BEVEILIGINGSSTATUS VAN DE SERVER
DATABASE VIEW DATABASE STAAT VWDS SERVER VIEW SERVERSTATUS
DATABASE VIEW DEFINITIE VW SERVER VIEW ELKE DEFINITIE
DATABASE VIEW GROOTBOEKINHOUD VLC SERVER CONTROL
DATABASE VIEW BEVEILIGINGSDEFINITIE VWS SERVER VIEW ELKE BEVEILIGINGSDEFINITIE
DATABASE VIEW PRESTATIEDEFINITIE VWP SERVER VIEW ELKE PRESTATIEDEFINITIE
DATABASE SCOPED CREDENTIAL ALTER AL DATABASE CONTROL
DATABASE SCOPED CREDENTIAL CONTROL CL DATABASE CONTROL
DATABASE SCOPED CREDENTIAL REFERENCES RF DATABASE REFERENCES
DATABASE SCOPED CREDENTIAL NEEM EIGENAARSCHAP TO DATABASE CONTROL
DATABASE SCOPED CREDENTIAL VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
ENDPOINT ALTER AL SERVER WIJZIG EEN ENDPOINT
ENDPOINT CONNECT CO SERVER besturingsserver
ENDPOINT CONTROL CL SERVER besturingsserver
ENDPOINT NEEM EIGENAARSCHAP TO SERVER besturingsserver
ENDPOINT VIEW DEFINITIE VW SERVER VIEW ELKE DEFINITIE
FULLTEXT CATALOG ALTER AL DATABASE WIJZIG EEN FULLTEXT CATALOG
FULLTEXT CATALOG CONTROL CL DATABASE CONTROL
FULLTEXT CATALOG REFERENCES RF DATABASE REFERENCES
FULLTEXT CATALOG NEEM EIGENAARSCHAP TO DATABASE CONTROL
FULLTEXT CATALOG VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
FULLTEXT STOPLIST ALTER AL DATABASE WIJZIG EEN FULLTEXT CATALOG
FULLTEXT STOPLIST CONTROL CL DATABASE CONTROL
FULLTEXT STOPLIST REFERENCES RF DATABASE REFERENCES
FULLTEXT STOPLIST NEEM EIGENAARSCHAP TO DATABASE CONTROL
FULLTEXT STOPLIST VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
LOGIN ALTER AL SERVER WIJZIG EEN LOGIN
LOGIN CONTROL CL SERVER besturingsserver
LOGIN IMPERSONATE IM SERVER besturingsserver
LOGIN VIEW DEFINITIE VW SERVER VIEW ELKE DEFINITIE
MESSAGE TYPE ALTER AL DATABASE WIJZIG EEN MESSAGE TYPE
MESSAGE TYPE CONTROL CL DATABASE CONTROL
MESSAGE TYPE REFERENCES RF DATABASE REFERENCES
MESSAGE TYPE NEEM EIGENAARSCHAP TO DATABASE CONTROL
MESSAGE TYPE VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
OBJECT ALTER AL SCHEMA ALTER
OBJECT CONTROL CL SCHEMA CONTROL
OBJECT DELETE DL SCHEMA DELETE
OBJECT EXECUTE EX SCHEMA EXECUTE
OBJECT INSERT IN SCHEMA INSERT
OBJECT RECEIVE RC SCHEMA CONTROL
OBJECT REFERENCES RF SCHEMA REFERENCES
OBJECT SELECT SL SCHEMA SELECT
OBJECT NEEM EIGENAARSCHAP TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT VIEW WIJZIGINGEN BIJHOUDEN VWCT SCHEMA VIEW WIJZIGINGEN BIJHOUDEN
OBJECT VIEW DEFINITIE VW SCHEMA VIEW DEFINITIE
REMOTE SERVICE BINDING ALTER AL DATABASE WIJZIG EEN REMOTE SERVICE BINDING
REMOTE SERVICE BINDING CONTROL CL DATABASE CONTROL
REMOTE SERVICE BINDING NEEM EIGENAARSCHAP TO DATABASE CONTROL
REMOTE SERVICE BINDING VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
ROLE ALTER AL DATABASE WIJZIG EEN ROLE
ROLE CONTROL CL DATABASE CONTROL
ROLE NEEM EIGENAARSCHAP TO DATABASE CONTROL
ROLE VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
ROUTE ALTER AL DATABASE WIJZIG EEN ROUTE
ROUTE CONTROL CL DATABASE CONTROL
ROUTE NEEM EIGENAARSCHAP TO DATABASE CONTROL
ROUTE VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
SCHEMA ALTER AL DATABASE WIJZIG EEN SCHEMA
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA CREATE SEQUENCE CRSO DATABASE CONTROL
SCHEMA DELETE DL DATABASE DELETE
SCHEMA EXECUTE EX DATABASE EXECUTE
SCHEMA INSERT IN DATABASE INSERT
SCHEMA REFERENCES RF DATABASE REFERENCES
SCHEMA SELECT SL DATABASE SELECT
SCHEMA NEEM EIGENAARSCHAP TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA VIEW WIJZIGINGEN BIJHOUDEN VWCT DATABASE VIEW WIJZIGINGEN BIJHOUDEN
SCHEMA VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
SEARCH PROPERTY LIST ALTER AL SERVER WIJZIG EEN FULLTEXT CATALOG
SEARCH PROPERTY LIST CONTROL CL SERVER CONTROL
SEARCH PROPERTY LIST REFERENCES RF SERVER REFERENCES
SEARCH PROPERTY LIST NEEM EIGENAARSCHAP TO SERVER CONTROL
SEARCH PROPERTY LIST VIEW DEFINITIE VW SERVER VIEW DEFINITIE
SERVER BULKBEWERKINGEN BEHEREN ADBO Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN AVAILABILITY GROUP ALAG Niet van toepassing Niet van toepassing
SERVER Eender welke verbinding wijzigen ALCO Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN CREDENTIAL ALCD Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN DATABASE ALDB Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN ENDPOINT ALHE Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN EVENT NOTIFICATION ALES Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN EVENT SESSION AAES Niet van toepassing Niet van toepassing
SERVER EEN WILLEKEURIGE EVENT SESSION TOEVOEGGEBEURTENIS WIJZIGEN LSAE Niet van toepassing Niet van toepassing
SERVER EEN WILLEKEURIG EVENT SESSION DOEL TOEVOEGEN WIJZIGEN LSAT Niet van toepassing Niet van toepassing
SERVER ALTER ANY EVENT SESSION UITSCHAKELEN DES Niet van toepassing Niet van toepassing
SERVER EVENT SESSION ELKE DROP-GEBEURTENIS WIJZIGEN LSDE Niet van toepassing Niet van toepassing
SERVER ELK EVENT SESSION VERWIJDERDOEL WIJZIGEN LSDT Niet van toepassing Niet van toepassing
SERVER ALLE EVENT SESSION INSCHAKELEN WIJZIGEN EES Niet van toepassing Niet van toepassing
SERVER EVENT SESSION ELKE OPTIE WIJZIGEN LESO Niet van toepassing Niet van toepassing
SERVER EEN GEKOPPELDE SERVER WIJZIGEN ALLS Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN LOGIN ALLG Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN SERVER AUDIT ALAA Niet van toepassing Niet van toepassing
SERVER WIJZIG EEN SERVER ROLE ALSR Niet van toepassing Niet van toepassing
SERVER WIJZIG HULPBRONNEN ALRS Niet van toepassing Niet van toepassing
SERVER Serverstatus wijzigen ALSS Niet van toepassing Niet van toepassing
SERVER INSTELLINGEN WIJZIGEN ALST Niet van toepassing Niet van toepassing
SERVER ALTER TRACE (gebruikersmachtiging voor het traceren van gebeurtenissen) ALTR Niet van toepassing Niet van toepassing
SERVER VERIFICATIESERVER AUTH Niet van toepassing Niet van toepassing
SERVER VERBIND ELK DATABASE CADB Niet van toepassing Niet van toepassing
SERVER VERBINDING MAKEN MET SQL COSQ Niet van toepassing Niet van toepassing
SERVER besturingsserver CL Niet van toepassing Niet van toepassing
SERVER MAAK ELKE DATABASE CRDB Niet van toepassing Niet van toepassing
SERVER CREATE AVAILABILITY GROUP CRAC Niet van toepassing Niet van toepassing
SERVER DDL MAKEN EVENT NOTIFICATION CRDE Niet van toepassing Niet van toepassing
SERVER CREATE ENDPOINT CRHE Niet van toepassing Niet van toepassing
SERVER CREATE SERVER ROLE CRSR Niet van toepassing Niet van toepassing
SERVER CREATE TRACE EVENT NOTIFICATION CRTE Niet van toepassing Niet van toepassing
SERVER EXTERNE TOEGANG ASSEMBLY XA Niet van toepassing Niet van toepassing
SERVER ELKE IMITATIE IMITEREN LOGIN IAL Niet van toepassing Niet van toepassing
SERVER ALLE USER BEVEILIGBARE OBJECTEN SELECTEREN SUS Niet van toepassing Niet van toepassing
SERVER SHUTDOWN SHDN Niet van toepassing Niet van toepassing
SERVER ONVEILIG ASSEMBLY XU Niet van toepassing Niet van toepassing
SERVER VIEW ALLE DATABASE VWDB Niet van toepassing Niet van toepassing
SERVER VIEW ELKE DEFINITIE VWAD Niet van toepassing Niet van toepassing
SERVER VIEW SERVERSTATUS VWSS Niet van toepassing Niet van toepassing
SERVER ROLE ALTER AL SERVER WIJZIG EEN SERVER ROLE
SERVER ROLE CONTROL CL SERVER besturingsserver
SERVER ROLE NEEM EIGENAARSCHAP TO SERVER besturingsserver
SERVER ROLE VIEW DEFINITIE VW SERVER VIEW ELKE DEFINITIE
SERVICE ALTER AL DATABASE WIJZIG EEN SERVICE
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE NEEM EIGENAARSCHAP TO DATABASE CONTROL
SERVICE VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
SYMMETRIC KEY ALTER AL DATABASE WIJZIG EEN SYMMETRIC KEY
SYMMETRIC KEY CONTROL CL DATABASE CONTROL
SYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
SYMMETRIC KEY NEEM EIGENAARSCHAP TO DATABASE CONTROL
SYMMETRIC KEY VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE NEEM EIGENAARSCHAP TO SCHEMA CONTROL
TYPE VIEW DEFINITIE VW SCHEMA VIEW DEFINITIE
USER ALTER AL DATABASE WIJZIG EEN USER
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VIEW DEFINITIE VW DATABASE VIEW DEFINITIE
XML SCHEMA COLLECTION ALTER AL SCHEMA ALTER
XML SCHEMA COLLECTION CONTROL CL SCHEMA CONTROL
XML SCHEMA COLLECTION EXECUTE EX SCHEMA EXECUTE
XML SCHEMA COLLECTION REFERENCES RF SCHEMA REFERENCES
XML SCHEMA COLLECTION NEEM EIGENAARSCHAP TO SCHEMA CONTROL
XML SCHEMA COLLECTION VIEW DEFINITIE VW SCHEMA VIEW DEFINITIE

Nieuwe gedetailleerde machtigingen toegevoegd aan SQL Server 2022

De volgende machtigingen worden toegevoegd aan SQL Server 2022:

  • Er zijn 10 nieuwe machtigingen toegevoegd om toegang tot systeemmetagegevens toe te staan.

  • Er zijn 18 nieuwe machtigingen toegevoegd voor uitgebreide gebeurtenissen.

  • Er zijn 9 nieuwe machtigingen toegevoegd met betrekking tot beveiligingsgerelateerde objecten.

  • Er zijn 4 machtigingen toegevoegd voor Ledger.

  • 3 extra databasemachtigingen.

Zie nieuwe gedetailleerde machtigingen voor SQL Server 2022 en Azure SQL om de naleving van PoLP te verbeteren voor meer informatie.

Toegang tot machtigingen voor systeemmetagegevens

Serverniveau:

  • VIEW ELKE BEVEILIGINGSDEFINITIE
  • VIEW ELKE PRESTATIEDEFINITIE
  • VIEW BEVEILIGINGSSTATUS VAN DE SERVER
  • VIEW SERVERPRESTATIESTATUS
  • VIEW IEDERE CRYPTOGRAFISCH BEVEILIGDE DEFINITIE

Databaseniveau:

  • VIEW DATABASE BEVEILIGINGSSTATUS
  • VIEW DATABASE PRESTATIESTATUS
  • VIEW BEVEILIGINGSDEFINITIE
  • VIEW PRESTATIEDEFINITIE
  • VIEW CRYPTOGRAFISCH BEVEILIGDE DEFINITIE

Uitgebreide gebeurtenissenmachtigingen

Serverniveau:

  • MAAK ELKE EVENT SESSION
  • LAAT HIER IETS LOS EVENT SESSION
  • EVENT SESSION ELKE OPTIE WIJZIGEN
  • EEN WILLEKEURIGE EVENT SESSION TOEVOEGGEBEURTENIS WIJZIGEN
  • EVENT SESSION ELKE DROP-GEBEURTENIS WIJZIGEN
  • ALLE EVENT SESSION INSCHAKELEN WIJZIGEN
  • ALTER ANY EVENT SESSION UITSCHAKELEN
  • EEN WILLEKEURIG EVENT SESSION DOEL TOEVOEGEN WIJZIGEN
  • ELK EVENT SESSION VERWIJDERDOEL WIJZIGEN

Al deze machtigingen vallen onder dezelfde bovenliggende machtiging: ALTER ANY EVENT SESSION

Databaseniveau:

  • MAAK ELKE DATABASEEVENT SESSION
  • DROP ANY DATABASEEVENT SESSION
  • DATABASE EVENT SESSION ELKE OPTIE WIJZIGEN
  • ELKE DATABASEEVENT SESSION ADD-GEBEURTENIS WIJZIGEN
  • DATABASE EVENT SESSION ELKE DROP-GEBEURTENIS WIJZIGEN
  • DATABASE EVENT SESSION ALLE INSCHAKELEN WIJZIGEN
  • DATABASE EVENT SESSION UITSCHAKELEN WIJZIGEN
  • ELK DATABASEEVENT SESSION DOEL TOEVOEGEN WIJZIGEN
  • WIJZIG ELK DATABASEEVENT SESSION DROP TARGET

Al deze machtigingen vallen onder dezelfde bovenliggende machtiging: ALTER ANY DATABASEEVENT SESSION

  • CONTROL (CREDENTIAL)
  • CREATE LOGIN
  • CREATE USER
  • REFERENTIES (CREDENTIAL)
  • DEMASKEREN (OBJECT)
  • DEMASKEREN (SCHEMA)
  • VIEW elk foutenlogboek
  • VIEW SERVERBEVEILIGINGSAUDIT
  • VIEW DATABASE BEVEILIGINGSCONTROLE

Grootboekmachtigingen

  • ALTER LEDGER
  • WIJZIGEN VAN GROOTBOEKCONFIGURATIE
  • GROOTBOEK INSCHAKELEN
  • VIEW GROOTBOEKINHOUD

Andere databasemachtigingen

  • Elke externe taak wijzigen
  • EEN EXTERNE STREAM WIJZIGEN
  • EEN EXTERN COMMANDO UITVOEREN ENDPOINT

Samenvatting van het algoritme voor machtigingscontrole

Het controleren van machtigingen kan complex zijn. Het algoritme voor machtigingscontrole omvat overlappende groepslidmaatschappen en eigendomsketens, zowel expliciete als impliciete machtigingen, en kan worden beïnvloed door de machtigingen voor beveiligbare klassen die de beveiligbare entiteit bevatten. Het algemene proces van het algoritme is het verzamelen van alle relevante machtigingen. Als er geen blokkering DENY wordt gevonden, zoekt het algoritme naar een GRANT algoritme dat voldoende toegang biedt. Het algoritme bevat drie essentiële elementen, de beveiligingscontext, de machtigingsruimte en de vereiste machtiging.

Note

U kunt geen machtigingen verlenen, weigeren of intrekken voorsadbo, de eigenaar van de entiteit, information_schemasysof uzelf.

  • Beveiligingscontext

    Dit is de groep gebruikers die machtigingen verlenen voor de toegangscontrole. Dit zijn machtigingen die zijn gerelateerd aan de huidige aanmelding of gebruiker, tenzij de beveiligingscontext is gewijzigd in een andere aanmelding of gebruiker met behulp van de EXECUTE AS instructie. De beveiligingscontext bevat de volgende principals:

    • De aanmelding

    • De gebruiker

    • Rollidmaatschappen

    • Windows-groepslidmaatschappen

    • Als moduleondertekening wordt gebruikt, worden aanmeldings- of gebruikersaccounts voor het certificaat gebruikt om de module te ondertekenen die de gebruiker momenteel uitvoert en de bijbehorende rollidmaatschappen van die principal.

  • Toestemmingsruimte

    Dit is de beveiligbare entiteit en eventuele beveiligbare klassen die de beveiligbare entiteit bevatten. Een tabel (een beveiligbare entiteit) is bijvoorbeeld opgenomen in de beveiligbare klasse van het schema en door de beveiligbare klasse van de database. Toegang kan worden beïnvloed door machtigingen op tabel-, schema-, database- en serverniveau. Zie Machtigingenhiërarchie (database-engine) voor meer informatie.

  • Vereiste machtiging

    Het type machtiging dat is vereist. Bijvoorbeeld, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL, enzovoort.

    Access kan meerdere machtigingen vereisen, zoals in de volgende voorbeelden:

    • Een opgeslagen procedure kan zowel de EXECUTE-machtiging voor de opgeslagen procedure als de machtiging INSERT vereisen voor verschillende tabellen waarnaar de opgeslagen procedure verwijst.

    • Een dynamische beheerweergave kan zowel VIEW SERVERSTATUS als SELECT-machtiging vereisen voor de weergave.

Algemene stappen van het algoritme

Wanneer het algoritme bepaalt of toegang tot een object dat beveiligd kan worden is toegestaan, kunnen de exacte stappen die het gebruikt variëren, afhankelijk van de betrokken partijen en de beveiligbare objecten. Het algoritme voert echter de volgende algemene stappen uit:

  1. Overslaan van de machtigingscontrole of de aanmelding lid is van de vaste serverfunctie sysadmin of als de gebruiker de dbo-gebruiker in de huidige database is.

  2. Toegang toestaan als eigendomsketen van toepassing is en de toegangscontrole van het eerdere object in de keten de beveiligingscontrole heeft doorstaan.

  3. Aggregeren de identiteiten op serverniveau, databaseniveau en ondertekende module die zijn gekoppeld aan de aanroeper om de beveiligingscontext te maken.

  4. Verzamel voor deze beveiligingscontext alle machtigingen die worden verleend of geweigerd voor de machtigingsruimte. De toestemming kan expliciet worden vermeld als een GRANT, GRANT MET GRANT, of DENY; of de toestemmingen kunnen een impliciete of overkoepelende toestemming GRANT of DENY zijn. Control-machtiging voor een schema impliceert bijvoorbeeld CONTROL in een tabel. En CONTROL in een tabel impliceert SELECT. Als CONTROL voor het schema is verleend, wordt SELECT in de tabel daarom verleend. Als CONTROL op de tabel wordt geweigerd, wordt SELECT ook op de tabel geweigerd.

    Note

    Een GRANT machtiging op kolomniveau overschrijft een DENY op objectniveau. Zie DENY Objectmachtigingen voor meer informatie.

  5. Identificeer de vereiste machtiging.

  6. Mislukt de machtigingscontrole als de vereiste machtiging rechtstreeks of impliciet wordt geweigerd voor een van de identiteiten in de beveiligingscontext voor de objecten in de machtigingsruimte.

  7. Doorsta de machtigingscontrole als de vereiste machtiging niet is afgewezen en de vereiste machtiging een GRANT of een GRANT met GRANT-machtiging bevat, die rechtstreeks of impliciet is verleend aan een van de identiteiten in de beveiligingscontext voor elk object in de machtigingsruimte.

Speciale overwegingen voor machtigingen op kolomniveau

Machtigingen op kolomniveau worden verleend met de syntaxis <table_name>(<kolom _name>). Voorbeeld:

GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;

Een DENY op de tabel wordt overschreven door een GRANT op een kolom. Een volgende DENY op de tabel zal echter de kolom GRANT verwijderen.

Examples

In de voorbeelden in deze sectie ziet u hoe u informatie over machtigingen ophaalt.

A. De volledige lijst met toekenningsmachtigingen retourneren

De volgende instructie retourneert alle machtigingen van de database-engine met behulp van de functie fn_builtin_permissions. Zie sys.fn_builtin_permissions voor meer informatie.

SELECT * FROM fn_builtin_permissions(default);
GO

B. De machtigingen voor een bepaalde klasse objecten retourneren

Het volgende voorbeeld gebruikt fn_builtin_permissions om alle machtigingen te bekijken die beschikbaar zijn voor een categorie beveiligbaar. In het voorbeeld worden machtigingen voor assembly's geretourneerd.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Geef de machtigingen terug die zijn verleend aan de uitvoerende instantie op een object

Het volgende voorbeeld gebruikt fn_my_permissions om een lijst met effectieve machtigingen te retourneren die worden gehouden door de aanroepende principal op een bepaald beveiligbaar object. In het voorbeeld worden machtigingen geretourneerd voor een object met de naam Orders55. Zie sys.fn_my_permissions voor meer informatie.

SELECT * FROM fn_my_permissions('Orders55', 'object');
GO

D. De machtigingen retourneren die van toepassing zijn op een opgegeven object

In het volgende voorbeeld worden machtigingen geretourneerd die van toepassing zijn op een object met de naam Yttrium. De ingebouwde functie OBJECT_ID wordt gebruikt om de id van het object Yttriumop te halen.

SELECT * FROM sys.database_permissions
    WHERE major_id = OBJECT_ID('Yttrium');
GO