Sdílet prostřednictvím


Lekce 2: Konfigurace oprávnění pro databázové objekty

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLPdW (Analytics Platform System)Databáze SQL v Microsoft Fabric

Note

Studijní program Začínáme s dotazováním pomocí jazyka Transact-SQL poskytuje podrobnější obsah spolu s praktickými příklady.

Udělení přístupu uživatele k databázi zahrnuje tři kroky. Nejprve vytvoříte přihlášení. Přihlášení umožňuje uživateli připojit se k databázovému stroji SQL Serveru. Pak nakonfigurujete přihlášení jako uživatele v zadané databázi. A nakonec uživateli udělíte oprávnění k databázovým objektům. Tato lekce ukazuje tyto tři kroky a ukazuje, jak vytvořit zobrazení a uloženou proceduru jako objekt.

Note

Tato lekce spoléhá na objekty vytvořené v lekci 1 – Vytvoření databázových objektů. Než budete pokračovat na lekci 2, dokončete lekci 1.

Prerequisites

K dokončení tohoto kurzu potřebujete SQL Server Management Studio a přístup k instanci SQL Serveru.

Pokud nemáte přístup k instanci SQL Serveru, vyberte svou platformu z následujících odkazů. Pokud zvolíte ověřování SQL, použijte přihlašovací údaje SQL Serveru.

Nasloucháme: Pokud v tomto článku zjistíte něco zastaralého nebo nesprávného, například krok nebo příklad kódu, řekněte nám prosím. Můžete kliknout na tlačítko Tato stránka v části Váš názor v dolní části této stránky. Čteme všechny položky zpětné vazby k SQL, obvykle následující den. Thanks.

Vytvoření přihlášení

Pro přístup k databázovému stroji uživatelé vyžadují přihlášení. Přihlášení může představovat identitu uživatele jako účet systému Windows nebo jako člen skupiny Systému Windows nebo přihlášení může být přihlášení k SQL Serveru, které existuje pouze na SQL Serveru. Kdykoli je to možné, měli byste použít ověřování systému Windows.

Ve výchozím nastavení mají správci na vašem počítači úplný přístup k SQL Serveru. Pro tuto lekci chceme mít méně privilegovaného uživatele; v počítači tedy vytvoříte nový místní účet ověřování systému Windows. Abyste to mohli udělat, musíte být správcem počítače. Potom novému uživateli udělíte přístup k SQL Serveru.

Vytvoření nového účtu Windows

  1. Vyberte Start, vyberte Spustit, do pole Otevřít zadejte %SystemRoot%\system32\compmgmt.msc /s a potom vyberte OK a otevřete program Správa počítače.
  2. V části Systémové nástroje rozbalte položku Místní uživatelé a skupiny, klepněte pravým tlačítkem na položku Uživatelé a potom vyberte Nový uživatel.
  3. Do pole Uživatelské jméno zadejte Mary.
  4. Do pole Heslo a Potvrzení hesla zadejte silné heslo a pak vyberte Vytvořit a vytvořte nového místního uživatele systému Windows.

Vytvoření přihlášení SQL

V okně Editoru dotazů aplikace SQL Server Management Studio zadejte a spusťte následující kód, který nahradí computer_name názvem počítače. FROM WINDOWS označuje, že Systém Windows ověřuje uživatele. Volitelný DEFAULT_DATABASE argument se připojí Mary k TestData databázi, pokud připojovací řetězec označit jinou databázi. Tento příkaz zavádí středník jako volitelné ukončení příkazu Transact-SQL.

CREATE LOGIN [computer_name\Mary]
    FROM WINDOWS
    WITH DEFAULT_DATABASE = [TestData];
GO

Tím se autorizuje uživatelské jméno Maryověřené vaším počítačem pro přístup k této instanci SQL Serveru. Pokud je v počítači více než jedna instance SQL Serveru, musíte vytvořit přihlášení pro každou instanci, která Mary musí přistupovat.

Note

Vzhledem k tomu Mary , že účet domény není, je možné toto uživatelské jméno ověřit pouze v tomto počítači.

Udělení přístupu k databázi

Účet Mary teď má přístup k této instanci SQL Serveru, ale nemá oprávnění pro přístup k databázím. Účet nemá ani přístup k výchozí databázi TestData , dokud účet neověříte jako uživatele databáze.

Pokud chcete udělit Mary přístup, přepněte do TestData databáze a pak pomocí příkazu CREATE USER namapujte přihlášení na uživatele s názvem Mary.

Vytvoření uživatele v databázi

Zadejte a spusťte následující příkazy (nahraďte computer_name názvem počítače) a udělte Mary přístup k TestData databázi.

USE [TestData];
GO

CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO

Mary teď má přístup k SQL Serveru i k TestData databázi.

Vytváření zobrazení a uložených procedur

Jako správce můžete příkaz SELECT spustit z Products tabulky a vw_Names zobrazení a provést pr_Names postup. Mary ale nemůže. K udělení potřebných oprávnění Mary použijte příkaz GRANT.

Udělení oprávnění k uložené proceduře

Spuštěním následujícího příkazu udělíte MaryEXECUTE oprávnění pro uloženou proceduru pr_Names .

GRANT EXECUTE ON pr_Names TO Mary;
GO

V tomto scénáři má Mary přístup pouze k Products tabulce pomocí uložené procedury. Pokud chcete, aby Mary mohla spouštět příkaz SELECT proti zobrazení, musíte také provést GRANT SELECT ON vw_Names TO Mary. Pokud chcete odebrat přístup k databázovým objektům, použijte příkaz REVOKE.

Note

Pokud tabulka, zobrazení a uložená procedura nejsou vlastněné stejným schématem, udělení oprávnění je složitější.

O GRANTu

Abyste mohli spustit uloženou proceduru, musíte mít oprávnění EXECUTE. Abyste mohli přistupovat k datům a měnit je, musíte mít oprávnění SELECT, INSERT, UPDATE a DELETE. Příkaz GRANT se také používá pro další oprávnění, například oprávnění k vytváření tabulek.

Další kroky

V dalším článku se dozvíte, jak odebrat databázové objekty, které jste vytvořili v dalších lekcích.

Další informace najdete v dalším článku: