Jak používat role serveru SQL

Jak Pouzivat Role Serveru Sql



SQL Server se používá k ukládání, načítání a manipulaci s daty. Jednou z klíčových funkcí SQL Serveru je jeho schopnost udělovat a spravovat oprávnění různým uživatelům a skupinám. Role SQL Server jsou výkonným nástrojem, který umožňuje správcům databází přiřadit sadu oprávnění skupině uživatelů s podobnými potřebami.

Tento článek poskytuje průvodce, jak používat role SQL Server, včetně přehledu různých typů dostupných rolí, příkladů, jak tyto role přiřadit uživatelům, a tipů, jak tyto role spravovat.







Co jsou role SQL?

Role umožňují správci databází spravovat oprávnění efektivněji. Nejprve musíme vytvořit role. Poté přiřadíme oprávnění k rolím a podle toho přidáme přihlášení k rolím.



SQL Server podporuje hlavně dva typy rolí:



  • Pevné role serveru: Tyto role již mají předdefinovanou sadu oprávnění.
  • Uživatelsky definované role serveru: Tyto role lze změnit, aby vyhovovaly požadavkům vaší organizace.

Typy rolí serveru SQL

SQL Server poskytuje několik vestavěných rolí, které lze použít k přiřazení oprávnění uživatelům. Zde jsou některé z nejběžnějších rolí a jejich odpovídající oprávnění:





  • hromadný správce: Členové pevné role serveru bulkadmin mohou spustit příkaz „BULK INSERT“.
  • správce systému: Tato role má nejvyšší úroveň oprávnění a může provádět jakoukoli akci na instanci SQL Server, včetně vytváření, úprav a odstraňování databází a přihlášení.
  • správce serveru: Tato role může konfigurovat nastavení na úrovni serveru, jako je alokace paměti a síťové protokoly, ale nemůže měnit databáze.
  • bezpečnostní administrátor: Tato role může spravovat přihlášení a jejich oprávnění, včetně vytváření a úprav přihlašovacích údajů, rolí a hesel.
  • správce procesu: Pevná role serveru processadmin uděluje svým členům možnost ukončit nebo zastavit procesy, které se aktuálně spouštějí v rámci instance databázového stroje SQL Server.
  • dbcreator : Toto má oprávnění vytvářet, upravovat a odstraňovat databáze, ale nemá oprávnění vykonávat žádné další administrativní povinnosti.
  • správce disku: Tato role může spravovat soubory na disku, jako je vytváření a mazání souborů a přidávání nebo odebírání disků.
  • čtečka dat: Role čtečky dat má schopnost přistupovat a číst všechny informace, které jsou uloženy v uživatelských tabulkách databáze.
  • datawriter: Role datawriter má oprávnění vkládat, aktualizovat a mazat data ze všech uživatelských tabulek v databázi.
  • ddladmin: Tato role může vytvářet, upravovat a rušit spouštěče a objekty DDL (pohledy, tabulky a uložené procedury).
  • veřejnost: Ve výchozím nastavení jsou všichni uživatelé, skupiny a role serveru SQL Server automaticky zahrnuti do role veřejného pevného serveru.

Vytvoření uživatelem definované role serveru pomocí GUI

Vytvoření uživatelsky definované role serveru v SQL Server lze provést prostřednictvím GUI pomocí SQL Server Management Studio (SSMS). Chcete-li vytvořit uživatelsky definovanou roli serveru pomocí GUI v SSMS, postupujte takto:

1. Spusťte SQL Server Management Studio (SSMS) a vytvořte připojení ke konkrétní instanci SQL Server.



2. Přejděte na Zabezpečení -> Role serveru -> Nová role serveru.

3. Zadejte název nové role na stránce Obecné.

4. Na stránce Zabezpečení určete zabezpečení na úrovni serveru, ke kterému bude mít role oprávnění.

5. Přidejte uživatele nebo jiné role na stránku Členové.

Vytvoření a použití role serveru prostřednictvím T-SQL

Vytvoření a používání role serveru pomocí T-SQL na serveru SQL je dalším způsobem správy oprávnění na úrovni serveru. Chcete-li vytvořit uživatelsky definovanou roli serveru pomocí T-SQL, musíme postupovat takto:

1. Otevřete nové okno dotazu a spusťte následující kód pro vytvoření nové role serveru:

-- << Vytvořte uživatelsky definovanou roli serveru

USE [master]

JÍT

VYTVOŘIT ROLE SERVERU [junior DBA]

JÍT

V tomto příkladu vytvoříme novou roli serveru – „junior DBA“.

2. Spuštěním následujícího kódu udělte oprávnění nové roli:

použít [master]

JÍT

GRANT VYTVOŘTE JAKOUKOLIV DATABÁZI --<< nyní může vytvořit db

TO [junior DBA]

JÍT

V tomto příkladu umožňujeme nové roli „junior DBA“ vytvářet databáze.

GRANT ZOBRAZIT JAKOUKOLIV DATABÁZI --<< může zobrazit pouze libovolnou db, ale ne tabulky

TO [junior DBA]

JÍT

V tomto příkladu se příkaz „GRANT VIEW ANY DATABASE“ používá k udělení oprávnění na úrovni serveru, které umožňuje roli vidět metadata jakékoli databáze na serveru. V tomto případě udělujeme toto oprávnění roli serveru „junior DBA“, kterou jsme vytvořili dříve.

Je však důležité poznamenat, že udělení oprávnění „ZOBRAZIT JAKOUKOLIV DATABÁZI“ nedává uživateli ani roli oprávnění k přístupu k jakýmkoli datům v databázích – pouze jim umožňuje vidět metadata (jako jsou názvy databází a schémata).

3. Spuštěním následujícího kódu přidejte přihlašovací nebo uživatelský účet do nové role:

--add sql přihlášení do nové role serveru

ALTER SERVER ROLE [junior DBA]

PŘIDAT ČLENA [Výbor]

JÍT

ALTER SERVER ROLE [junior DBA]

PŘIDAT ČLENA [Rima]

JÍT

V tomto příkladu přidáme účty „Papan“ a „Rima“ jako členy role „junior DBA“.

Závěr

Role SQL Server poskytují výkonný nástroj pro správu oprávnění v databázovém prostředí. Přiřazením rolí uživatelům můžete zajistit, že budou mít odpovídající úroveň přístupu k datům, která potřebují, aniž byste jim udělili zbytečná oprávnění. Ať už spravujete malou databázi nebo velký podnikový systém, pochopení toho, jak používat role SQL Server, je důležitou dovedností, která vám může pomoci udržet bezpečnost a integritu vašich dat.