Megosztás a következőn keresztül:


Engedélyek: ENGEDÉLYEZÉS, MEGTAGADÁS, VISSZAVONÁS

A következőkre vonatkozik:Azure Synapse Analytics AnalyticsPlatform System (PDW)SQL-végpont a Microsoft FabricWarehouse-ban a Microsoft Fabricben

A GRANT és DENY utasításokkal engedélyt adhat vagy tagadhat meg (például FRISSÍTÉS) egy biztonságos (például adatbázis, tábla, nézet stb.) rendszerbiztonsági tagnak (bejelentkezés, adatbázis-felhasználó vagy adatbázis-szerepkör) való megadásához vagy megtagadásához. A VISSZAVONÁS paranccsel eltávolíthatja az engedély megadását vagy megtagadását.

A rendszer kiszolgálószintű engedélyeket alkalmaz a bejelentkezésekre. Az adatbázisszintű engedélyek adatbázis-felhasználókra és adatbázis-szerepkörökre lesznek alkalmazva.

A megadott és megtagadott engedélyek megtekintéséhez kérdezze le a sys.server_permissions és sys.database_permissions nézeteket. A rendszerbiztonsági tag számára explicit módon nem adott vagy megtagadott engedélyek öröklődhetnek, ha engedélyekkel rendelkező szerepkörben tagsággal rendelkeznek. A rögzített adatbázis-szerepkörök engedélyei nem módosíthatók, és nem jelennek meg a sys.server_permissions és sys.database_permissions nézetekben.

  • A GRANT explicit módon egy vagy több engedélyt ad meg.

  • A DENY explicit módon megtagadja a rendszerbiztonsági tagot egy vagy több engedélytől.

  • A REVOKE eltávolítja a meglévő GRANT vagy DENY engedélyeket.

Transact-SQL szintaxis konvenciók

Szintaxis

-- Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
GRANT   
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    TO principal [ ,...n ]  
    [ WITH GRANT OPTION ]  
[;]  
  
DENY   
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    TO principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
REVOKE   
    <permission> [ ,...n ]  
    [ ON [ <class_type> :: ] securable ]   
    [ FROM | TO ] principal [ ,...n ]  
    [ CASCADE ]  
[;]  
  
<permission> ::=  
{ see the tables below }  
  
<class_type> ::=  
{  
      LOGIN  
    | DATABASE  
    | OBJECT  
    | ROLE  
    | SCHEMA  
    | USER  
}  

Argumentumok

<engedély>[ ,... n ]
Egy vagy több engedély megadása, megtagadása vagy visszavonása.

ON [ <class_type> :: ] securable Az ON záradék azt a biztonságos paramétert írja le, amelyre engedélyeket kell megadni, megtagadni vagy visszavonni.

<> class_type A biztonságos osztály típusa. Ez lehet BEJELENTKEZÉS, ADATBÁZIS, OBJEKTUM, SÉMA, SZEREPKÖR VAGY FELHASZNÁLÓ. A KISZOLGÁLÓclass_type is megadhat engedélyeket, de a KISZOLGÁLÓ nincs megadva ezekhez az engedélyekhez. A DATABASE nincs megadva, ha az engedély tartalmazza az ADATBÁZIS szót (például ALTER ANY DATABASE). Ha nincs megadva class_type, és az engedélytípus nem korlátozódik a kiszolgáló- vagy adatbázisosztályra, a rendszer objektumnak tekinti a osztályt.

Securable
Annak a bejelentkezésnek, adatbázisnak, táblának, nézetnek, sémának, eljárásnak, szerepkörnek vagy felhasználónak a neve, amelyen engedélyeket kell megadni, megtagadni vagy visszavonni. Az objektum neve megadható a Transact-SQL szintaxiskonvenciáiban leírt háromrészes elnevezési szabályokkal.

TO principal [ ,... n ]
Egy vagy több rendszerbiztonsági tag kap, megtagad vagy visszavont engedélyeket. A rendszerbiztonsági tag egy bejelentkezési, adatbázis-felhasználó vagy adatbázis-szerepkör neve.

FROM principal [ ,... n ]
Egy vagy több résztvevő, akitől visszavonhatja az engedélyeket. A rendszerbiztonsági tag egy bejelentkezési, adatbázis-felhasználó vagy adatbázis-szerepkör neve. A FROM csak REVOKE utasítással használható. A TO a GRANT, DENY vagy REVOKE utasítással használható.

A MEGADÁS LEHETŐSÉGGEL
Azt jelzi, hogy a kedvezményezettnek lehetősége lesz a megadott engedélyt más tagoknak is megadni.

CASCADE
Azt jelzi, hogy a rendszer megtagadja vagy visszavonja az engedélyt a megadott rendszerbiztonsági tagnak és az összes olyan résztvevőnek, amelyhez a rendszerbiztonsági tag engedélyt adott. Akkor szükséges, ha a rendszerbiztonsági tag rendelkezik a GRANT OPTION engedéllyel.

ENGEDÉLYEZÉSI LEHETŐSÉG A KÖVETKEZŐHÖZ:
Azt jelzi, hogy a megadott engedély megadásának lehetősége vissza lesz vonva. Erre a CASCADE argumentum használatakor van szükség.

Fontos

Ha a rendszerbiztonsági tag rendelkezik a megadott engedéllyel a GRANT lehetőség nélkül, az engedélyt maga a rendszer visszavonja.

Engedélyek

Az engedély megadásához az engedélyezőnek magával az engedéllyel kell rendelkeznie a WITH GRANT LEHETŐSÉGgel, vagy olyan magasabb szintű engedéllyel kell rendelkeznie, amely magában foglalja az engedély megadását. Az objektumtulajdonosok engedélyeket adhatnak a saját objektumaikhoz. Azok a rendszerbiztonsági tagok, amelyek control engedéllyel rendelkeznek egy biztonságos eszközön, engedélyt adhatnak a biztonságossá tételhez. A db_owner és db_securityadmin rögzített adatbázis-szerepkörök tagjai bármilyen engedélyt megadhatnak az adatbázisban.

Általános megjegyzések

A rendszerbiztonsági tag engedélyeinek megtagadása vagy visszavonása nem érinti azokat a kéréseket, amelyek már át lettek adva az engedélyezésen, és jelenleg futnak. A hozzáférés azonnali korlátozásához le kell mondania az aktív kéréseket, vagy le kell tiltania az aktuális munkameneteket.

Megjegyzés

A legtöbb rögzített kiszolgálói szerepkör ebben a kiadásban nem érhető el. Használjon inkább felhasználó által definiált adatbázis-szerepköröket. Bejelentkezések nem adhatók hozzá a sysadmin rögzített kiszolgálói szerepkörhöz. A CONTROL SERVER engedély megadása megközelíti a sysadmin rögzített kiszolgálói szerepkör tagságát.

Egyes utasításokhoz több engedély szükséges. Egy tábla létrehozásához például szükség van a CREATE TABLE engedélyre az adatbázisban, és az ALTER SCHEMA engedélyre a táblát tartalmazó táblához.

Az Analytics Platform System (PDW) néha tárolt eljárásokat hajt végre a felhasználói műveletek számítási csomópontokra való elosztásához. Ezért a teljes adatbázis végrehajtási engedélye nem tagadható meg. (Például DENY EXECUTE ON DATABASE::<name> TO <user>; sikertelen lesz.) Megkerülő megoldásként tiltsa le a felhasználói sémákra vagy adott objektumokra (eljárásokra) vonatkozó végrehajtási engedélyt.

A Microsoft Fabricben a CREATE USER jelenleg nem hajtható végre explicit módon. A GRANT vagy a DENY végrehajtásakor a rendszer automatikusan létrehozza a felhasználót.

A Microsoft Fabricben a kiszolgálószintű engedélyek nem kezelhetők.

Implicit és explicit engedélyek

Az explicit engedély egy GRANT vagy DENY utasítás által a rendszerbiztonsági tagnak adott GRANT vagy DENY engedély.

Az implicit engedély olyan GRANT vagy DENY engedély, amelyet egy rendszerbiztonsági tag (bejelentkezési, felhasználói vagy adatbázis-szerepkör) örökölt egy másik adatbázis-szerepkörtől.

Az implicit engedélyek egy burkoló vagy szülő engedélytől is öröklődhetnek. Például a tábla UPDATE engedélye örökölhető úgy, hogy a táblát tartalmazó sémára frissítési engedéllyel, vagy a táblára vonatkozó CONTROL engedéllyel rendelkezik.

Tulajdonosi láncolás

Ha több adatbázis-objektum egymás után éri el egymást, a sorozatot láncnak nevezzük. Bár ezek a láncok egymástól függetlenül nem léteznek, amikor SQL Server bejárják a láncban lévő hivatkozásokat, SQL Server másképp értékeli ki az összetevőkre vonatkozó engedélyeket, mint ha külön-külön férne hozzá az objektumokhoz. A tulajdonjog-láncolás fontos hatással van a biztonság kezelésére. További információ a tulajdonjogi láncokról: Tulajdonjogi láncok és oktatóanyag: Tulajdonjogi láncok és környezetváltás.

Engedélylista

Kiszolgálószintű engedélyek

A kiszolgálószintű engedélyek megadhatók, megtagadhatók és visszavonhatók a bejelentkezésekből.

Kiszolgálókra vonatkozó engedélyek

  • VEZÉRLŐKISZOLGÁLÓ

  • TÖMEGES MŰVELETEK FELÜGYELETE

  • BÁRMELY KAPCSOLAT MÓDOSÍTÁSA

  • BÁRMELY ADATBÁZIS MÓDOSÍTÁSA

  • BÁRMELY ADATBÁZIS LÉTREHOZÁSA

  • KÜLSŐ ADATFORRÁS MÓDOSÍTÁSA

  • KÜLSŐ FÁJLFORMÁTUM MÓDOSÍTÁSA

  • BÁRMELY BEJELENTKEZÉS MÓDOSÍTÁSA

  • A KISZOLGÁLÓ ÁLLAPOTÁNAK MÓDOSÍTÁSA

  • SQL CSATLAKOZTATÁSA

  • BÁRMELY DEFINÍCIÓ MEGTEKINTÉSE

  • BÁRMELY ADATBÁZIS MEGTEKINTÉSE

  • KISZOLGÁLÓ ÁLLAPOTÁNAK MEGTEKINTÉSE

Bejelentkezésekre vonatkozó engedélyek

  • BEJELENTKEZÉS VEZÉRLÉSE

  • MÓDOSÍTÁS BEJELENTKEZÉSKOR

  • BEJELENTKEZÉS MEGSZEMÉLYESÍTÉSE

  • DEFINÍCIÓ MEGTEKINTÉSE

Adatbázisszintű engedélyek

Az adatbázisszintű engedélyeket az adatbázis-felhasználóktól és a felhasználó által definiált adatbázis-szerepköröktől lehet megadni, megtagadni és visszavonni.

Az összes adatbázisosztályra vonatkozó engedélyek

  • ELLENŐRZÉS

  • ALTER

  • DEFINÍCIÓ MEGTEKINTÉSE

Az összes adatbázisosztályra vonatkozó engedélyek a felhasználók kivételével

  • TULAJDONJOG ÁTVÉTELE

Csak az adatbázisokra vonatkozó engedélyek

  • BÁRMELY ADATBÁZIS MÓDOSÍTÁSA

  • ALTER ON DATABASE

  • BÁRMELY ADATTÉR MÓDOSÍTÁSA

  • BÁRMELY SZEREPKÖR MÓDOSÍTÁSA

  • SÉMA MÓDOSÍTÁSA

  • BÁRMELY FELHASZNÁLÓ MÓDOSÍTÁSA

  • BIZTONSÁGI MENTÉSI ADATBÁZIS

  • CSATLAKOZÁS AZ ADATBÁZISHOZ

  • LÉTREHOZÁSI ELJÁRÁS

  • SZEREPKÖR LÉTREHOZÁSA

  • SÉMA LÉTREHOZÁSA

  • CREATE TABLE

  • CREATE VIEW

  • SHOWPLAN

Csak a felhasználókra vonatkozó engedélyek

  • MEGSZEMÉLYESÍTENI

Adatbázisokra, sémákra és objektumokra vonatkozó engedélyek

  • ALTER

  • DELETE

  • VÉGRE

  • INSERT

  • SELECT

  • UPDATE

  • HIVATKOZÁSOK

Az egyes engedélytípusok definícióját az Engedélyek (adatbázismotor) című témakörben tekintheti meg.

Engedélyek diagramja

Minden engedély grafikusan jelenik meg ezen a poszteren. Ez a legegyszerűbb módja az engedélyek beágyazott hierarchiájának megtekintésének. Például az ALTER ON LOGIN engedély önmagában is megadható, de akkor is, ha a bejelentkezéshez control engedélyt kap az adott bejelentkezéshez, vagy ha a bejelentkezés az ALTER ANY LOGIN engedélyt kapja.

APS biztonsági engedélyek poszter

Alapértelmezett engedélyek

Az alábbi lista az alapértelmezett engedélyeket ismerteti:

  • Ha a CREATE LOGIN utasítással hoz létre bejelentkezést, az új bejelentkezés megkapja a CONNECT SQL-engedélyt .

  • Minden bejelentkezés a nyilvános kiszolgálói szerepkör tagja, és nem távolítható el a nyilvánosból.

  • Ha egy adatbázis-felhasználó a CREATE USER engedéllyel jön létre, az adatbázis-felhasználó a CONNECT engedélyt kapja az adatbázisban.

  • Minden rendszerbiztonsági tag, beleértve a nyilvános szerepkört is, alapértelmezés szerint nem rendelkezik explicit vagy implicit engedélyekkel.

  • Amikor egy bejelentkezés vagy felhasználó egy adatbázis vagy objektum tulajdonosa lesz, a bejelentkezés vagy a felhasználó mindig rendelkezik az adatbázisra vagy objektumra vonatkozó összes engedéllyel. A tulajdonosi engedélyek nem módosíthatók, és nem láthatók explicit engedélyként. A GRANT, a DENY és a REVOKE utasítás nincs hatással a tulajdonosokra.

  • Az sa-bejelentkezés minden engedéllyel rendelkezik a berendezésen. A tulajdonosi engedélyekhez hasonlóan az sa-engedélyek nem módosíthatók, és nem láthatók explicit engedélyként. A GRANT, a DENY és a REVOKE utasítás nincs hatással az sa loginra. Az sa bejelentkezési név nem nevezhető át.

  • A USE utasításhoz nincs szükség engedélyekre. Minden rendszerbiztonsági tag futtathatja a USE utasítást bármely adatbázisban.

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

A. Kiszolgálószintű engedély megadása bejelentkezéshez

Az alábbi két utasítás kiszolgálószintű engedélyt ad a bejelentkezéshez.

GRANT CONTROL SERVER TO [Ted];  
GRANT ALTER ANY DATABASE TO Mary;  

B. Kiszolgálószintű engedély megadása bejelentkezéshez

Az alábbi példa kiszolgálószintű engedélyt ad egy kiszolgálónévhez való bejelentkezéshez (egy másik bejelentkezéshez).

GRANT  VIEW DEFINITION ON LOGIN::Ted TO Mary;  

C. Adatbázisszintű engedély megadása egy felhasználónak

Az alábbi példa adatbázisszintű engedélyt ad egy felhasználónak egy adatbázis-résztvevőnek (egy másik felhasználónak).

GRANT VIEW DEFINITION ON USER::[Ted] TO Mary;  

D. Sémaengedély megadása, elutasítása és visszavonása

A következő GRANT utasítás lehetővé teszi Yuen számára, hogy adatokat válasszon ki a dbo sémában lévő bármely táblából vagy nézetből.

GRANT SELECT ON SCHEMA::dbo TO [Yuen];  

Az alábbi DENY utasítás megakadályozza, hogy Yuen adatokat válasszon ki a dbo sémában lévő bármely táblából vagy nézetből. Yuen akkor sem tudja olvasni az adatokat, ha más módon, például szerepkör-tagsággal rendelkezik.

DENY SELECT ON SCHEMA::dbo TO [Yuen];  

A következő REVOKE utasítás eltávolítja a DENY engedélyt. Yuen explicit engedélyei semlegesek. Yuen más implicit engedély, például szerepkör-tagság révén bármely táblából kiválaszthat adatokat.

REVOKE SELECT ON SCHEMA::dbo TO [Yuen];  

E. A választható OBJECT:: záradék bemutatása

Mivel az OBJECT egy engedélyutasítás alapértelmezett osztálya, a következő két utasítás megegyezik. Az OBJECT:: záradék megadása nem kötelező.

GRANT UPDATE ON OBJECT::dbo.StatusTable TO [Ted];  
GRANT UPDATE ON dbo.StatusTable TO [Ted];