- 24.5.2017
- 4 minuty ke čtení
-
- V
- w
- M
- j
- D
-
+8
PLATÍ PRO: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse
SQL Server poskytuje role na úrovni serveru, které vám pomohou spravovat oprávnění na serveru. Tyto role jsou bezpečnostní principy, které seskupují jiné principy. Role na úrovni serveru mají rozsah oprávnění pro celý server. (Role jsou jako skupiny v operačním systému Windows.)
Pevné serverové role jsou poskytovány pro pohodlí a zpětnou kompatibilitu. Pokud je to možné, přiřaďte konkrétnější oprávnění.
SQL Server poskytuje devět pevných serverových rolí. Oprávnění, která jsou pevným serverovým rolím přidělena (kromě veřejných), nelze měnit. Počínaje SQL Serverem 2012 (11.x) můžete vytvářet uživatelsky definované role serveru a přidávat oprávnění na úrovni serveru k uživatelsky definovaným rolím serveru.
Do rolí na úrovni serveru můžete přidávat principy na úrovni serveru (přihlašovací údaje SQL Serveru, účty Windows a skupiny Windows). Každý člen pevné role serveru může do téže role přidávat další přihlašovací jména. Členové uživatelsky definovaných serverových rolí nemohou do této role přidávat další serverové principály.
Poznámka
Oprávnění na úrovni serveru nejsou k dispozici v databázi SQL Database nebo Azure Synapse Analytics. Další informace o databázi SQL Database najdete v části Řízení a udělování přístupu k databázi.
Pevné role na úrovni serveru
V následující tabulce jsou uvedeny pevné role na úrovni serveru a jejich možnosti.
Fixní role na úrovni serveru | Popis |
---|---|
sysadmin | Příslušníci fixní role sysadmin serveru mohou na serveru provádět libovolnou činnost. |
serveradmin | Členové pevné role serveradmin mohou měnit možnosti konfigurace celého serveru a vypínat server. |
securityadmin | Členové pevné role serveradmin spravují přihlašovací údaje a jejich vlastnosti. Mohou GRANT , DENY a REVOKE oprávnění na úrovni serveru. Mohou také GRANT , DENY a REVOKE oprávnění na úrovni databáze, pokud mají přístup k databázi. Kromě toho mohou resetovat hesla pro přihlášení k serveru SQL Server.DŮLEŽITÉ: Možnost přidělovat přístup k databázovému stroji a konfigurovat oprávnění uživatelů umožňuje správci zabezpečení přidělovat většinu oprávnění serveru. Role securityadmin by měla být považována za ekvivalent role sysadmin. |
processadmin | Členové pevné role processadmin mohou ukončovat procesy, které jsou spuštěny v instanci serveru SQL Server. |
setupadmin | Členové pevné role setupadmin mohou přidávat a odebírat propojené servery pomocí příkazů jazyka Transact-SQL. (Při použití nástroje Management Studio je nutné členství sysadmin.) |
bulkadmin | Členové role pevného serveru bulkadmin mohou spouštět příkaz BULK INSERT . |
diskadmin | Role pevného serveru diskadmin se používá pro správu diskových souborů. |
dbcreator | Příslušníci pevné serverové role dbcreator mohou vytvářet, měnit, rušit a obnovovat libovolné databáze. |
public | Každé přihlášení k SQL Serveru patří do veřejné serverové role. Pokud hlavnímu uživateli serveru nebyla udělena nebo odepřena konkrétní oprávnění k zabezpečitelnému objektu, uživatel zdědí oprávnění udělená public k tomuto objektu. Oprávnění public k jakémukoli objektu přidělujte pouze v případě, že chcete, aby byl objekt dostupný všem uživatelům. Členství v public nelze měnit. Poznámka: public je implementováno jinak než ostatní role a oprávnění lze udělit, odepřít nebo odebrat z pevných rolí serveru public. |
Důležité
Většina oprávnění poskytovaných následujícími serverovými rolemi není použitelná pro Synapse SQL – processadmin, serveradmin, setupadmin a diskadmin.
Oprávnění pevných serverových rolí
Každá pevná serverová role má přiřazena určitá oprávnění. Následující graf znázorňuje oprávnění přiřazená jednotlivým serverovým rolím.
Důležité
Oprávnění CONTROL SERVER je podobné, ale není totožné s oprávněním pevné serverové role sysadmin. Oprávnění neznamená členství v roli a členství v roli neuděluje oprávnění. (Např. CONTROL SERVER neimplikuje členství v pevné roli sysadmin serveru.) Někdy je však možné se mezi rolemi a ekvivalentními oprávněními personifikovat. Většina příkazů DBCC a mnoho systémových procedur vyžaduje členství v pevné roli sysadmin serveru. Seznam 171 systémových uložených procedur, které vyžadují členství v roli sysadmin, najdete v následujícím příspěvku na blogu Andrease Woltera CONTROL SERVER vs. sysadmin/sa: oprávnění, systémové procedury, DBCC, automatické vytváření schémat a zvyšování oprávnění – upozornění.
Oprávnění na úrovni serveru
Do uživatelsky definovaných rolí serveru lze přidat pouze oprávnění na úrovni serveru. Chcete-li zobrazit seznam oprávnění na úrovni serveru, proveďte následující příkaz. Oprávnění na úrovni serveru jsou:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Další informace o oprávněních naleznete v částech Oprávnění (Database Engine) a sys.fn_builtin_permissions (Transact-SQL).
Práce s rolemi na úrovni serveru
V následující tabulce jsou vysvětleny příkazy, pohledy a funkce, které můžete použít pro práci s rolemi na úrovni serveru.
Funkce | Typ | Popis |
---|---|---|
sp_helpsrvrole (Transact-SQL) | Metadata | Vrátí seznam rolí na úrovni serveru. |
sp_helpsrvrolemember (Transact-SQL) | Metadata | Vrátí informace o členech role na úrovni serveru. |
sp_srvrolepermission (Transact-SQL) | Metadata | Zobrazí oprávnění role na úrovni serveru. |
IS_SRVROLEMEMBER (Transact-SQL) | Metadata | Ukazuje, zda je přihlašovací jméno SQL Serveru členem zadané role na úrovni serveru. |
sys.server_role_members (Transact-SQL) | Metadata | Vrátí jeden řádek pro každého člena každé role na úrovni serveru. |
sp_addsrvrolemember (Transact-SQL) | Příkaz | Přidá přihlašovací jméno jako člena role na úrovni serveru. Zastaralé. Místo toho použijte příkaz ALTER SERVER ROLE. |
sp_dropsrvrolemember (Transact-SQL) | Command | Odstraní přihlašovací jméno SQL Serveru nebo uživatele či skupiny Windows z role na úrovni serveru. Zastaralé. Místo toho použijte příkaz ALTER SERVER ROLE. |
Vytvořit roli serveru (Transact-SQL) | Příkaz | Vytvoří uživatelsky definovanou roli serveru. |
ALTER SERVER ROLE (Transact-SQL) | Příkaz | Změní příslušnost k roli serveru nebo změní název uživatelsky definované role serveru. |
DROP SERVER ROLE (Transact-SQL) | Příkaz | Odebere uživatelsky definovanou roli serveru. |
IS_SRVROLEMEMBER (Transact-SQL) | Funkce | Určuje příslušnost k roli serveru. |
Viz také
Roly na úrovni databáze
Pohledy do katalogu zabezpečení (Transact-SQL)
Funkce zabezpečení (Transact-.SQL)
Zabezpečení SQL Serveru
GRANT Oprávnění hlavního serveru (Transact-SQL)
REVOKE Oprávnění hlavního serveru (Transact-SQL)
DENY Oprávnění hlavního serveru (Transact-SQL)
Vytvoření serverové role