Oprávnění (databázový stroj)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Každý zabezpečitelný objekt SQL Serveru má přidružená oprávnění, která lze udělit hlavnímu subjektu. Oprávnění v databázovém stroji se spravují na úrovni serveru přiřazené k přihlašovacím údajům a rolím serveru a na úrovni databáze přiřazené uživatelům databáze a databázovým rolím. Model pro Azure SQL Database má stejný systém pro oprávnění k databázi, ale oprávnění na úrovni serveru nejsou k dispozici. Tento článek obsahuje úplný seznam oprávnění. Typickou implementaci oprávnění najdete v tématu Začínáme s oprávněními databázového stroje.

Celkový počet oprávnění pro SQL Server 2022 (16.x) je 292. Azure SQL Database zveřejňuje 292 oprávnění. Většina oprávnění platí pro všechny platformy, ale některé ne. Například většina oprávnění na úrovni serveru se nedá udělit ve službě Azure SQL Database a několik oprávnění dává smysl jenom pro Azure SQL Database. Nová oprávnění se zavádí postupně s novými verzemi. SQL Server 2019 (15.x) zveřejňuje 248 oprávnění. SQL Server 2017 (14.x) odhalil 238 oprávnění. SQL Server 2016 (13.x) odhalil 230 oprávnění. SQL Server 2014 (12.x) odhalil 219 oprávnění. SQL Server 2012 (11.x) odhalil 214 oprávnění. SQL Server 2008 R2 (10.50.x) odhalil 195 oprávnění. Článek sys.fn_builtin_permissions určuje, která oprávnění jsou v posledních verzích nová.

V databázi SQL v Microsoft Fabric jsou podporováni pouze uživatelé a role na úrovni databáze. Přihlášení, role a sa účet na úrovni serveru nejsou k dispozici. V databázi SQL v Microsoft Fabric je id Microsoft Entra pro uživatele databáze jedinou podporovanou metodou ověřování. Další informace naleznete v tématu Autorizace v databázi SQL v Microsoft Fabric.

Jakmile pochopíte požadovaná oprávnění, můžete použít oprávnění na úrovni serveru pro přihlášení nebo role serveru a oprávnění na úrovni databáze pro uživatele nebo databázové role pomocí příkazů GRANTREVOKEa DENY příkazů. Například:

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

Tipy k plánování systému oprávnění najdete v tématu Začínáme s oprávněními databázového stroje.

Konvence pojmenování oprávnění

Následující informace popisují obecné konvence, které jsou dodrženy pro pojmenování oprávnění:

  • CONTROL

    Uděluje možnosti podobné vlastnictví pro příjemce grantu. Grantee má efektivně všechna definovaná oprávnění k zabezpečitelnému. Principál, kterému byla udělena kontrola, může také udělit oprávnění k zabezpečitelnému objektu. Vzhledem k tomu, že model zabezpečení SQL Serveru je hierarchický, CONTROL v určitém oboru implicitně zahrnuje všechny zabezpečitelné položky v tomto oboru. Například CONTROL v databázi znamená všechna oprávnění k databázi, všechna oprávnění pro všechna sestavení v databázi, všechna oprávnění pro všechna schémata v databázi a všechna oprávnění k objektům ve všech schématech v databázi.

  • ALTER

    Poskytuje možnost změnit vlastnosti s výjimkou vlastnictví konkrétního zabezpečitelného. Při udělení v rámci rozsahu funkce ALTER rovněž přiděluje možnost měnit, vytvářet nebo odstraňovat jakýkoli objekt zabezpečení, který je obsažen v daném rozsahu. Například oprávnění ALTER pro schéma zahrnuje možnost vytvářet, měnit a odstraňovat objekty ze schématu.

  • ALTER ANY <Server Securable>, kde Server Securable může být jakýkoli server zabezpečitelný.

    Poskytuje možnost vytvářet, měnit nebo odstraňovat jednotlivé instance zabezpečitelného serveru. NAPŘÍKLAD ALTER ANY LOGIN poskytuje možnost vytvořit, změnit nebo odstranit jakékoli přihlášení v instanci.

  • ALTER ANY <Database Securable>, kde zabezpečitelný objekt může být cokoliv na úrovni databáze.

    Poskytuje možnost VYTVOŘIT, ALTER nebo DROP jednotlivé instance zabezpečitelné databáze. Alter ANY SCHEMA například poskytuje možnost vytvářet, měnit nebo odstraňovat jakékoli schéma v databázi.

  • PŘEVEZMĚTE ODPOVĚDNOST

    Umožňuje příjemci převzít vlastnictví objektu zabezpečení, ke kterému je udělen.

  • <Zosobnění Přihlášení>

    Umožňuje příjemci zosobnit přihlášení.

  • ZOSOBNIT <uživatele>

    Umožňuje oprávněné osobě představovat uživatele.

  • Vytvoření <zabezpečitelného serveru>

    Uděluje grantu možnost vytvořit zabezpečitelný server.

  • CREATE <Zabezpečitelný objekt databáze>

    Uděluje grantu možnost vytvořit zabezpečitelnou databázi.

  • Vytvoření <zabezpečitelného objektu v rámci schématu>

    Poskytuje možnost vytvořit zabezpečitelný objekt obsažený ve schématu. K vytvoření zabezpečitelného objektu v konkrétním schématu je však vyžadováno oprávnění ALTER na schématu.

  • VIEW DEFINICE

    Umožňuje příjemci přistupovat k metadatům.

  • REFERENCES

    Oprávnění REFERENCES v tabulce je potřeba k vytvoření omezení CIZÍHO KLÍČE, které odkazuje na tuto tabulku.

    Oprávnění REFERENCES je vyžadováno k objektu, aby bylo možné vytvořit FUNCTION nebo VIEW s klauzulí WITH SCHEMABINDING, která na daný objekt odkazuje.

Graf oprávnění SQL Serveru

Následující obrázek znázorňuje oprávnění a jejich vztahy mezi sebou. Některá oprávnění vyšší úrovně (například CONTROL SERVER) jsou uvedená mnohokrát. V tomto článku je plakát příliš malý na přečtení. Plakát oprávnění databázového stroje v plné velikosti si můžete stáhnout ve formátu PDF .

Snímek obrazovky s oprávněními databázového stroje PDF

Oprávnění použitelná pro konkrétní zabezpečené objekty

Následující tabulka uvádí hlavní třídy oprávnění a druhy objektů, na něž mohou být použity.

Permission Vztahuje se na
ALTER Všechny třídy objektů s výjimkou TYPE.
CONTROL Všechny třídy objektů:

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, a
XML SCHEMA COLLECTION
DELETE Všechny třídy objektů s výjimkou DATABASE SCOPED CONFIGURATION, SERVER a TYPE.
EXECUTE Typy CLR, externí skripty, procedury (Transact-SQL a CLR), skalární a agregační funkce (Transact-SQL a CLR) a synonyma
IMPERSONATE Přihlášení a uživatelé
INSERT Synonyma, tabulky a sloupce, pohledy a sloupce. Oprávnění lze udělit na úrovni databáze, schématu nebo objektu.
RECEIVE Fronty služby Service Broker
REFERENCES AGGREGATE,
ASSEMBLY,
ASYMMETRIC KEY,
CERTIFICATE,
CONTRACT,
CREDENTIAL(platí pro SQL Server 2022 (16.x) a novější),
DATABASE,
DATABASE SCOPED CREDENTIAL,
FULLTEXT CATALOG,
FULLTEXT STOPLIST,
FUNCTION,
MESSAGE TYPE,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SEQUENCE OBJEKT
SYMMETRIC KEY,
TABLE,
TYPE,
VIEW, a
XML SCHEMA COLLECTION
SELECT Synonyma, tabulky a sloupce, pohledy a sloupce. Oprávnění lze udělit na úrovni databáze, schématu nebo objektu.
PŘEVEZMĚTE ODPOVĚDNOST Všechny třídy objektů kromě DATABASE SCOPED CONFIGURATION, , LOGINSERVER a USER.
UPDATE Synonyma, tabulky a sloupce, pohledy a sloupce. Oprávnění lze udělit na úrovni databáze, schématu nebo objektu.
VIEW SLEDOVÁNÍ ZMĚN Schémata a tabulky
VIEW DEFINICE Všechny třídy objektů s výjimkou DATABASE SCOPED CONFIGURATIONa SERVER.

Caution

Výchozí oprávnění udělená systémovým objektům v době instalace se pečlivě vyhodnocují proti možným hrozbám a není nutné je měnit při posílení zabezpečení instalace SQL Serveru. Jakékoli změny oprávnění v systémových objektech můžou omezit nebo přerušit funkčnost a potenciálně by mohly opustit instalaci SQL Serveru v nepodporovaném stavu.

Oprávnění SQL Serveru

Následující tabulka obsahuje úplný seznam oprávnění SQL Serveru. Oprávnění Azure SQL Database jsou k dispozici pouze pro podporované základní zabezpečitelné objekty. Oprávnění na úrovni serveru není možné udělit ve službě Azure SQL Database, ale v některých případech jsou oprávnění databáze k dispozici.

Zabezpečitelné základy Podrobná oprávnění pro základní zabezpečitelný objekt Kód typu oprávnění Zabezpečený objekt, který obsahuje základní zabezpečený objekt Oprávnění k zabezpečitelnému kontejneru, které implikuje podrobná oprávnění k základnímu zabezpečitelnému
APPLICATION ROLE ALTER AL DATABASE Změnit libovolný APPLICATION ROLE
APPLICATION ROLE CONTROL CL DATABASE CONTROL
APPLICATION ROLE VIEW DEFINICE VW DATABASE VIEW DEFINICE
ASSEMBLY ALTER AL DATABASE Změnit libovolný ASSEMBLY
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
ASSEMBLY VIEW DEFINICE VW DATABASE VIEW DEFINICE
ASYMMETRIC KEY ALTER AL DATABASE Změnit libovolný ASYMMETRIC KEY
ASYMMETRIC KEY CONTROL CL DATABASE CONTROL
ASYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
ASYMMETRIC KEY PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
ASYMMETRIC KEY VIEW DEFINICE VW DATABASE VIEW DEFINICE
AVAILABILITY GROUP ALTER AL SERVER Změnit libovolný AVAILABILITY GROUP
AVAILABILITY GROUP CONTROL CL SERVER řídicí server
AVAILABILITY GROUP PŘEVEZMĚTE ODPOVĚDNOST TO SERVER řídicí server
AVAILABILITY GROUP VIEW DEFINICE VW SERVER VIEW LIBOVOLNÁ DEFINICE
CERTIFICATE ALTER AL DATABASE Změnit libovolný CERTIFICATE
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
CERTIFICATE VIEW DEFINICE VW DATABASE VIEW DEFINICE
CONTRACT ALTER AL DATABASE Změnit libovolný CONTRACT
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
CONTRACT VIEW DEFINICE VW DATABASE VIEW DEFINICE
CREDENTIAL CONTROL CL SERVER řídicí server
CREDENTIAL REFERENCES RF SERVER Změnit libovolný CREDENTIAL
DATABASE SPRÁVA DATABASE HROMADNÝCH OPERACÍ DABO SERVER řídicí server
DATABASE ALTER AL SERVER Změnit libovolný DATABASE
DATABASE Změnit libovolný APPLICATION ROLE ALAR SERVER řídicí server
DATABASE Změnit libovolný ASSEMBLY ALAS SERVER řídicí server
DATABASE Změnit libovolný ASYMMETRIC KEY ALAK SERVER řídicí server
DATABASE Změnit libovolný CERTIFICATE ALCF SERVER řídicí server
DATABASE Změnit libovolný COLUMN ENCRYPTION KEY ALCK

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE Změnit libovolný COLUMN MASTER KEY ALCM

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE Změnit libovolný CONTRACT ALSC SERVER řídicí server
DATABASE ZMĚNIT LIBOVOLNÝ DATABASE AUDIT ALDA SERVER Změnit libovolný SERVER AUDIT
DATABASE UPRAVIT LIBOVOLNÝ DATABASE DDL TRIGGER ALTG SERVER řídicí server
DATABASE ALTER ANY DATABASEEVENT NOTIFICATION ALED SERVER Změnit libovolný EVENT NOTIFICATION
DATABASE ALTER ANY DATABASEEVENT SESSION AADS SERVER Změnit libovolný EVENT SESSION
DATABASE ALTER ANY DATABASEEVENT SESSION ADD EVENT LDAE SERVER ZMĚNIT LIBOVOLNOU EVENT SESSION PŘIDAT UDÁLOST
DATABASE ALTER ANY DATABASEEVENT SESSION PŘIDAT CÍL LDAT SERVER ZMĚNIT LIBOVOLNÝ EVENT SESSION PŘIDAT CÍL
DATABASE ZMĚNIT LIBOVOLNÉ DATABASEEVENT SESSION ZAKÁZÁNÍ DDES SERVER ALTER ANY EVENT SESSION DISABLE
DATABASE změnit libovolnou DATABASEEVENT SESSION událost DROP EVENT LDDE SERVER ALTER ANY EVENT SESSION DROP EVENT
DATABASE ZMĚNIT LIBOVOLNÝ DATABASEEVENT SESSION CÍL ODSTRANĚNÍ LDDT SERVER ZMĚNIT LIBOVOLNÝ EVENT SESSION CÍL ODSTRANĚNÍ
DATABASE ALTER ANY DATABASEEVENT SESSION POVOLENÍ EDES SERVER ZMĚNIT LIBOVOLNÝ EVENT SESSION POVOLIT
DATABASE ZMĚNIT LIBOVOLNOU DATABASEEVENT SESSION MOŽNOST LDSO SERVER ZMĚNIT LIBOVOLNOU MOŽNOST EVENT SESSION
DATABASE Změnit libovolný DATABASE SCOPED CONFIGURATION ALDC

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE ZMĚNIT JAKÝKOLIV DATOVÝ PROSTOR ALDS SERVER řídicí server
DATABASE Změnit libovolný EXTERNAL DATA SOURCE AEDS SERVER řídicí server
DATABASE Změnit libovolný EXTERNAL FILE FORMAT AEFF SERVER řídicí server
DATABASE Upravit jakoukoli externí práci AESJ SERVER řídicí server
DATABASE Změnit libovolný EXTERNAL LANGUAGE ALLA SERVER řídicí server
DATABASE Změnit libovolný EXTERNAL LIBRARY ALEL SERVER řídicí server
DATABASE UPRAVIT JAKÝKOLIV EXTERNÍ PROUD AEST SERVER řídicí server
DATABASE Změnit libovolný FULLTEXT CATALOG ALFT SERVER řídicí server
DATABASE ZMĚNIT JAKOUKOLIV MASKU AAMK

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE Změnit libovolný MESSAGE TYPE ALMT SERVER řídicí server
DATABASE Změnit libovolný REMOTE SERVICE BINDING ALSB SERVER řídicí server
DATABASE Změnit libovolný ROLE ALRL SERVER řídicí server
DATABASE Změnit libovolný ROUTE ALRT SERVER řídicí server
DATABASE Změnit libovolný SCHEMA ALSM SERVER řídicí server
DATABASE Změnit libovolný SECURITY POLICY ALSP

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE Změnit libovolný SENSITIVITY CLASSIFICATION AASC
Platí pro SQL Server (SQL Server 2019 (15.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE Změnit libovolný SERVICE ALSV SERVER řídicí server
DATABASE Změnit libovolný SYMMETRIC KEY ALSK SERVER řídicí server
DATABASE Změnit libovolný USER ALUS SERVER řídicí server
DATABASE ZMĚNIT LEDGER ALR SERVER CONTROL
DATABASE ZMĚNIT KONFIGURACI ÚČETNÍ KNIHY ALC SERVER řídicí server
DATABASE AUTHENTICATE AUTH SERVER OVĚŘENÍ SERVERU
DATABASE BACKUP DATABASE BADB SERVER řídicí server
DATABASE BACKUP PROTOKOL BALO SERVER řídicí server
DATABASE CHECKPOINT CP SERVER řídicí server
DATABASE CONNECT CO SERVER řídicí server
DATABASE Replikace Connect CORP SERVER řídicí server
DATABASE CONTROL CL SERVER řídicí server
DATABASE CREATE AGGREGATE CRAG SERVER řídicí server
DATABASE VYTVÁŘEJTE JAKÝKOLI DATABASEEVENT SESSION CRDS SERVER VYTVOŘTE COKOLI EVENT SESSION
DATABASE CREATE ASSEMBLY CRAS SERVER řídicí server
DATABASE CREATE ASYMMETRIC KEY CRAK SERVER řídicí server
DATABASE CREATE CERTIFICATE CRCF SERVER řídicí server
DATABASE CREATE CONTRACT CRSC SERVER řídicí server
DATABASE CREATE DATABASE CRDB SERVER VYTVOŘIT LIBOVOLNÝ DATABASE
DATABASE CREATE DATABASE DDL EVENT NOTIFICATION CRED SERVER VYTVOŘIT DDL EVENT NOTIFICATION
DATABASE CREATE DEFAULT CRDF SERVER řídicí server
DATABASE CREATE EXTERNAL LANGUAGE CRLA SERVER řídicí server
DATABASE CREATE EXTERNAL LIBRARY CREL SERVER řídicí server
DATABASE CREATE FULLTEXT CATALOG CRFT SERVER řídicí server
DATABASE CREATE FUNCTION CRFN SERVER řídicí server
DATABASE CREATE MESSAGE TYPE CRMT SERVER řídicí server
DATABASE CREATE PROCEDURE CRPR SERVER řídicí server
DATABASE CREATE QUEUE CRQU SERVER řídicí server
DATABASE CREATE REMOTE SERVICE BINDING CRSB SERVER řídicí server
DATABASE CREATE ROLE CRRL SERVER řídicí server
DATABASE CREATE ROUTE CRRT SERVER řídicí server
DATABASE CREATE RULE CRRU SERVER řídicí server
DATABASE CREATE SCHEMA CRSM SERVER řídicí server
DATABASE CREATE SERVICE CRSV SERVER řídicí server
DATABASE CREATE SYMMETRIC KEY CRSK SERVER řídicí server
DATABASE CREATE SYNONYM CRSN SERVER řídicí server
DATABASE CREATE TABLE CRTB SERVER řídicí server
DATABASE CREATE TYPE CRTY SERVER řídicí server
DATABASE CREATE USER CUSR SERVER řídicí server
DATABASE CREATE VIEW CRVW SERVER řídicí server
DATABASE CREATE XML SCHEMA COLLECTION CRXS SERVER řídicí server
DATABASE DELETE DL SERVER řídicí server
DATABASE Přetáhněte libovolný DATABASEEVENT SESSION DRDS SERVER PUSŤTE LIBOVOLNÝ EVENT SESSION
DATABASE POVOLIT LEDGER EL SERVER CONTROL
DATABASE EXECUTE EX SERVER řídicí server
DATABASE SPUSŤTE JAKÝKOLI EXTERNÍ ENDPOINT EAEE SERVER řídicí server
DATABASE SPUSŤTE LIBOVOLNÝ EXTERNÍ SKRIPT EAES

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální).
SERVER řídicí server
DATABASE INSERT IN SERVER řídicí server
DATABASE UKONČIT DATABASE PŘIPOJENÍ KIDC

Platí jenom pro Azure SQL Database. Použití příkazu ALTER ANY CONNECTION na SQL Serveru
SERVER ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ
DATABASE REFERENCES RF SERVER řídicí server
DATABASE SELECT SL SERVER řídicí server
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE
DATABASE PŘIHLÁŠENÍ K ODBĚRU OZNÁMENÍ O DOTAZECH SUQN SERVER řídicí server
DATABASE PŘEVEZMĚTE ODPOVĚDNOST TO SERVER řídicí server
DATABASE UNMASK UMSK

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER řídicí server
DATABASE UPDATE UP SERVER řídicí server
DATABASE VIEW LIBOVOLNÁ COLUMN ENCRYPTION KEY DEFINICE VWCK

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER VIEW STAV SERVERU
DATABASE VIEW LIBOVOLNÁ COLUMN MASTER KEY DEFINICE VWCM

Platí pro SQL Server (SQL Server 2016 (13.x) až aktuální), Azure SQL Database.
SERVER VIEW STAV SERVERU
DATABASE VIEW LIBOVOLNÝ SENSITIVITY CLASSIFICATION VASC SERVER řídicí server
DATABASE VIEW KRYPTOGRAFICKY ZABEZPEČENÁ DEFINICE VCD SERVER VIEW JAKÁKOLI KRYPTOGRAFICKY ZABEZPEČENÁ DEFINICE
DATABASE VIEW DATABASE STAV VÝKONU VDP SERVER VIEW STAV VÝKONU SERVERU
DATABASE VIEW DATABASE AUDIT ZABEZPEČENÍ VDSA SERVER řídicí server
DATABASE VIEW DATABASE STAV ZABEZPEČENÍ VDS SERVER VIEW STAV ZABEZPEČENÍ SERVERU
DATABASE VIEW DATABASE STAV VWDS SERVER VIEW STAV SERVERU
DATABASE VIEW DEFINICE VW SERVER VIEW LIBOVOLNÁ DEFINICE
DATABASE VIEW OBSAH HLAVNÍ KNIHY VLC SERVER CONTROL
DATABASE VIEW DEFINICE ZABEZPEČENÍ VWS SERVER VIEW JAKÁKOLI DEFINICE ZABEZPEČENÍ
DATABASE VIEW DEFINICE VÝKONU VWP SERVER VIEW JAKÁKOLI DEFINICE VÝKONU
DATABASE SCOPED CREDENTIAL ALTER AL DATABASE CONTROL
DATABASE SCOPED CREDENTIAL CONTROL CL DATABASE CONTROL
DATABASE SCOPED CREDENTIAL REFERENCES RF DATABASE REFERENCES
DATABASE SCOPED CREDENTIAL PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
DATABASE SCOPED CREDENTIAL VIEW DEFINICE VW DATABASE VIEW DEFINICE
ENDPOINT ALTER AL SERVER Změnit libovolný ENDPOINT
ENDPOINT CONNECT CO SERVER řídicí server
ENDPOINT CONTROL CL SERVER řídicí server
ENDPOINT PŘEVEZMĚTE ODPOVĚDNOST TO SERVER řídicí server
ENDPOINT VIEW DEFINICE VW SERVER VIEW LIBOVOLNÁ DEFINICE
FULLTEXT CATALOG ALTER AL DATABASE Změnit libovolný FULLTEXT CATALOG
FULLTEXT CATALOG CONTROL CL DATABASE CONTROL
FULLTEXT CATALOG REFERENCES RF DATABASE REFERENCES
FULLTEXT CATALOG PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
FULLTEXT CATALOG VIEW DEFINICE VW DATABASE VIEW DEFINICE
FULLTEXT STOPLIST ALTER AL DATABASE Změnit libovolný FULLTEXT CATALOG
FULLTEXT STOPLIST CONTROL CL DATABASE CONTROL
FULLTEXT STOPLIST REFERENCES RF DATABASE REFERENCES
FULLTEXT STOPLIST PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
FULLTEXT STOPLIST VIEW DEFINICE VW DATABASE VIEW DEFINICE
LOGIN ALTER AL SERVER Změnit libovolný LOGIN
LOGIN CONTROL CL SERVER řídicí server
LOGIN IMPERSONATE IM SERVER řídicí server
LOGIN VIEW DEFINICE VW SERVER VIEW LIBOVOLNÁ DEFINICE
MESSAGE TYPE ALTER AL DATABASE Změnit libovolný MESSAGE TYPE
MESSAGE TYPE CONTROL CL DATABASE CONTROL
MESSAGE TYPE REFERENCES RF DATABASE REFERENCES
MESSAGE TYPE PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
MESSAGE TYPE VIEW DEFINICE VW DATABASE VIEW DEFINICE
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 PŘEVEZMĚTE ODPOVĚDNOST TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT VIEW SLEDOVÁNÍ ZMĚN VWCT SCHEMA VIEW SLEDOVÁNÍ ZMĚN
OBJECT VIEW DEFINICE VW SCHEMA VIEW DEFINICE
REMOTE SERVICE BINDING ALTER AL DATABASE Změnit libovolný REMOTE SERVICE BINDING
REMOTE SERVICE BINDING CONTROL CL DATABASE CONTROL
REMOTE SERVICE BINDING PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
REMOTE SERVICE BINDING VIEW DEFINICE VW DATABASE VIEW DEFINICE
ROLE ALTER AL DATABASE Změnit libovolný ROLE
ROLE CONTROL CL DATABASE CONTROL
ROLE PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
ROLE VIEW DEFINICE VW DATABASE VIEW DEFINICE
ROUTE ALTER AL DATABASE Změnit libovolný ROUTE
ROUTE CONTROL CL DATABASE CONTROL
ROUTE PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
ROUTE VIEW DEFINICE VW DATABASE VIEW DEFINICE
SCHEMA ALTER AL DATABASE Změnit libovolný 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 PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA VIEW SLEDOVÁNÍ ZMĚN VWCT DATABASE VIEW SLEDOVÁNÍ ZMĚN
SCHEMA VIEW DEFINICE VW DATABASE VIEW DEFINICE
SEARCH PROPERTY LIST ALTER AL SERVER Změnit libovolný FULLTEXT CATALOG
SEARCH PROPERTY LIST CONTROL CL SERVER CONTROL
SEARCH PROPERTY LIST REFERENCES RF SERVER REFERENCES
SEARCH PROPERTY LIST PŘEVEZMĚTE ODPOVĚDNOST TO SERVER CONTROL
SEARCH PROPERTY LIST VIEW DEFINICE VW SERVER VIEW DEFINICE
SERVER ADMINISTRACE HROMADNÝCH OPERACÍ ADBO Není relevantní Není relevantní
SERVER Změnit libovolný AVAILABILITY GROUP ALAG Není relevantní Není relevantní
SERVER ZÁMĚNA JAKÉKOLIV PŘIPOJENÍ ALCO Není relevantní Není relevantní
SERVER Změnit libovolný CREDENTIAL ALCD Není relevantní Není relevantní
SERVER Změnit libovolný DATABASE ALDB Není relevantní Není relevantní
SERVER Změnit libovolný ENDPOINT ALHE Není relevantní Není relevantní
SERVER Změnit libovolný EVENT NOTIFICATION ALES Není relevantní Není relevantní
SERVER Změnit libovolný EVENT SESSION AAES Není relevantní Není relevantní
SERVER ZMĚNIT LIBOVOLNOU EVENT SESSION PŘIDAT UDÁLOST LSAE Není relevantní Není relevantní
SERVER ZMĚNIT LIBOVOLNÝ EVENT SESSION PŘIDAT CÍL LSAT Není relevantní Není relevantní
SERVER ALTER ANY EVENT SESSION DISABLE DES Není relevantní Není relevantní
SERVER ALTER ANY EVENT SESSION DROP EVENT LSDE Není relevantní Není relevantní
SERVER ZMĚNIT LIBOVOLNÝ EVENT SESSION CÍL ODSTRANĚNÍ LSDT Není relevantní Není relevantní
SERVER ZMĚNIT LIBOVOLNÝ EVENT SESSION POVOLIT EES Není relevantní Není relevantní
SERVER ZMĚNIT LIBOVOLNOU MOŽNOST EVENT SESSION LESO Není relevantní Není relevantní
SERVER ZMĚNIT JAKÝKOLI PROPOJENÝ SERVER ALLS Není relevantní Není relevantní
SERVER Změnit libovolný LOGIN ALLG Není relevantní Není relevantní
SERVER Změnit libovolný SERVER AUDIT ALAA Není relevantní Není relevantní
SERVER Změnit libovolný SERVER ROLE ALSR Není relevantní Není relevantní
SERVER Změnit zdroje ALRS Není relevantní Není relevantní
SERVER Změnit stav serveru ALSS Není relevantní Není relevantní
SERVER Změnit nastavení ALST Není relevantní Není relevantní
SERVER ALTER TRACE ALTR Není relevantní Není relevantní
SERVER OVĚŘENÍ SERVERU AUTH Není relevantní Není relevantní
SERVER PŘIPOJTE JAKÉKOLI DATABASE CADB Není relevantní Není relevantní
SERVER CONNECT SQL COSQ Není relevantní Není relevantní
SERVER řídicí server CL Není relevantní Není relevantní
SERVER VYTVOŘIT LIBOVOLNÝ DATABASE CRDB Není relevantní Není relevantní
SERVER CREATE AVAILABILITY GROUP CRAC Není relevantní Není relevantní
SERVER VYTVOŘIT DDL EVENT NOTIFICATION CRDE Není relevantní Není relevantní
SERVER CREATE ENDPOINT CRHE Není relevantní Není relevantní
SERVER CREATE SERVER ROLE CRSR Není relevantní Není relevantní
SERVER VYTVOŘIT TRASOVÁNÍ EVENT NOTIFICATION CRTE Není relevantní Není relevantní
SERVER EXTERNÍ PŘÍSTUP ASSEMBLY XA Není relevantní Není relevantní
SERVER ZOSOBNIT LIBOVOLNÝ LOGIN IAL Není relevantní Není relevantní
SERVER VYBRAT VŠECHNY USER ZABEZPEČITELNÉ OBJEKTY SUS Není relevantní Není relevantní
SERVER SHUTDOWN SHDN Není relevantní Není relevantní
SERVER NEBEZPEČNÉ ASSEMBLY XU Není relevantní Není relevantní
SERVER VIEW LIBOVOLNÝ DATABASE VWDB Není relevantní Není relevantní
SERVER VIEW LIBOVOLNÁ DEFINICE VWAD Není relevantní Není relevantní
SERVER VIEW STAV SERVERU VWSS Není relevantní Není relevantní
SERVER ROLE ALTER AL SERVER Změnit libovolný SERVER ROLE
SERVER ROLE CONTROL CL SERVER řídicí server
SERVER ROLE PŘEVEZMĚTE ODPOVĚDNOST TO SERVER řídicí server
SERVER ROLE VIEW DEFINICE VW SERVER VIEW LIBOVOLNÁ DEFINICE
SERVICE ALTER AL DATABASE Změnit libovolný SERVICE
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
SERVICE VIEW DEFINICE VW DATABASE VIEW DEFINICE
SYMMETRIC KEY ALTER AL DATABASE Změnit libovolný SYMMETRIC KEY
SYMMETRIC KEY CONTROL CL DATABASE CONTROL
SYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
SYMMETRIC KEY PŘEVEZMĚTE ODPOVĚDNOST TO DATABASE CONTROL
SYMMETRIC KEY VIEW DEFINICE VW DATABASE VIEW DEFINICE
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE PŘEVEZMĚTE ODPOVĚDNOST TO SCHEMA CONTROL
TYPE VIEW DEFINICE VW SCHEMA VIEW DEFINICE
USER ALTER AL DATABASE Změnit libovolný USER
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VIEW DEFINICE VW DATABASE VIEW DEFINICE
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 PŘEVEZMĚTE ODPOVĚDNOST TO SCHEMA CONTROL
XML SCHEMA COLLECTION VIEW DEFINICE VW SCHEMA VIEW DEFINICE

Nová podrobná oprávnění přidaná do SQL Serveru 2022

Do SQL Serveru 2022 se přidají následující oprávnění:

  • Bylo přidáno 10 nových oprávnění pro povolení přístupu k systémovým metadatům.

  • Pro rozšířené události bylo přidáno 18 nových oprávnění.

  • 9 nových oprávnění byla přidána s ohledem na objekty související se zabezpečením.

  • Pro Ledger byla přidána 4 oprávnění.

  • 3 další oprávnění k databázi.

Další informace najdete v tématu Nová podrobná oprávnění pro SQL Server 2022 a Azure SQL ke zlepšení dodržování poLP.

Přístup k oprávněním systémových metadat

Úroveň serveru:

  • VIEW JAKÁKOLI DEFINICE ZABEZPEČENÍ
  • VIEW JAKÁKOLI DEFINICE VÝKONU
  • VIEW STAV ZABEZPEČENÍ SERVERU
  • VIEW STAV VÝKONU SERVERU
  • VIEW JAKÁKOLI KRYPTOGRAFICKY ZABEZPEČENÁ DEFINICE

Úroveň databáze:

  • VIEW DATABASE STAV ZABEZPEČENÍ
  • VIEW DATABASE STAV VÝKONU
  • VIEW DEFINICE ZABEZPEČENÍ
  • VIEW DEFINICE VÝKONU
  • VIEW KRYPTOGRAFICKY ZABEZPEČENÁ DEFINICE

Rozšířená oprávnění k událostem

Úroveň serveru:

  • VYTVOŘIT LIBOVOLNÝ EVENT SESSION
  • PUSŤTE LIBOVOLNÝ EVENT SESSION
  • ZMĚNIT LIBOVOLNOU MOŽNOST EVENT SESSION
  • ZMĚNIT LIBOVOLNOU EVENT SESSION PŘIDAT UDÁLOST
  • ALTER ANY EVENT SESSION DROP EVENT
  • ZMĚNIT LIBOVOLNÝ EVENT SESSION POVOLIT
  • ALTER ANY EVENT SESSION DISABLE
  • ZMĚNIT LIBOVOLNÝ EVENT SESSION PŘIDAT CÍL
  • ZMĚNIT LIBOVOLNÝ EVENT SESSION CÍL ODSTRANĚNÍ

Všechna tato oprávnění spadají pod stejné nadřazené oprávnění: ALTER ANY EVENT SESSION

Úroveň databáze:

  • VYTVÁŘEJTE JAKÝKOLI DATABASEEVENT SESSION
  • Přetáhněte libovolný DATABASEEVENT SESSION
  • ZMĚNIT LIBOVOLNOU DATABASEEVENT SESSION MOŽNOST
  • ALTER ANY DATABASEEVENT SESSION ADD EVENT
  • změnit libovolnou DATABASEEVENT SESSION událost DROP EVENT
  • ALTER ANY DATABASEEVENT SESSION POVOLENÍ
  • ZMĚNIT LIBOVOLNÉ DATABASEEVENT SESSION ZAKÁZÁNÍ
  • ALTER ANY DATABASEEVENT SESSION PŘIDAT CÍL
  • ZMĚNIT LIBOVOLNÝ DATABASEEVENT SESSION CÍL ODSTRANĚNÍ

Všechna tato oprávnění jsou pod stejným nadřazeným oprávněním: ALTER ANY DATABASEEVENT SESSION

  • OVLÁDÁNÍ (CREDENTIAL)
  • CREATE LOGIN
  • CREATE USER
  • ODKAZY (CREDENTIAL)
  • ODMASKOVAT (OBJECT)
  • UNMASK (SCHEMA)
  • VIEW LIBOVOLNÝ PROTOKOL O CHYBÁCH
  • VIEW AUDIT ZABEZPEČENÍ SERVERU
  • VIEW DATABASE AUDIT ZABEZPEČENÍ

Oprávnění účetní knihy

  • ZMĚNIT LEDGER
  • ZMĚNIT KONFIGURACI ÚČETNÍ KNIHY
  • POVOLIT LEDGER
  • VIEW OBSAH HLAVNÍ KNIHY

Další oprávnění k databázi

  • Upravit jakoukoli externí práci
  • UPRAVIT JAKÝKOLIV EXTERNÍ PROUD
  • SPUSŤTE JAKÝKOLI EXTERNÍ ENDPOINT

Shrnutí algoritmu kontroly oprávnění

Kontrola oprávnění může být složitá. Algoritmus kontroly oprávnění zahrnuje překrývající se členství ve skupinách a řetězení vlastnictví, explicitní i implicitní oprávnění a může být ovlivněn oprávněními k zabezpečitelným třídám, které obsahují zabezpečitelnou entitu. Obecným procesem algoritmu je shromáždit všechna příslušná oprávnění. Pokud se nenajde žádný blokující prvek DENY, algoritmus hledá GRANT, který poskytuje dostatečný přístup. Algoritmus obsahuje tři základní prvky, kontext zabezpečení, prostor oprávnění a požadované oprávnění.

Note

Nemůžete udělit, odepřít ani odvolat oprávnění k sa, dbovlastníkovi entity, information_schemasysnebo sami sobě.

  • Kontext zabezpečení

    Toto je skupina hlavních subjektů, které přidávají oprávnění ke kontrole přístupu. Jedná se o oprávnění, která souvisejí s aktuálním přihlášením nebo uživatelem, pokud se kontext zabezpečení nezměnil na jiné přihlášení nebo uživatele pomocí příkazu EXECUTE AS . Kontext zabezpečení zahrnuje následující principály:

    • Přihlášení

    • Uživatel

    • Členství v rolích

    • Členství ve skupinách Windows

    • Pokud se používá podepisování modulů, jakýkoli přihlašovací nebo uživatelský účet spojený s certifikátem použitým k podepsání modulu, který právě provádí uživatel, a s ním související členství v rolích dané entity.

  • Prostor pro oprávnění

    Jedná se o zabezpečitelnou entitu a všechny zabezpečitelné třídy, které obsahují zabezpečitelné. Například tabulka (zabezpečitelná entita) je obsažena zabezpečitelnou třídou schématu a zabezpečitelnou třídou databáze. Přístup může mít vliv na oprávnění na úrovni tabulky, schématu, databáze a serveru. Další informace naleznete v tématu Hierarchie oprávnění (databázový stroj).

  • Požadovaná oprávnění

    Typ požadovaného oprávnění. Například INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL atd.

    Access může vyžadovat více oprávnění, jako v následujících příkladech:

    • Uložená procedura může vyžadovat oprávnění EXECUTE pro uloženou proceduru i INSERT oprávnění u několika tabulek, na které odkazuje uložená procedura.

    • Dynamické zobrazení pro správu může vyžadovat oprávnění VIEW SERVER STATE i oprávnění SELECT pro toto zobrazení.

Obecné kroky algoritmu

Když algoritmus určuje, jestli má povolit přístup k zabezpečitelnému objektu, může se přesné kroky, které používá, lišit v závislosti na principalech a zabezpečitelných objektech. Algoritmus však provádí následující obecné kroky:

  1. Pokud je přihlášení členem pevné role serveru sysadmin, nebo jestli je uživatel uživatelem dbo v aktuální databázi, obejděte kontrolu oprávnění.

  2. Povolit přístup, pokud lze použít řetězení vlastnictví a kontrola přístupu u dřívějšího objektu v řetězu prošla kontrolou zabezpečení.

  3. Agregujte identity na úrovni serveru, databáze a podepsaného modulu, které jsou přidružené volajícímu, a vytvořte kontext zabezpečení.

  4. Pro tento kontext zabezpečení shromážděte všechna oprávnění udělená nebo odepřená pro prostor oprávnění. Oprávnění lze explicitně uvést jako GRANT, GRANT WITH GRANT, nebo DENY; nebo oprávnění mohou být implicitní nebo pokrývající oprávnění GRANT nebo DENY. Například oprávnění CONTROL pro schéma znamená CONTROL v tabulce. A CONTROL v tabulce znamená SELECT. Pokud tedy bylo uděleno oprávnění ovládat schéma, je uděleno oprávnění SELECT na tabulku. Pokud byl ovládací prvek v tabulce odepřen, příkaz SELECT v tabulce je odepřen.

    Note

    GRANT oprávnění na úrovni sloupce má přednost před DENY oprávněním na úrovni objektu. Další informace naleznete v tématu DENY Oprávnění objektu.

  5. Identifikujte požadovaná oprávnění.

  6. Kontrola oprávnění se nezdaří, pokud je požadované oprávnění přímo nebo implicitně odepřeno jakékoli identitě v kontextu zabezpečení pro objekty v prostoru oprávnění.

  7. Kontrola oprávnění je úspěšná, pokud požadované oprávnění nebylo odepřeno a požadované oprávnění obsahuje GRANT nebo GRANT s oprávněním GRANT buď přímo, nebo implicitně vůči kterékoli z identit v kontextu zabezpečení pro libovolný objekt v prostoru oprávnění.

Zvláštní aspekty oprávnění na úrovni sloupců

Oprávnění na úrovni sloupce jsou udělena pomocí syntaxe <table_name>(<sloupec _name>). Například:

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

DENY na tabulce je přepsán hodnotou ve sloupci GRANT. Následující DENY v tabulce však odebere sloupec GRANT.

Examples

Příklady v této části ukazují, jak načíst informace o oprávněních.

A. Vrácení kompletního seznamu udělených oprávnění

Následující příkaz pomocí funkce vrátí všechna oprávnění databázového engine. Další informace najdete v tématu sys.fn_builtin_permissions.

SELECT * FROM fn_builtin_permissions(default);
GO

B. Vrácení oprávnění pro konkrétní třídu objektů

Následující příklad používá fn_builtin_permissions k zobrazení všech oprávnění, která jsou k dispozici pro kategorii zabezpečitelné. Příklad vrátí oprávnění na sestavách.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Vrácení oprávnění udělených vykonávajícímu subjektu na objektu

Následující příklad používá fn_my_permissions k vrácení seznamu efektivních oprávnění, která jsou držena volajícím subjektem na zadaném zabezpečitelném objektu. Příklad vrátí oprávnění k objektu s názvem Orders55. Další informace najdete v tématu sys.fn_my_permissions.

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

D. Vrácení oprávnění platných pro zadaný objekt

Následující příklad vrátí oprávnění použitelná pro objekt s názvem Yttrium. Integrovaná funkce OBJECT_ID se používá k načtení ID objektu Yttrium.

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