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


Adatbázisszintű szerepkörök

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Az adatbázisok engedélyeinek egyszerű kezelése érdekében az SQL Server számos olyan szerepkört biztosít, amelyek biztonsági tagok, amelyek más tagokat csoportosítanak. Olyanok, mint a Windows operációs rendszer csoportjai . Az adatbázisszintű szerepkörök az engedélyek szempontjából az egész adatbázisra kiterjednek.

Ha felhasználókat szeretne hozzáadni és eltávolítani egy adatbázis-szerepkörhöz, használja az ADD MEMBER ALTER ROLE utasítás és DROP MEMBER a beállításokat. Az Analytics Platform System (PDW) és az Azure Synapse Analytics nem támogatja a ALTER ROLE használatát. Használja inkább a régebbi sp_addrolemember és sp_droprolemember eljárásokat.

Az adatbázisszintű szerepköröknek két típusa van: az adatbázisban előre definiált rögzített adatbázis-szerepkörök és a létrehozható felhasználó által definiált adatbázis-szerepkörök .

A rögzített adatbázis-szerepkörök adatbázisszinten vannak definiálva, és minden adatbázisban léteznek. A db_owner adatbázis-szerepkör tagjai kezelhetik a rögzített adatbázisszerepkör-tagságot. Vannak speciális célú adatbázis-szerepkörök is az msdb adatbázisban.

Bármilyen adatbázisfiókot és más SQL Server-szerepkört felvehet adatbázisszintű szerepkörökbe.

Tip

Ne adjon hozzá felhasználó által definiált adatbázis-szerepköröket rögzített szerepkörök tagjaiként. Ez lehetővé teheti a nem szándékos jogosultságok eszkalálását.

A felhasználó által definiált adatbázis-szerepkörök engedélyeit a GRANT, a DENY és a REVOKE utasítással szabhatja testre. További információ: Engedélyek (adatbázismotor).

Az összes engedély listáját az adatbázismotor engedélyeinek plakátja tartalmazza. Kiszolgálószintű engedélyek nem adhatóak adatbázis-szerepkörökhöz. A bejelentkezések és más kiszolgálószintű tagok (például kiszolgálói szerepkörök) nem vehetők fel az adatbázis-szerepkörökbe. Az SQL Server kiszolgálószintű biztonságához használjon inkább kiszolgálói szerepköröket . A kiszolgálószintű engedélyek nem adhatók meg az Azure SQL Database és az Azure Synapse Analytics szerepköreivel.

Rögzített adatbázis-szerepkörök

Az alábbi táblázat a rögzített adatbázis-szerepköröket és azok képességeit mutatja be. Ezek a szerepkörök minden adatbázisban léteznek. A nyilvános adatbázis-szerepkör kivételével a rögzített adatbázis-szerepkörökhöz rendelt engedélyek nem módosíthatók.

Rögzített adatbázisszerepkör neve Description
db_owner A db_owner rögzített adatbázis-szerepkör tagjai minden konfigurációs és karbantartási tevékenységet elvégezhetnek az adatbázisban, valamint kezelhetik az adatbázist az SQL Serveren is DROP . (Az SQL Database-ben és az Azure Synapse-ban egyes karbantartási tevékenységek kiszolgálószintű engedélyeket igényelnek, és az db_owners nem hajthatók végre.)
db_securityadmin A db_securityadmin rögzített adatbázis-szerepkör tagjai csak egyéni szerepkörök szerepkör-tagságát módosíthatják, és kezelhetik az engedélyeket. Ennek a szerepkörnek a tagjai emelhetik a jogosultságaikat, és a tevékenységüket figyelni kell.
db_accessadmin A db_accessadmin rögzített adatbázis-szerepkör tagjai hozzáadhatják vagy eltávolíthatják az adatbázishoz való hozzáférést Windows-bejelentkezésekhez, Windows-csoportokhoz és SQL Server-bejelentkezésekhez.
db_backupoperator A db_backupoperator rögzített adatbázis-szerepkör tagjai biztonsági másolatot készíthetnek az adatbázisról.
db_ddladmin A db_ddladmin rögzített adatbázis-szerepkör tagjai bármilyen Adatdefiníciós nyelv (DDL) parancsot futtathatnak egy adatbázisban. Ennek a szerepkörnek a tagjai emelhetik a jogosultságaikat olyan kód módosításával, amely magas jogosultságokkal végrehajtható, és a műveleteket figyelni kell.
db_datawriter A db_datawriter rögzített adatbázis-szerepkör tagjai az összes felhasználói táblában hozzáadhatnak, törölhetnek vagy módosíthatnak adatokat. A legtöbb használati esetben ez a szerepkör db_datareader tagsággal kombinálva lehetővé teszi a módosítani kívánt adatok olvasását.
db_datareader A db_datareader rögzített adatbázis-szerepkör tagjai az összes felhasználói táblából és nézetből beolvashatják az összes adatot. A felhasználói objektumok bármely sémában létezhetnek, kivéve sys a .INFORMATION_SCHEMA
db_denydatawriter A db_denydatawriter rögzített adatbázis-szerepkör tagjai nem tudnak adatokat hozzáadni, módosítani vagy törölni az adatbázis felhasználói tábláiban.
db_denydatareader A db_denydatareader rögzített adatbázis-szerepkör tagjai nem tudnak adatokat olvasni az adatbázis felhasználói tábláiból és nézeteiből. A szerepkör tagjai nem tudják olvasni az adatbázis és objektumai metaadatait, például a rendszernézetek megtekintését.

A rögzített adatbázis-szerepkörökhöz rendelt engedélyek nem módosíthatók. Minden szerepkör (beleértve a public szerepkört) rendelkezik a CONNECT-engedélyekkel. Az alábbi ábrán a rögzített adatbázis-szerepkörökhöz rendelt engedélyek láthatók:

Szerepkör neve Permissions
db_owner CONTROL DATABASE: Az adatbázis minden engedélyével rendelkezik.
db_securityadmin BÁRMELY ALKALMAZÁSSZEREPKÖR MÓDOSÍTÁSA
Séma létrehozása
BÁRMELY SZEREPKÖR MÓDOSÍTÁSA
NÉZETDEFINÍCIÓ
db_accessadmin MEGVÁLTOZTATHATJA BÁRMELY FELHASZNÁLÓ
Séma létrehozása
FELHASZNÁLÓ LÉTREHOZÁSA
db_backupoperator BIZTONSÁGI MENTÉSI ADATBÁZIS
BIZTONSÁGI MENTÉSI NAPLÓ
CHECKPOINT
db_ddladmin BÁRMELY ÖSSZETEVŐ MÓDOSÍTÁSA
BÁRMELY ASZIMMETRIKUS KULCS MÓDOSÍTÁSA
BÁRMELY TANÚSÍTVÁNY MÓDOSÍTÁSA
BÁRMELY SZERZŐDÉS MÓDOSÍTÁSA
ADATBÁZIS-DDL-ESEMÉNYINDÍTÓ MÓDOSÍTÁSA
ADATBÁZIS-ESEMÉNY ÉRTESÍTÉSÉNEK MÓDOSÍTÁSA
BÁRMELY ADATTÉR MÓDOSÍTÁSA
KÜLSŐ KÖNYVTÁR MÓDOSÍTÁSA
BÁRMELY TELJES SZÖVEGES KATALÓGUS MÓDOSÍTÁSA
BÁRMELY ÜZENETTÍPUS MÓDOSÍTÁSA
BÁRMELY TÁVOLI SZOLGÁLTATÁS KÖTÉSÉNEK MÓDOSÍTÁSA
ÚTVONAL MÓDOSÍTÁSA
SÉMA MÓDOSÍTÁSA
BÁRMELY SZOLGÁLTATÁS MÓDOSÍTÁSA
BÁRMELY SZIMMETRIKUS KULCS MÓDOSÍTÁSA
CHECKPOINT
ÖSSZESÍTÉS LÉTREHOZÁSA
SZERELVÉNY LÉTREHOZÁSA
ASZIMMETRIKUS KULCS LÉTREHOZÁSA
TANÚSÍTVÁNY LÉTREHOZÁSA
SZERZŐDÉS LÉTREHOZÁSA
ADATBÁZIS DDL-ESEMÉNYÉRTESÍTÉSÉNEK LÉTREHOZÁSA
LÉTREHOZÁS ALAPÉRTELMEZETTKÉNT
KÜLSŐ KÓDTÁR LÉTREHOZÁSA
TELJES SZÖVEGŰ KATALÓGUS LÉTREHOZÁSA
FÜGGVÉNY LÉTREHOZÁSA
ÜZENETTÍPUS LÉTREHOZÁSA
AZ ELJÁRÁS LÉTREHOZÁSA
ÜZENETSOR LÉTREHOZÁSA
TÁVOLI SZOLGÁLTATÁS KÖTÉSÉNEK LÉTREHOZÁSA
ÚTVONAL LÉTREHOZÁSA
SZABÁLY LÉTREHOZÁSA
Séma létrehozása
SZOLGÁLTATÁS LÉTREHOZÁSA
SZIMMETRIKUS KULCS LÉTREHOZÁSA
SZINONIMA LÉTREHOZÁSA
CREATE TABLE
LÉTREHOZÁS TÍPUSA
NÉZET LÉTREHOZÁSA
XML-SÉMAGYŰJTEMÉNY LÉTREHOZÁSA
HIVATKOZÁSOK

A következőkre vonatkozik: SQL Server 2019 és újabb verziók
BÁRMELY KÜLSŐ NYELV MÓDOSÍTÁSA
KÜLSŐ NYELV LÉTREHOZÁSA

A következőkre vonatkozik: SQL Server 2022 és újabb verziók
BÁRMELY KÜLSŐ ADATFORRÁS MÓDOSÍTÁSA
BÁRMELY KÜLSŐ FÁJLFORMÁTUM MEGVÁLTOZTATÁSA
BÁRMELY KÜLSŐ MUNKA MEGVÁLTOZTATÁSA
BÁRMELY KÜLSŐ ADATFOLYAM MÓDOSÍTÁSA
ALTER LEDGER
FŐKÖNYV ENGEDÉLYEZÉSE
db_datareader SELECT MEGADÁSA AZ ADATBÁZISBAN::<database-name>
db_denydatareader DENY SELECT ON DATABASE::<database-name>
db_datawriter BESZÚRÁS ENGEDÉLYEZÉSE AZ ADATBÁZISBAN::<database-name>
FRISSÍTÉS ENGEDÉLYEZÉSE AZ ADATBÁZISBAN::<database-name>
ENGEDÉLYEZÉS TÖRLÉSRE AZ ADATBÁZISBAN::<database-name>
db_denydatawriter BESZÚRÁS MEGTAGADÁSA AZ ADATBÁZISRA::<database-name>
A FRISSÍTÉS MEGTAGADÁSA AZ ADATBÁZISBAN::<database-name>
TÖRLÉS MEGTAGADÁSA AZ ADATBÁZISBAN::<database-name>
public A nyilvános adatbázis-szerepkör nem rendelkezik adatbázisszintű engedélyekkel. Bizonyos adatbázis-engedélyek azonban alapértelmezés szerint jelen vannak. Pontosabban az OSZLOPTITKOSÍTÁSI KULCS DEFINÍCIÓJÁNAK MEGTEKINTÉSE, AZ OSZLOP FŐKULCSDEFINÍCIÓJÁNAK MEGTEKINTÉSE és a SELECT engedély megtekintése számos egyes rendszertáblán. Ezek az engedélyek visszavonhatók.

Az Azure SQL Database és az Azure Synapse speciális szerepkörei

Ezek az adatbázis-szerepkörök csak a virtuális master adatbázisban léteznek. Engedélyük csak a (z) alkalmazásban végrehajtott masterműveletekre korlátozódik. Az master adatbázisban csak a felhasználók vehetők fel ezekhez a szerepkörökhöz. A bejelentkezések nem vehetők fel ezekhez a szerepkörökhöz, de a felhasználók bejelentkezések alapján hozhatók létre, és ezek a felhasználók hozzáadhatók a szerepkörökhöz. Ezekhez a master szerepkörökhöz a tartalmazott adatbázis-felhasználók is hozzáadhatók. A dbmanager szerepkörhöz master hozzáadott tárolt adatbázis-felhasználók azonban nem használhatók új adatbázisok létrehozására.

Szerepkör neve Description
dbmanager Adatbázisokat hozhat létre és törölhet. Az adatbázist létrehozó dbmanager szerepkör tagja lesz az adatbázis tulajdonosa, amely lehetővé teszi, hogy a felhasználó dbo-felhasználóként csatlakozzon az adatbázishoz. A dbo-felhasználó minden adatbázis-engedéllyel rendelkezik az adatbázisban. A dbmanager szerepkör tagjai nem feltétlenül rendelkeznek engedéllyel a nem saját adatbázisaikhoz való hozzáféréshez.
db_exporter A db_exporter rögzített adatbázis-szerepkör tagjai minden adatexportálási tevékenységet végrehajthatnak. A szerepkörön keresztül megadott engedélyek a következőkCREATE TABLE: , ALTER ANY SCHEMA, ALTER ANY EXTERNAL DATA SOURCEALTER ANY EXTERNAL FILE FORMAT.

A következőkre vonatkozik: Dedikált Azure Synapse Analytics SQL-készletek (korábban SQL DW)
loginmanager Létrehozhat és törölhet bejelentkezéseket a virtuális master adatbázisban.

Note

A kiszolgálószintű egyszerű és a Microsoft Entra-rendszergazda (ha konfigurálva van) minden engedéllyel rendelkezik az SQL Database-ben és az Azure Synapse Analyticsben anélkül, hogy bármilyen szerepkör tagjának kellene lennie. További információ: Adatbázis-hozzáférés engedélyezése az SQL Database-hez, a felügyelt SQL-példányhoz és az Azure Synapse Analyticshez.

Egyes adatbázis-szerepkörök nem alkalmazhatók az Azure SQL-hez vagy az Azure Synapse-hoz:

  • db_backupoperator nem alkalmazható az Azure SQL Database-ben (nem az Azure SQL Managed Instance-ben) és az Azure Synapse Analytics kiszolgáló nélküli készletében, mert a T-SQL-parancsok biztonsági mentése és visszaállítása nem érhető el.

  • db_datawriter és db_denydatawriter nem alkalmazhatók kiszolgáló nélküli Azure Synapse Analyticsre, mert csak külső adatokat olvas be.

Szerepkörök az msdb-adatbázisban

Az msdb adatbázis az alábbi táblázatban látható speciális célú szerepköröket tartalmazza.

msdb szerepkör neve Description
db_ssisadmin
db_ssisoperator
db_ssisltduser
Ezeknek az adatbázis-szerepköröknek a tagjai felügyelhetik és használhatják az SSIS-t. A korábbi verzióról frissített SQL Server-példányok az SSIS helyett a Data Transformation Services (DTS) használatával elnevezett szerepkör régebbi verzióját tartalmazhatják. További információ: Integration Services-szerepkörök (SSIS-szolgáltatás).
dc_admin
dc_operator
dc_proxy
Ezen adatbázis-szerepkörök tagjai felügyelhetik és használhatják az adatgyűjtőt. További információért lásd: Adatgyűjtés.
PolicyAdministratorRole A db_ PolicyAdministratorRole adatbázis-szerepkör tagjai minden konfigurációs és karbantartási tevékenységet elvégezhetnek a házirendalapú felügyeleti szabályzatokon és feltételeken. További információ: Kiszolgálók felügyelete házirendalapú felügyelettel.
ServerGroupAdministratorRole
ServerGroupReaderRole
Ezeknek az adatbázis-szerepköröknek a tagjai felügyelhetik és használhatják a regisztrált kiszolgálócsoportokat.
dbm_monitor Az msdb adatbázisban jön létre, amikor az első adatbázis regisztrálva van az Adatbázistükrözés-figyelőben. A dbm_monitor szerepkörnek nincsenek tagjai, amíg a rendszergazda nem rendel hozzá felhasználókat a szerepkörhöz.

A db_ssisadmin és a dc_admin szerepkör tagjai emelhetik jogosultságaikat a sysadminra. Ez a jogosultságszint-emelés azért fordulhat elő, mert ezek a szerepkörök módosíthatják az Integration Services-csomagokat, és az Integration Services-csomagokat az SQL Server az SQL Server-ügynök sysadmin biztonsági környezetével hajthatja végre. A karbantartási tervek, az adatgyűjtési csoportok és más Integration Services-csomagok futtatásakor a jogosultság ilyen emelése elleni védelem érdekében konfigurálja a csomagokat futtató SQL Server Agent-feladatokat, hogy korlátozott jogosultságokkal rendelkező proxyfiókot használjon, vagy csak sysadmin tagokat vegyen fel a db_ssisadmin és dc_admin szerepkörökbe.

Adatbázisszintű szerepkörök kezelése

Az alábbi táblázat ismerteti az adatbázisszintű szerepkörökkel való munkavégzéshez szükséges parancsokat, nézeteket és függvényeket.

Feature Típus Description
sp_helpdbfixedrole Metadata A rögzített adatbázis-szerepkörök listáját adja vissza.
sp_dbfixedrolepermission Metadata Egy rögzített adatbázis-szerepkör engedélyeit jeleníti meg.
sp_helprole Metadata Az aktuális adatbázisban lévő szerepkörök adatait adja vissza.
sp_helprolemember Metadata Az aktuális adatbázisban lévő szerepkör tagjaival kapcsolatos információkat adja vissza.
sys.database_role_members Metadata Az egyes adatbázis-szerepkörök minden egyes tagjára egy sort ad vissza.
IS_MEMBER Metadata Azt jelzi, hogy az aktuális felhasználó tagja-e a megadott Microsoft Windows-csoportnak, a Microsoft Entra csoportnak vagy a Microsoft SQL Server adatbázis-szerepkörnek.
SZEREPKÖR LÉTREHOZÁSA Command Új adatbázis-szerepkört hoz létre az aktuális adatbázisban.
ALTER ROLE Command Módosítja egy adatbázis-szerepkör nevét vagy tagságát.
DROP ROLE Command Eltávolít egy szerepkört az adatbázisból.
sp_addrole Command Új adatbázis-szerepkört hoz létre az aktuális adatbázisban.
sp_droprole Command Eltávolít egy adatbázis-szerepkört az aktuális adatbázisból.
sp_addrolemember Command Adatbázis-felhasználót, adatbázis-szerepkört, Windows-bejelentkezést vagy Windows-csoportot ad hozzá egy adatbázis-szerepkörhöz az aktuális adatbázisban. Ehelyett az Analytics Platform System (PDW) és az Azure Synapse kivételével minden platformnak használnia ALTER ROLE kell.
sp_droprolemember Command Eltávolít egy biztonsági fiókot egy SQL Server-szerepkörből az aktuális adatbázisban. Ehelyett az Analytics Platform System (PDW) és az Azure Synapse kivételével minden platformnak használnia ALTER ROLE kell.
GRANT Permissions Hozzáad egy engedélyt egy szerepkörhöz.
DENY Permissions Egy szerepkör engedélyét tagadja meg.
REVOKE Permissions Eltávolítja a korábban megadott vagy megtagadott engedélyeket.

Nyilvános adatbázis-szerepkör

Minden adatbázis-felhasználó a nyilvános adatbázis-szerepkörhöz tartozik. Ha egy felhasználó nem kapott vagy nem tagadott meg adott engedélyeket egy biztonságos objektumon, a felhasználó örökli az adott objektumon a nyilvánosság számára megadott engedélyeket. Az adatbázis felhasználói nem távolíthatók el a nyilvános szerepkörből.

Examples

Az ebben a szakaszban szereplő példák bemutatják, hogyan használható adatbázisszintű szerepkörökkel.

A. Felhasználó hozzáadása adatbázisszintű szerepkörhöz

Az alábbi példa hozzáadja a "Ben" felhasználót a rögzített adatbázisszintű szerepkörhöz db_datareader.

ALTER ROLE db_datareader ADD MEMBER Ben;
GO

B. Az adatbázisszintű szerepkörök tagjai közé tartozó összes adatbázisnév listázása

A következő utasítás visszaadja bármely adatbázis-szerepkör összes tagját.

SELECT roles.principal_id AS RolePrincipalID,
    roles.name AS RolePrincipalName,
    database_role_members.member_principal_id AS MemberPrincipalID,
    members.name AS MemberPrincipalName
FROM sys.database_role_members AS database_role_members
INNER JOIN sys.database_principals AS roles
    ON database_role_members.role_principal_id = roles.principal_id
INNER JOIN sys.database_principals AS members
    ON database_role_members.member_principal_id = members.principal_id;
GO