Behörigheter (databasmotor)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

Varje SQL Server-säkerhetsobjekt har associerade behörigheter som kan beviljas till en säkerhetsprincip. Behörigheter i databasmotorn hanteras på servernivå som tilldelats inloggningar och serverroller och på databasnivå som tilldelats databasanvändare och databasroller. Modellen för Azure SQL Database har samma system för databasbehörigheterna, men behörigheterna på servernivå är inte tillgängliga. Den här artikeln innehåller den fullständiga listan över behörigheter. En typisk implementering av behörigheterna finns i Komma igång med databasmotorbehörigheter.

Det totala antalet behörigheter för SQL Server 2022 (16.x) är 292. Azure SQL Database exponerar 292 behörigheter. De flesta behörigheter gäller för alla plattformar, men vissa inte. De flesta behörigheter på servernivå kan till exempel inte beviljas i Azure SQL Database, och några få behörigheter är bara meningsfulla för Azure SQL Database. Nya behörigheter introduceras gradvis med nya versioner. SQL Server 2019 (15.x) exponerar 248 behörigheter. SQL Server 2017 (14.x) exponerade 238 behörigheter. SQL Server 2016 (13.x) exponerade 230 behörigheter. SQL Server 2014 (12.x) exponerar 219 behörigheter. SQL Server 2012 (11.x) exponerade 214 behörigheter. SQL Server 2008 R2 (10.50.x) visade 195 behörigheter. Artikeln sys.fn_builtin_permissions anger vilka behörigheter som är nya i de senaste versionerna.

I SQL-databasen i Microsoft Fabric stöds endast användare och roller på databasnivå. Inloggningar, roller och sa kontot på servernivå är inte tillgängliga. I SQL Database i Microsoft Fabric är Microsoft Entra-ID för databasanvändare den enda autentiseringsmetod som stöds. Mer information finns i Auktorisering i SQL-databasen i Microsoft Fabric.

När du förstår vilka behörigheter som krävs kan du använda behörigheter på servernivå för inloggningar eller serverroller och behörigheter på databasnivå för användare eller databasroller med hjälp av satserna GRANT, REVOKE och DENY . Till exempel:

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

Tips om hur du planerar ett behörighetssystem finns i Komma igång med databasmotorbehörigheter.

Namngivningskonventioner för behörigheter

Följande beskriver de allmänna konventioner som följs för namngivningsbehörigheter:

  • CONTROL

    Ger bidragsmottagaren ägarskapsliknande funktioner. Beviljaren har i praktiken alla definierade behörigheter för det skyddbara objektet. En användare som har beviljats KONTROLL kan också tilldela behörigheter på säkerhetsobjektet. Eftersom SQL Server-säkerhetsmodellen är hierarkisk innehåller CONTROL i ett visst omfång implicit KONTROLL för alla skyddsbara objekt under det omfånget. Kontroll på en databas innebär till exempel alla behörigheter för databasen, alla behörigheter för alla sammansättningar i databasen, alla behörigheter för alla scheman i databasen och alla behörigheter för objekt i alla scheman i databasen.

  • ALTER

    Ger förmågan att ändra egenskaper, förutom ägarskap, för ett visst skyddsobjekt. När ALTER beviljas inom ett omfång ger det också möjlighet att ändra, skapa eller ta bort alla säkerhetsobjekt som finns inom det omfånget. Till exempel innehåller ALTER-behörigheten för ett schema möjligheten att skapa, ändra och släppa objekt från schemat.

  • ÄNDRA ALLA <serversäkra,> där Server Securable kan vara valfri server som kan skyddas.

    Ger möjlighet att skapa, ändra eller släppa enskilda instanser av Server Securable. Till exempel ger ALTER ANY LOGIN möjlighet att skapa, ändra eller släppa alla inloggningar i instansen.

  • ÄNDRA ALLA <säkringsobjekt i databasen>, där säkringsobjekt kan vara vilket som helst säkerhetsrelaterat objekt på databasnivå.

    Ger möjlighet att skapa, ÄNDRA eller SLÄPPA enskilda instanser av databasen som kan säkras. Till exempel ger ALTER ANY SCHEMA möjlighet att skapa, ändra eller släppa ett schema i databasen.

  • TA ÄGARSKAP

    Gör det möjligt för den beviljade att ta över ägarskapet för den skyddade enheten som de beviljas för.

  • < LOGIN SOM EN ANNAN ANVÄNDARE inloggning>

    Gör att beviljaren kan personifiera inloggningen.

  • < PERSONIFIERA användare>

    Gör att beviljaren kan personifiera användaren.

  • CREATE <Server Securable>

    Ger mottagaren möjligheten att skapa Server Securable.

  • CREATE <Database Securable>

    Ger mottagaren möjligheten att skapa databassäkerhet.

  • CREATE <Schema-contained Securable>

    Ger möjlighet att skapa det schemabaserade skyddbara objektet. För att skapa säkerhetsobjekt i ett visst schema krävs behörighet att ändra på schemat.

  • VISA DEFINITION

    Gör det möjligt för den som beviljar åtkomst till metadata.

  • REFERENCES

    Behörigheten REFERENSER i en tabell behövs för att skapa en FOREIGN KEY-begränsning som refererar till tabellen.

    Behörigheten REFERENSER krävs för ett objekt för att skapa en FUNKTION eller VY med WITH SCHEMABINDING satsen som refererar till objektet.

Diagram över SQL Server-behörigheter

Följande bild visar behörigheter och deras relationer till varandra. Vissa behörigheter på högre nivå (till exempel CONTROL SERVER) visas många gånger. I den här artikeln är affischen alldeles för liten för att läsa. Du kan ladda ned den fullstora postern över behörigheter för databasmotorn i PDF-format.

Skärmbild från PDF-filen med behörigheter för databasmotorn.

Behörigheter som gäller för specifika skyddsbara filer

I följande tabell visas större behörighetsklasser och vilka typer av skyddsbara filer som de kan tillämpas på.

Permission Gäller för
ALTER Alla objektklasser utom TYPE.
CONTROL Alla objektklasser:

AGGREGATE,
APPLIKATIONSROLL
ASSEMBLY,
ASYMMETRISK NYCKEL
TILLGÄNGLIGHETSGRUPP,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
DATABASE,
DATABASOMFÅNGAD AUTENTISERINGSUPPGIFT,
DEFAULT,
ENDPOINT,
Fulltextkatalog
STOPPLISTA FÖR FULLTEXTSÖKNING
FUNCTION,
LOGIN,
MEDDELANDETYP,
PROCEDURE,
QUEUE,
FJÄRRTJÄNSTBINDNING,
ROLE,
ROUTE,
RULE,
SCHEMA,
SÖK FASTIGHETSLISTA
SERVER,
Serverroll
SERVICE,
SYMMETRISK NYCKEL
SYNONYM,
TABLE,
TYPE,
USER,
VISA och
XML-schema-samling
DELETE Alla objektklasser utom DATABASE SCOPED CONFIGURATION, SERVER och TYPE.
EXECUTE CLR-typer, externa skript, procedurer (Transact-SQL och CLR), skalär- och aggregeringsfunktioner (Transact-SQL och CLR) och synonymer
IMPERSONATE Inloggningar och användare
INSERT Synonymer, tabeller och kolumner, vyer och kolumner. Behörighet kan beviljas på databas-, schema- eller objektnivå.
RECEIVE Service Broker-köer
REFERENCES AGGREGATE,
ASSEMBLY,
ASYMMETRISK NYCKEL
CERTIFICATE,
CONTRACT,
CREDENTIAL (gäller för SQL Server 2022 (16.x) och senare),
DATABASE,
DATABASOMFÅNGAD AUTENTISERINGSUPPGIFT,
FULLTEXTKATALOG,
STOPPLISTA FÖR FULLTEXT,
FUNCTION,
MEDDELANDETYP,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
SÖK FASTIGHETSLISTA
SEKVENSOBJEKT,
SYMMETRISK NYCKEL,
TABLE,
TYPE,
VISA och
XML-schema-samling
SELECT Synonymer, tabeller och kolumner, vyer och kolumner. Behörighet kan beviljas på databas-, schema- eller objektnivå.
TA ÄGARSKAP Alla objektklasser utom DATABASE SCOPED CONFIGURATION, LOGIN, SERVER och USER.
UPDATE Synonymer, tabeller och kolumner, vyer och kolumner. Behörighet kan beviljas på databas-, schema- eller objektnivå.
VISA ÄNDRINGSSPÅRNING Scheman och tabeller
VISA DEFINITION Alla objektklasser utom DATABASE SCOPED CONFIGURATION och SERVER.

Caution

De standardbehörigheter som beviljas systemobjekt vid tidpunkten för installationen utvärderas noggrant mot möjliga hot och behöver inte ändras som en del av härdningen av SQL Server-installationen. Eventuella ändringar av behörigheterna för systemobjekten kan begränsa eller bryta funktionerna och eventuellt lämna SQL Server-installationen i ett tillstånd som inte stöds.

SQL Server-behörigheter

Följande tabell innehåller en fullständig lista över SQL Server-behörigheter. Behörigheter i Azure SQL Database är endast tillgängliga för grundläggande säkerhetsobjekt som stöds. Behörigheter på servernivå kan inte beviljas i Azure SQL Database, men i vissa fall är databasbehörigheter tillgängliga i stället.

Bas som kan säkras Detaljerade behörigheter för grundläggande säkerhetsobjekt Typkod för behörighet Säkerhetsobjekt som innehåller grundläggande säkerhetsobjekt Behörighet för container som kan säkras som innebär detaljerad behörighet för grundläggande skydd
APPLIKATIONSROLL ALTER AL DATABASE ÄNDRA VILKEN PROGRAMROLL SOM HELST
APPLIKATIONSROLL CONTROL CL DATABASE CONTROL
APPLIKATIONSROLL VISA DEFINITION VW DATABASE VISA DEFINITION
ASSEMBLY ALTER AL DATABASE ÄNDRA ALLA SAMMANSÄTTNINGAR
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY TA ÄGARSKAP TO DATABASE CONTROL
ASSEMBLY VISA DEFINITION VW DATABASE VISA DEFINITION
ASYMMETRISK NYCKEL ALTER AL DATABASE ÄNDRA ASYMMETRISK NYCKEL
ASYMMETRISK NYCKEL CONTROL CL DATABASE CONTROL
ASYMMETRISK NYCKEL REFERENCES RF DATABASE REFERENCES
ASYMMETRISK NYCKEL TA ÄGARSKAP TO DATABASE CONTROL
ASYMMETRISK NYCKEL VISA DEFINITION VW DATABASE VISA DEFINITION
TILLGÄNGLIGHETSGRUPP ALTER AL SERVER ÄNDRA VALFRI TILLGÄNGLIGHETSGRUPP
TILLGÄNGLIGHETSGRUPP CONTROL CL SERVER KONTROLLSERVER
TILLGÄNGLIGHETSGRUPP TA ÄGARSKAP TO SERVER KONTROLLSERVER
TILLGÄNGLIGHETSGRUPP VISA DEFINITION VW SERVER SE NÅGON DEFINITION
CERTIFICATE ALTER AL DATABASE ÄNDRA ALLA CERTIFIKAT
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE TA ÄGARSKAP TO DATABASE CONTROL
CERTIFICATE VISA DEFINITION VW DATABASE VISA DEFINITION
CONTRACT ALTER AL DATABASE ÄNDRA ALLA KONTRAKT
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT TA ÄGARSKAP TO DATABASE CONTROL
CONTRACT VISA DEFINITION VW DATABASE VISA DEFINITION
CREDENTIAL CONTROL CL SERVER KONTROLLSERVER
CREDENTIAL REFERENCES RF SERVER ÄNDRA EVENTUELLA AUTENTISERINGSUPPGIFTER
DATABASE ADMINISTRERA MASSOPERATIONER FÖR DATABAS DABO SERVER KONTROLLSERVER
DATABASE ALTER AL SERVER ÄNDRA EN DATABAS
DATABASE ÄNDRA VILKEN PROGRAMROLL SOM HELST ALAR SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA SAMMANSÄTTNINGAR ALAS SERVER KONTROLLSERVER
DATABASE ÄNDRA ASYMMETRISK NYCKEL ALAK SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA CERTIFIKAT ALCF SERVER KONTROLLSERVER
DATABASE ÄNDRA NÅGON KOLUMNKRYPTERINGSNYCKEL ALCK

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE ÄNDRA VALFRI KOLUMNHUVUDNYCKEL ALCM

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA KONTRAKT ALSC SERVER KONTROLLSERVER
DATABASE ÄNDRA VILKEN DATABASGRANSKNING SOM HELST ALDA SERVER ÄNDRA SERVERGRANSKNING
DATABASE ÄNDRA VALFRI DATABAS-DDL-UTLÖSARE ALTG SERVER KONTROLLSERVER
DATABASE ÄNDRA EVENTUELLA DATABASHÄNDELSEMEDDELANDEN ALED SERVER ÄNDRA HÄNDELSEMEDDELANDEN
DATABASE ÄNDRA EN DATABASHÄNDELSESESSION AADS SERVER ÄNDRA HÄNDELSESESSIONER
DATABASE ÄNDRA ALLA DATABASHÄNDELSESESSIONER LÄGG TILL HÄNDELSE LDAE SERVER ÄNDRA VILKEN HÄNDELSESESSION SOM HELST, LÄGG TILL HÄNDELSE
DATABASE ÄNDRA ALLA DATABASHÄNDELSESESSIONER LÄGG TILL MÅL LDAT SERVER ÄNDRA HÄNDELSESESSIONER OCH LÄGG TILL MÅL
DATABASE ALTERERA ALLA DATABASHÄNDELSESESSIONER INAKTIVERA DDES SERVER ÄNDRA VILKEN SOM HELST HÄNDELSESESSION INAKTIVERA
DATABASE ÄNDRA ALLA DATABASHÄNDELSESESSIONER FÖR ATT TA BORT HÄNDELSE LDDE SERVER Ändra vilken händelsesession som helst och ta bort händelse
DATABASE ÄNDRA VALFRITT MÅL FÖR ATT TA BORT DATABASHÄNDELSESESSIONER LDDT SERVER ÄNDRA ALLA MÅL FÖR HÄNDELSESESSIONSAVLÄMNING
DATABASE ÄNDRA ALLA AKTIVERADE DATABASHÄNDELSESESSIONER EDES SERVER ÄNDRA ALLA AKTIVERADE HÄNDELSERSESSIONER
DATABASE ÄNDRA ALTERNATIV FÖR SESSION FÖR DATABASHÄNDELSE LDSO SERVER ÄNDRA VALFRI INSTÄLLNING FÖR HÄNDELSESESSION
DATABASE ÄNDRA VARJE DATABAS-SPECIFIK KONFIGURATION ALDC

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA DATARYMDER ALDS SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA EXTERNA DATAKÄLLOR AEDS SERVER KONTROLLSERVER
DATABASE ÄNDRA VILKET SOM HELST EXTERNT FILFORMAT AEFF SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA EXTERNA JOBB AESJ SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA EXTERNA SPRÅK ALLA SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA EXTERNA BIBLIOTEK ALEL SERVER KONTROLLSERVER
DATABASE ÄNDRA EVENTUELL EXTERN STRÖM AEST SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA FULLTEXTKATALOGER ALFT SERVER KONTROLLSERVER
DATABASE ÄNDRA VALFRI MASK AAMK

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE ÄNDRA VALFRI MEDDELANDETYP ALMT SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA FJÄRRTJÄNSTBINDNINGAR ALSB SERVER KONTROLLSERVER
DATABASE ÄNDRA VILKEN ROLL SOM HELST ALRL SERVER KONTROLLSERVER
DATABASE ÄNDRA VALFRI VÄG ALRT SERVER KONTROLLSERVER
DATABASE ÄNDRA VALFRITT SCHEMA ALSM SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA SÄKERHETSPRINCIPER ALSP

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE ÄNDRA EVENTUELL KÄNSLIGHETSKLASSIFICERING AASC
Gäller för SQL Server (SQL Server 2019 (15.x) via aktuell), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA TJÄNSTER ALSV SERVER KONTROLLSERVER
DATABASE ÄNDRA EN SYMMETRISK NYCKEL ALSK SERVER KONTROLLSERVER
DATABASE ÄNDRA ALLA ANVÄNDARE ALUS SERVER KONTROLLSERVER
DATABASE ALTER LEDGER ALR SERVER CONTROL
DATABASE ÄNDRA KONFIGURATION AV HUVUDBOK ALC SERVER KONTROLLSERVER
DATABASE AUTHENTICATE AUTH SERVER AUTENTISERA SERVER
DATABASE SÄKERHETSKOPIERINGSDATABAS BADB SERVER KONTROLLSERVER
DATABASE SÄKERHETSKOPIERINGSLOGG BALO SERVER KONTROLLSERVER
DATABASE CHECKPOINT CP SERVER KONTROLLSERVER
DATABASE CONNECT CO SERVER KONTROLLSERVER
DATABASE ANSLUTNINGSREPLIKATION CORP SERVER KONTROLLSERVER
DATABASE CONTROL CL SERVER KONTROLLSERVER
DATABASE SKAPA AGGREGERING CRAG SERVER KONTROLLSERVER
DATABASE SKAPA SESSION FÖR DATABASHÄNDELSE CRDS SERVER SKAPA EN SESSION FÖR EVENEMANG
DATABASE SKAPA SAMMANSÄTTNING CRAS SERVER KONTROLLSERVER
DATABASE SKAPA ASYMMETRISK NYCKEL CRAK SERVER KONTROLLSERVER
DATABASE SKAPA CERTIFIKAT CRCF SERVER KONTROLLSERVER
DATABASE SKAPA KONTRAKT CRSC SERVER KONTROLLSERVER
DATABASE SKAPA DATABAS CRDB SERVER SKAPA VALFRI DATABAS
DATABASE SKAPA HÄNDELSEMEDDELANDE FÖR DATABAS-DDL CRED SERVER SKAPA DDL-HÄNDELSEMEDDELANDE
DATABASE SKAPA STANDARD CRDF SERVER KONTROLLSERVER
DATABASE SKAPA EXTERNT SPRÅK CRLA SERVER KONTROLLSERVER
DATABASE SKAPA EXTERNT BIBLIOTEK CREL SERVER KONTROLLSERVER
DATABASE SKAPA FULLTEXTKATALOG CRFT SERVER KONTROLLSERVER
DATABASE SKAPA FUNKTION CRFN SERVER KONTROLLSERVER
DATABASE SKAPA MEDDELANDETYP CRMT SERVER KONTROLLSERVER
DATABASE LAGRA PROCEDUR CRPR SERVER KONTROLLSERVER
DATABASE SKAPA KÖ CRQU SERVER KONTROLLSERVER
DATABASE SKAPA FJÄRRTJÄNSTBINDNING CRSB SERVER KONTROLLSERVER
DATABASE SKAPA ROLL CRRL SERVER KONTROLLSERVER
DATABASE SKAPA VÄG CRRT SERVER KONTROLLSERVER
DATABASE SKAPA REGEL CRRU SERVER KONTROLLSERVER
DATABASE SKAPA SCHEMA CRSM SERVER KONTROLLSERVER
DATABASE SKAPA TJÄNST CRSV SERVER KONTROLLSERVER
DATABASE SKAPA SYMMETRISK NYCKEL CRSK SERVER KONTROLLSERVER
DATABASE SKAPA SYNONYM CRSN SERVER KONTROLLSERVER
DATABASE CREATE TABLE CRTB SERVER KONTROLLSERVER
DATABASE SKAPA TYP CRTY SERVER KONTROLLSERVER
DATABASE SKAPA ANVÄNDARE CUSR SERVER KONTROLLSERVER
DATABASE SKAPA VY CRVW SERVER KONTROLLSERVER
DATABASE SKAPA XML-SCHEMASAMLING CRXS SERVER KONTROLLSERVER
DATABASE DELETE DL SERVER KONTROLLSERVER
DATABASE TA BORT ALLA DATABASHÄNDELSESESSIONER DRDS SERVER TA BORT ALLA HÄNDELSESESSIONER
DATABASE AKTIVERA TRANSAKTIONSREGISTER EL SERVER CONTROL
DATABASE EXECUTE EX SERVER KONTROLLSERVER
DATABASE exekvera valfri extern slutpunkt EAEE SERVER KONTROLLSERVER
DATABASE KÖRA ETT EXTERNT SKRIPT EAES

Gäller för SQL Server (SQL Server 2016 (13.x) till och med den senaste versionen).
SERVER KONTROLLSERVER
DATABASE INSERT IN SERVER KONTROLLSERVER
DATABASE AVBRYT DATABASANSLUTNING KIDC

Gäller endast för Azure SQL Database. Använd ALTER ANY CONNECTION i SQL Server.
SERVER ÄNDRA ALLA ANSLUTNINGAR
DATABASE REFERENCES RF SERVER KONTROLLSERVER
DATABASE SELECT SL SERVER KONTROLLSERVER
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE
DATABASE PRENUMERERA PÅ FRÅGEMEDDELANDEN SUQN SERVER KONTROLLSERVER
DATABASE TA ÄGARSKAP TO SERVER KONTROLLSERVER
DATABASE UNMASK UMSK

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER KONTROLLSERVER
DATABASE UPDATE UP SERVER KONTROLLSERVER
DATABASE VISA VILKEN SOM HELST AV KOLUMNKRYPTERINGSNYCKELDEFINITION VWCK

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER SE SERVERTILLSTÅND
DATABASE VISA VILKEN SOM HELST HUVUDNYCKEL FÖR KOLUMN DEFINITION VWCM

Gäller för SQL Server (SQL Server 2016 (13.x) till nuvarande), Azure SQL Database.
SERVER SE SERVERTILLSTÅND
DATABASE VISA ALLA KÄNSLIGHETSKLASSIFICERINGAR VASC SERVER KONTROLLSERVER
DATABASE Visa definition som är kryptografiskt säkrad VCD SERVER VISNING AV EN KRYPTOGRAFISKT SKYDDAD DEFINITION
DATABASE VISA DATABASENS PRESTANDATILLSTÅND VDP SERVER VISA SERVERNS PRESTANDATILLSTÅND
DATABASE VISA DATABASSÄKERHETSREVISION VDSA SERVER KONTROLLSERVER
DATABASE VISA DATABASSÄKERHETSTILLSTÅND VDS SERVER VISA SERVERSÄKERHETSTILLSTÅND
DATABASE VISA DATABASENS TILLSTÅND VWDS SERVER SE SERVERTILLSTÅND
DATABASE VISA DEFINITION VW SERVER SE NÅGON DEFINITION
DATABASE VISA HUVUDBOKSINNEHÅLL VLC SERVER CONTROL
DATABASE VISA DEFINITION AV SÄKERHET VWS SERVER VISA ALLA SÄKERHETSDEFINITIONER
DATABASE VISA PRESTANDA-DEFINITION VWP SERVER VISA ALLA PRESTANDADEFINITIONER
DATABASSPECIFIKA AUTENTISERINGSINFORMATION ALTER AL DATABASE CONTROL
DATABASSPECIFIKA AUTENTISERINGSINFORMATION CONTROL CL DATABASE CONTROL
DATABASSPECIFIKA AUTENTISERINGSINFORMATION REFERENCES RF DATABASE REFERENCES
DATABASSPECIFIKA AUTENTISERINGSINFORMATION TA ÄGARSKAP TO DATABASE CONTROL
DATABASSPECIFIKA AUTENTISERINGSINFORMATION VISA DEFINITION VW DATABASE VISA DEFINITION
ENDPOINT ALTER AL SERVER ÄNDRA VALFRI SLUTPUNKT
ENDPOINT CONNECT CO SERVER KONTROLLSERVER
ENDPOINT CONTROL CL SERVER KONTROLLSERVER
ENDPOINT TA ÄGARSKAP TO SERVER KONTROLLSERVER
ENDPOINT VISA DEFINITION VW SERVER SE NÅGON DEFINITION
FULLTEXT KATALOG ALTER AL DATABASE ÄNDRA ALLA FULLTEXTKATALOGER
FULLTEXT KATALOG CONTROL CL DATABASE CONTROL
FULLTEXT KATALOG REFERENCES RF DATABASE REFERENCES
FULLTEXT KATALOG TA ÄGARSKAP TO DATABASE CONTROL
FULLTEXT KATALOG VISA DEFINITION VW DATABASE VISA DEFINITION
STOPPLISTA FULLTEXT ALTER AL DATABASE ÄNDRA ALLA FULLTEXTKATALOGER
STOPPLISTA FULLTEXT CONTROL CL DATABASE CONTROL
STOPPLISTA FULLTEXT REFERENCES RF DATABASE REFERENCES
STOPPLISTA FULLTEXT TA ÄGARSKAP TO DATABASE CONTROL
STOPPLISTA FULLTEXT VISA DEFINITION VW DATABASE VISA DEFINITION
LOGIN ALTER AL SERVER ÄNDRA ALLA INLOGGNINGAR
LOGIN CONTROL CL SERVER KONTROLLSERVER
LOGIN IMPERSONATE IM SERVER KONTROLLSERVER
LOGIN VISA DEFINITION VW SERVER SE NÅGON DEFINITION
MEDDELANDETYP ALTER AL DATABASE ÄNDRA VALFRI MEDDELANDETYP
MEDDELANDETYP CONTROL CL DATABASE CONTROL
MEDDELANDETYP REFERENCES RF DATABASE REFERENCES
MEDDELANDETYP TA ÄGARSKAP TO DATABASE CONTROL
MEDDELANDETYP VISA DEFINITION VW DATABASE VISA DEFINITION
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 TA ÄGARSKAP TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT VISA ÄNDRINGSSPÅRNING VWCT SCHEMA VISA ÄNDRINGSSPÅRNING
OBJECT VISA DEFINITION VW SCHEMA VISA DEFINITION
FJÄRRTJÄNSTBINDNING ALTER AL DATABASE ÄNDRA ALLA FJÄRRTJÄNSTBINDNINGAR
FJÄRRTJÄNSTBINDNING CONTROL CL DATABASE CONTROL
FJÄRRTJÄNSTBINDNING TA ÄGARSKAP TO DATABASE CONTROL
FJÄRRTJÄNSTBINDNING VISA DEFINITION VW DATABASE VISA DEFINITION
ROLE ALTER AL DATABASE ÄNDRA VILKEN ROLL SOM HELST
ROLE CONTROL CL DATABASE CONTROL
ROLE TA ÄGARSKAP TO DATABASE CONTROL
ROLE VISA DEFINITION VW DATABASE VISA DEFINITION
ROUTE ALTER AL DATABASE ÄNDRA VALFRI VÄG
ROUTE CONTROL CL DATABASE CONTROL
ROUTE TA ÄGARSKAP TO DATABASE CONTROL
ROUTE VISA DEFINITION VW DATABASE VISA DEFINITION
SCHEMA ALTER AL DATABASE ÄNDRA VALFRITT SCHEMA
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA SKAPA SEKVENS 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 TA ÄGARSKAP TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA VISA ÄNDRINGSSPÅRNING VWCT DATABASE VISA ÄNDRINGSSPÅRNING
SCHEMA VISA DEFINITION VW DATABASE VISA DEFINITION
SÖK FASTIGHETSLISTA ALTER AL SERVER ÄNDRA ALLA FULLTEXTKATALOGER
SÖK FASTIGHETSLISTA CONTROL CL SERVER CONTROL
SÖK FASTIGHETSLISTA REFERENCES RF SERVER REFERENCES
SÖK FASTIGHETSLISTA TA ÄGARSKAP TO SERVER CONTROL
SÖK FASTIGHETSLISTA VISA DEFINITION VW SERVER VISA DEFINITION
SERVER ADMINISTRERA MASSÅTGÄRDER ADBO Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA VALFRI TILLGÄNGLIGHETSGRUPP ALAG Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA ALLA ANSLUTNINGAR ALCO Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA EVENTUELLA AUTENTISERINGSUPPGIFTER ALCD Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA EN DATABAS ALDB Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA VALFRI SLUTPUNKT ALHE Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA HÄNDELSEMEDDELANDEN ALES Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA HÄNDELSESESSIONER AAES Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA VILKEN HÄNDELSESESSION SOM HELST, LÄGG TILL HÄNDELSE LSAE Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA HÄNDELSESESSIONER OCH LÄGG TILL MÅL LSAT Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA VILKEN SOM HELST HÄNDELSESESSION INAKTIVERA DES Ej tillämpligt Ej tillämpligt
SERVER Ändra vilken händelsesession som helst och ta bort händelse LSDE Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA ALLA MÅL FÖR HÄNDELSESESSIONSAVLÄMNING LSDT Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA ALLA AKTIVERADE HÄNDELSERSESSIONER EES Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA VALFRI INSTÄLLNING FÖR HÄNDELSESESSION LESO Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA EN LÄNKAD SERVER ALLS Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA ALLA INLOGGNINGAR ALLG Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA SERVERGRANSKNING ALAA Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA VALFRI SERVERROLL ALSR Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA RESURSER ALRS Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA SERVERTILLSTÅND ALSS Ej tillämpligt Ej tillämpligt
SERVER ÄNDRA INSTÄLLNINGAR ALST Ej tillämpligt Ej tillämpligt
SERVER ALTER TRACE ALTR Ej tillämpligt Ej tillämpligt
SERVER AUTENTISERA SERVER AUTH Ej tillämpligt Ej tillämpligt
SERVER ANSLUT VALFRI DATABAS CADB Ej tillämpligt Ej tillämpligt
SERVER ANSLUTA SQL-DATABAS COSQ Ej tillämpligt Ej tillämpligt
SERVER KONTROLLSERVER CL Ej tillämpligt Ej tillämpligt
SERVER SKAPA VALFRI DATABAS CRDB Ej tillämpligt Ej tillämpligt
SERVER SKAPA TILLGÄNGLIGHETSGRUPP CRAC Ej tillämpligt Ej tillämpligt
SERVER SKAPA DDL-HÄNDELSEMEDDELANDE CRDE Ej tillämpligt Ej tillämpligt
SERVER SKAPA SLUTPUNKT CRHE Ej tillämpligt Ej tillämpligt
SERVER SKAPA SERVERROLL CRSR Ej tillämpligt Ej tillämpligt
SERVER SKAPA SPÅRNINGSHÄNDELSEAVISERING CRTE Ej tillämpligt Ej tillämpligt
SERVER EXTERN ÅTKOMSTSAMMANSÄTTNING XA Ej tillämpligt Ej tillämpligt
SERVER PERSONIFIERA ALL INLOGGNING IAL Ej tillämpligt Ej tillämpligt
SERVER VÄLJ ALLA SKYDDSBARA ANVÄNDARE SUS Ej tillämpligt Ej tillämpligt
SERVER SHUTDOWN SHDN Ej tillämpligt Ej tillämpligt
SERVER OSÄKER SAMMANSÄTTNING XU Ej tillämpligt Ej tillämpligt
SERVER GRANSKA VALFRI DATABAS VWDB Ej tillämpligt Ej tillämpligt
SERVER SE NÅGON DEFINITION VWAD Ej tillämpligt Ej tillämpligt
SERVER SE SERVERTILLSTÅND VWSS Ej tillämpligt Ej tillämpligt
Server roll ALTER AL SERVER ÄNDRA VALFRI SERVERROLL
Server roll CONTROL CL SERVER KONTROLLSERVER
Server roll TA ÄGARSKAP TO SERVER KONTROLLSERVER
Server roll VISA DEFINITION VW SERVER SE NÅGON DEFINITION
SERVICE ALTER AL DATABASE ÄNDRA ALLA TJÄNSTER
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE TA ÄGARSKAP TO DATABASE CONTROL
SERVICE VISA DEFINITION VW DATABASE VISA DEFINITION
SYMMETRISK NYCKEL ALTER AL DATABASE ÄNDRA EN SYMMETRISK NYCKEL
SYMMETRISK NYCKEL CONTROL CL DATABASE CONTROL
SYMMETRISK NYCKEL REFERENCES RF DATABASE REFERENCES
SYMMETRISK NYCKEL TA ÄGARSKAP TO DATABASE CONTROL
SYMMETRISK NYCKEL VISA DEFINITION VW DATABASE VISA DEFINITION
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE TA ÄGARSKAP TO SCHEMA CONTROL
TYPE VISA DEFINITION VW SCHEMA VISA DEFINITION
USER ALTER AL DATABASE ÄNDRA ALLA ANVÄNDARE
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VISA DEFINITION VW DATABASE VISA DEFINITION
XML-schema-samling ALTER AL SCHEMA ALTER
XML-schema-samling CONTROL CL SCHEMA CONTROL
XML-schema-samling EXECUTE EX SCHEMA EXECUTE
XML-schema-samling REFERENCES RF SCHEMA REFERENCES
XML-schema-samling TA ÄGARSKAP TO SCHEMA CONTROL
XML-schema-samling VISA DEFINITION VW SCHEMA VISA DEFINITION

Nya detaljerade behörigheter har lagts till i SQL Server 2022

Följande behörigheter läggs till i SQL Server 2022:

  • 10 nya behörigheter har lagts till för att tillåta åtkomst till systemmetadata.

  • 18 nya behörigheter har lagts till för utökade händelser.

  • 9 nya behörigheter har lagts till för säkerhetsrelaterade objekt.

  • 4 behörigheter har lagts till för ledger.

  • 3 ytterligare databasbehörigheter.

Mer information finns i Nya detaljerade behörigheter för SQL Server 2022 och Azure SQL för att förbättra efterlevnaden med PoLP.

Åtkomst till systemmetadatabehörigheter

Servernivå:

  • VISA ALLA SÄKERHETSDEFINITIONER
  • VISA ALLA PRESTANDADEFINITIONER
  • VISA SERVERSÄKERHETSTILLSTÅND
  • VISA SERVERNS PRESTANDATILLSTÅND
  • VISNING AV EN KRYPTOGRAFISKT SKYDDAD DEFINITION

Databasnivå:

  • VISA DATABASSÄKERHETSTILLSTÅND
  • VISA DATABASENS PRESTANDATILLSTÅND
  • VISA DEFINITION AV SÄKERHET
  • VISA PRESTANDA-DEFINITION
  • Visa definition som är kryptografiskt säkrad

Behörigheter för utökade händelser

Servernivå:

  • SKAPA EN SESSION FÖR EVENEMANG
  • TA BORT ALLA HÄNDELSESESSIONER
  • ÄNDRA VALFRI INSTÄLLNING FÖR HÄNDELSESESSION
  • ÄNDRA VILKEN HÄNDELSESESSION SOM HELST, LÄGG TILL HÄNDELSE
  • Ändra vilken händelsesession som helst och ta bort händelse
  • ÄNDRA ALLA AKTIVERADE HÄNDELSERSESSIONER
  • ÄNDRA VILKEN SOM HELST HÄNDELSESESSION INAKTIVERA
  • ÄNDRA HÄNDELSESESSIONER OCH LÄGG TILL MÅL
  • ÄNDRA ALLA MÅL FÖR HÄNDELSESESSIONSAVLÄMNING

Alla dessa behörigheter har samma överordnade behörighet: ÄNDRA VILKEN SOM HELST HÄNDELSESESSION

Databasnivå:

  • SKAPA SESSION FÖR DATABASHÄNDELSE
  • TA BORT ALLA DATABASHÄNDELSESESSIONER
  • ÄNDRA ALTERNATIV FÖR SESSION FÖR DATABASHÄNDELSE
  • ÄNDRA ALLA DATABASHÄNDELSESESSIONER LÄGG TILL HÄNDELSE
  • ÄNDRA ALLA DATABASHÄNDELSESESSIONER FÖR ATT TA BORT HÄNDELSE
  • ÄNDRA ALLA AKTIVERADE DATABASHÄNDELSESESSIONER
  • ALTERERA ALLA DATABASHÄNDELSESESSIONER INAKTIVERA
  • ÄNDRA ALLA DATABASHÄNDELSESESSIONER LÄGG TILL MÅL
  • ÄNDRA VALFRITT MÅL FÖR ATT TA BORT DATABASHÄNDELSESESSIONER

Alla dessa behörigheter har samma överordnade behörighet: ÄNDRA EN DATABASHÄNDELSESESSION

  • KONTROLL (REFERENS)
  • SKAPA INLOGGNING
  • SKAPA ANVÄNDARE
  • REFERENSER (CREDENTIAL)
  • AVMASKA (OBJEKT)
  • AVMASKA (SCHEMA)
  • VISA NÅGRA FELRAPPORTER
  • VISA SERVERSÄKERHETSREVISION
  • VISA DATABASSÄKERHETSREVISION

Transaktionsregisterbehörigheter

  • ALTER LEDGER
  • ÄNDRA KONFIGURATION AV HUVUDBOK
  • AKTIVERA TRANSAKTIONSREGISTER
  • VISA HUVUDBOKSINNEHÅLL

Andra databasbehörigheter

  • ÄNDRA ALLA EXTERNA JOBB
  • ÄNDRA EVENTUELL EXTERN STRÖM
  • exekvera valfri extern slutpunkt

Sammanfattning av algoritmen för behörighetskontroll

Det kan vara komplicerat att kontrollera behörigheter. Algoritmen för behörighetskontroll innehåller överlappande gruppmedlemskap och ägarskapslänkning, både explicit och implicit behörighet, och kan påverkas av behörigheterna för skyddsbara klasser som innehåller den skyddsbara entiteten. Den allmänna processen för algoritmen är att samla in alla relevanta behörigheter. Om ingen blockerande neka hittas, söker algoritmen efter ett beviljande som ger tillräcklig åtkomst. Algoritmen innehåller tre viktiga element, säkerhetskontexten, behörighetsutrymmet och den behörighet som krävs.

Note

Du kan inte bevilja, neka eller återkalla behörigheter till sa, dbo, entitetsägaren, information_schema, syseller dig själv.

  • Säkerhetskontext

    Det här är den grupp av principaler som bidrar med behörigheter till åtkomstkontrollprocessen. Det här är behörigheter som är relaterade till den aktuella inloggningen eller användaren, såvida inte säkerhetskontexten har ändrats till en annan inloggning eller användare med hjälp av EXECUTE AS-instruktionen. Säkerhetskontexten innehåller följande principaler:

    • Inloggningen

    • Användaren

    • Rollmedlemskap

    • Windows-gruppmedlemskap

    • Om modulsignering används, används alla inloggnings- eller användarkonton som är kopplade till certifikatet som används för att signera den modul användaren för närvarande kör, samt de associerade rollmedlemskapen för den principalen.

  • Behörighetsområde

    Det här är den skyddsbara entiteten och alla skyddsklasser som innehåller den skyddbara enheten. Till exempel innehålls en tabell (en skyddsbar entitet) av schemats skyddbara klass och databasens skyddbara klass. Åtkomst kan påverkas av behörigheter på tabell-, schema-, databas- och servernivå. Mer information finns i Behörighetshierarki (databasmotor).

  • Nödvändig behörighet

    Den typ av behörighet som krävs. Till exempel INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL och så vidare.

    Åtkomst kan kräva flera behörigheter, som i följande exempel:

    • En lagrad procedur kan kräva både EXECUTE-behörighet för den lagrade proceduren och INSERT-behörighet i flera tabeller som refereras till av den lagrade proceduren.

    • En dynamisk hanteringsvy kan kräva både VIEW SERVER STATE och SELECT-behörighet i vyn.

Allmänna steg i algoritmen

När algoritmen avgör om den ska tillåta åtkomst till en skyddad resurs kan de exakta stegen som den använder variera beroende på de huvudpersoner och de involverade skyddade resurserna. Algoritmen utför dock följande allmänna steg:

  1. Kringgå behörighetskontrollen om inloggningen är medlem i den fasta serverrollen sysadmin eller om användaren är dbo-användaren i den nuvarande databasen.

  2. Tillåt åtkomst om ägarskapslänkning är tillämpligt och åtkomstkontrollen på objektet tidigare i kedjan klarade säkerhetskontrollen.

  3. Aggregera de identiteter på servernivå, databasnivå och signerade moduler som är associerade med anroparen för att skapa säkerhetskontexten.

  4. För den säkerhetskontexten samlar du in alla behörigheter som beviljas eller nekas för behörighetsutrymmet. Behörigheten kan uttryckligen anges som GRANT, GRANT WITH GRANT eller DENY; eller så kan behörigheterna vara underförstådda eller täckande, som GRANT eller DENY. Kontrollbehörighet för ett schema innebär till exempel KONTROLL i en tabell. Och CONTROL i en tabell innebär SELECT. Om KONTROLL för schemat har beviljats beviljas därför SELECT i tabellen. Om CONTROL nekades i tabellen nekas SELECT i tabellen.

    Note

    Ett BEVILJANDE av en behörighet på kolumnnivå åsidosätter en NEKA på objektnivå. För mer information, se Neka objektbehörigheter.

  5. Identifiera den behörighet som krävs.

  6. Behörighetskontrollen misslyckas om den nödvändiga behörigheten nekas direkt eller implicit till någon av identiteterna i säkerhetskontexten för objekten i behörighetsutrymmet.

  7. Godkänn behörighetskontrollen om den nödvändiga behörigheten inte nekades och den behörighet som krävs innehåller behörigheten GRANT eller GRANT WITH GRANT antingen direkt eller implicit till någon av identiteterna i säkerhetskontexten för alla objekt i behörighetsutrymmet.

Särskilda överväganden för behörigheter på kolumnnivå

Behörigheter på kolumnnivå beviljas med syntaxen <table_name>(<kolumn _name>). Till exempel:

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

En NEKA i tabellen åsidosätts av ett GRANT i en kolumn. En efterföljande DENY-kommando i tabellen kommer dock att ta bort kolumnen GRANT.

Examples

Exemplen i det här avsnittet visar hur du hämtar behörighetsinformation.

A. Returnera den fullständiga listan över beviljande behörigheter

Följande instruktion returnerar alla behörigheter för databasmotorn fn_builtin_permissions med hjälp av funktionen . Mer information finns i sys.fn_builtin_permissions.

SELECT * FROM fn_builtin_permissions(default);
GO

B. Returnera behörigheterna för en viss klass av objekt

I följande exempel används fn_builtin_permissions för att visa alla behörigheter som är tillgängliga för en kategori av säkerhetsobjekt. Exemplet returnerar behörigheter för sammansättningar.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Returnera de behörigheter som beviljats till det utförande huvudkontot för ett objekt

I följande exempel används fn_my_permissions för att returnera en lista över de gällande behörigheter som innehas av det anropande huvudkontot på en angiven skyddsbar. Exemplet returnerar behörigheter för ett objekt med namnet Orders55. Mer information finns i sys.fn_my_permissions.

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

D. Returnera de behörigheter som gäller för ett angivet objekt

I följande exempel returneras behörigheter som gäller för ett objekt med namnet Yttrium. Den inbyggda funktionen OBJECT_ID används för att hämta objektets YttriumID .

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