Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Engedélyeket ad egy táblához, nézethez, táblaértékű függvényhez, tárolt eljáráshoz, kiterjesztett tárolt eljáráshoz, skaláris függvényhez, összesítő függvényhez, szolgáltatássorhoz vagy szinonimához.
Transact-SQL szintaxis konvenciók
Syntax
GRANT <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column_name [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission> ::=
ALL [ PRIVILEGES ] | permission [ ( column_name [ ,...n ] ) ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission
Olyan engedélyt ad meg, amely egy séma által tartalmazott objektumon adható meg. Az engedélyek listáját a Megjegyzések című témakörben találja.
ALL
Az ALL megadása nem ad meg minden lehetséges engedélyt. Az ALL megadása egyenértékű a megadott objektumra vonatkozó összes ANSI-92-engedély biztosításával. Az ALL jelentése az alábbiak szerint változik:
- Skaláris függvény engedélyei: EXECUTE, REFERENCES.
- Táblaértékű függvényengedélyek: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
- Tárolt eljárás engedélyei: EXECUTE.
- Táblaengedélyek: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
- Engedélyek megtekintése: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
Caution
Az ALL engedély elavult, és csak kompatibilitás céljából van fenntartva.
PRIVILEGES
Az ANSI-92-megfelelőség része. Nem módosítja az ALL viselkedését.
column_name
Egy oszlop nevét adja meg egy táblában, nézetben vagy táblaértékben megadott függvényben, amelyen az engedély meg van adva. A zárójelek ( ) megadása kötelező. Oszlopon csak SELECT, REFERENCES, UPDATE és UNMASK engedélyek adhatóak meg. column_name meg lehet adni az engedélyek záradékában vagy a biztonságos név után.
Caution
A táblaszintű DENY nem élvez elsőbbséget az oszlopszintű GRANT értéknél. Az engedélyhierarchiában ez az inkonzisztencia megmarad a visszamenőleges kompatibilitás érdekében.
A [ TÁRGY :: ] [ schema_name ] . object_name
Azt az objektumot adja meg, amelyen az engedély meg van adva. Az OBJECT kifejezés nem kötelező, ha schema_name van megadva. Ha az OBJECT kifejezést használja, a hatókör-minősítő (::) szükséges. Ha schema_name nincs megadva, a rendszer az alapértelmezett sémát használja. Ha schema_name van megadva, a séma hatókörének minősítője (.) szükséges.
HOGY <database_principal>
Azt a tagot adja meg, amelyhez az engedélyt megadták.
A TÁMOGATÁS LEHETŐSÉGGEL
Azt jelzi, hogy a rendszerbiztonsági tagnak lehetősége lesz arra is, hogy a megadott engedélyt más tagoknak is megadja.
MINT <database_principal>
Megadja azt a főnevet, amelyből a lekérdezést végrehajtó egyszerű felhasználó engedélyt ad az engedély megadására.
Database_user
Adatbázis-felhasználót ad meg.
Database_role
Adatbázis-szerepkört ad meg.
Application_role
Alkalmazásszerepkört határoz meg.
Database_user_mapped_to_Windows_User
Egy Windows-felhasználóhoz hozzárendelt adatbázis-felhasználót határoz meg.
Database_user_mapped_to_Windows_Group
Egy Windows-csoporthoz hozzárendelt adatbázis-felhasználót határoz meg.
Database_user_mapped_to_certificate
Egy tanúsítványhoz hozzárendelt adatbázis-felhasználót határoz meg.
Database_user_mapped_to_asymmetric_key
Aszimmetrikus kulcsra leképezett adatbázis-felhasználót ad meg.
Database_user_with_no_login
Olyan adatbázis-felhasználót ad meg, aki nem rendelkezik megfelelő kiszolgálószintű egyszerűséggel.
Remarks
Important
Bizonyos esetekben az engedélyek és ALTER az REFERENCE engedélyek kombinációja lehetővé teszi a jogosult számára az adatok megtekintését vagy jogosulatlan függvények végrehajtását. Például: Egy táblán engedéllyel és ALTER egy függvény engedélyével rendelkező REFERENCE felhasználó létrehozhat egy számított oszlopot egy függvényen keresztül, és végrehajthatja azt. Ebben az esetben a felhasználónak a számított oszlophoz is engedélyre van szüksége SELECT .
Az objektumokra vonatkozó információk különböző katalógusnézetekben láthatók. További információ: Objektumkatalógus nézetei (Transact-SQL).
Az objektumok olyan sémaszintű biztonságossá tétele, amelyet a séma tartalmaz, amely a szülője az engedélyhierarchiában. Az objektumokra adható legspecifikusabb és korlátozott engedélyeket az alábbi táblázatban találja, valamint azokat érintő általánosabb engedélyeket.
| Objektum engedély | Objektumengedélyek általi vélelmezés | Sémaengedélyek alapján hallgatólagos |
|---|---|---|
ALTER |
CONTROL |
ALTER |
CONTROL |
CONTROL |
CONTROL |
DELETE |
CONTROL |
DELETE |
EXECUTE |
CONTROL |
EXECUTE |
INSERT |
CONTROL |
INSERT |
RECEIVE |
CONTROL |
CONTROL |
REFERENCES |
CONTROL |
REFERENCES |
SELECT |
RECEIVE |
SELECT |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
UPDATE |
CONTROL |
UPDATE |
VIEW CHANGE TRACKING |
CONTROL |
VIEW CHANGE TRACKING |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
Az Azure Synapse Analytics nem támogatja a sémakötést, ami váratlan viselkedéshez vezethet a mögöttes objektumok módosításakor, és engedélyeket adnak egy nézethez. További információ: T-SQL-nézetek dedikált SQL-készlettel és kiszolgáló nélküli SQL-készlettel az Azure Synapse Analyticsben.
Permissions
Az engedélyezőnek (vagy az AS beállítással megadott tagnak) rendelkeznie kell magával GRANT OPTIONaz engedéllyel, vagy egy magasabb engedéllyel, amely azt jelenti, hogy az engedély meg van adva.
Ha az AS lehetőséget használja, az alábbi további követelmények érvényesek.
| AS | További engedély szükséges |
|---|---|
| Adatbázis-felhasználó |
IMPERSONATE engedély a felhasználóra, a db_securityadmin rögzített adatbázis-szerepkör tagsága, a db_owner rögzített adatbázis-szerepkör tagsága vagy a rögzített kiszolgálói szerepkör tagsága sysadmin . |
| Adatbázis-felhasználó windowsos bejelentkezésre van leképezve |
IMPERSONATE engedély a felhasználóra, a db_securityadmin rögzített adatbázis-szerepkör tagsága, a db_owner rögzített adatbázis-szerepkör tagsága vagy a rögzített kiszolgálói szerepkör tagsága sysadmin . |
| Adatbázis-felhasználó egy Windows-csoporthoz van hozzárendelve | Tagság a Windows-csoportban, a db_securityadmin rögzített adatbázis-szerepkör tagsága, a db_owner rögzített adatbázis-szerepkör tagsága vagy a sysadmin rögzített kiszolgálói szerepkör tagsága. |
| Adatbázis-felhasználó tanúsítványra van leképezve | A rögzített adatbázis-szerepkör tagsága db_securityadmin , a db_owner rögzített adatbázis-szerepkör tagsága vagy a rögzített kiszolgálói szerepkör tagsága sysadmin . |
| Adatbázis-felhasználó aszimmetrikus kulcsra van leképezve | A rögzített adatbázis-szerepkör tagsága db_securityadmin , a db_owner rögzített adatbázis-szerepkör tagsága vagy a rögzített kiszolgálói szerepkör tagsága sysadmin . |
| Az adatbázis-felhasználó nincs hozzárendelve egyetlen kiszolgálónévhez sem |
IMPERSONATE engedély a felhasználóra, a db_securityadmin rögzített adatbázis-szerepkör tagsága, a db_owner rögzített adatbázis-szerepkör tagsága vagy a rögzített kiszolgálói szerepkör tagsága sysadmin . |
| Adatbázis-szerepkör |
ALTER engedély a szerepkörre, a db_securityadmin rögzített adatbázis-szerepkör tagságára, a db_owner rögzített adatbázis-szerepkör tagságára vagy a rögzített kiszolgálói szerepkör tagságára sysadmin . |
| Alkalmazás szerepkör |
ALTER engedély a szerepkörre, a db_securityadmin rögzített adatbázis-szerepkör tagságára, a db_owner rögzített adatbázis-szerepkör tagságára vagy a rögzített kiszolgálói szerepkör tagságára sysadmin . |
Examples
A. SELECT engedély megadása táblán
Az alábbi példa engedélyt ad SELECT a felhasználónak RosaQdM az Person.Address adatbázis táblájábanAdventureWorks2025.
Ez az írott példa nem működik a Microsoft Fabricben, mert egy felhasználót használ egy SQL-hitelesítésű bejelentkezéshez, de ugyanez a példa egy Microsoft Entra ID Fabric-felhasználónál is működik, például RosaQdM@contoso.com.
GRANT SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B. EXECUTE-engedély megadása tárolt eljáráshoz
Az alábbi példa engedélyt ad EXECUTE a tárolt eljáráshoz HumanResources.uspUpdateEmployeeHireInfo egy úgynevezett alkalmazásszerepkörnek Recruiting11.
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C. HIVATKOZÁSI engedély megadása a GRANT BEÁLLÍTÁSsal rendelkező nézeten
Az alábbi példa engedélyt ad REFERENCES az oszlopra BusinessEntityID a HumanResources.vEmployee felhasználó WanidaGRANT OPTIONszámára.
Ez az írott példa nem működik a Microsoft Fabricben, mert egy felhasználót használ egy SQL-hitelesítésű bejelentkezéshez, de ugyanez a példa egy Microsoft Entra ID Fabric-felhasználónál is működik, például Wanida@contoso.com.
GRANT REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida WITH GRANT OPTION;
GO
D. SELECT engedély megadása egy táblán az OBJECT kifejezés használata nélkül
Az alábbi példa engedélyt ad SELECT a felhasználónak RosaQdM az Person.Address adatbázis táblájábanAdventureWorks2025.
Ez az írott példa nem működik a Microsoft Fabricben, mert egy felhasználót használ egy SQL-hitelesítésű bejelentkezéshez, de ugyanez a példa egy Microsoft Entra ID Fabric-felhasználónál is működik, például RosaQdM@contoso.com.
GRANT SELECT ON Person.Address TO RosaQdM;
GO
E. SELECT engedély megadása egy táblán tartományi fióknak
Az alábbi példa engedélyt ad SELECT a felhasználónak AdventureWorks2022\RosaQdM az Person.Address adatbázis táblájábanAdventureWorks2025.
Ez az írott példa nem működik a Microsoft Fabricben, mert tartományi fiókot használ, de ugyanez a példa például egy Microsoft Entra ID Fabric-felhasználónál RosaQdM@contoso.comis működik.
GRANT SELECT ON Person.Address TO [AdventureWorks2022\RosaQdM];
GO
F. VÉGREHAJTÁSI engedély megadása egy eljáráshoz egy szerepkörhöz
Az alábbi példa létrehoz egy szerepkört, majd engedélyt ad EXECUTE a szerepkörnek az adatbázisban található uspGetBillOfMaterials eljáráshozAdventureWorks2025.
CREATE ROLE newrole ;
GRANT EXECUTE ON dbo.uspGetBillOfMaterials TO newrole ;
GO
G. UNMASK-engedély megadása oszlopon
Az alábbi példa a UNMASK egy részét adja meg a felhasználónak emaila tábla Data.Membership oszlopának OutreachCoordinator engedélyével.
A Microsoft Fabric jelenleg nem támogatja a dinamikus adatmaszkolást.
GRANT UNMASK ON OBJECT::Data.Membership (email) to OutreachCoordinator;
GO
Kapcsolódó tartalom
- DENY objektumhoz való hozzáférési jogok (Transact-SQL)
- VISSZAVONÁS objektumengedélyek (Transact-SQL)
- objektumkatalógus nézetei (Transact-SQL)
- Engedélyek (Adatbázis-motor)
- Főelemek (Adatbázismotor)
- Securables
- sys.fn_builtin_permissions (Transact-SQL)
- HAS_PERMS_BY_NAME (Transact-SQL)
- sys.fn_my_permissions (Transact-SQL)
- Dinamikus adatmaszkolás
- Row-Level biztonság