• 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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.