Autorizace přístupu k databázi pro SQL Database, SQL Managed Instance a Azure Synapse Analytics

Platí pro: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

V tomto článku se dozvíte o těchto článcích:

  • Možnosti konfigurace Azure SQL Databáze, Azure SQL Managed Instance a Azure Synapse Analytics umožňují uživatelům provádět úlohy správy a přistupovat k datům uloženým v těchto databázích.
  • Konfigurace přístupu a autorizace po počátečním vytvoření nového serveru
  • Postup přidání přihlášení a uživatelských účtů v hlavní databázi a uživatelských účtech a následné udělení těchto oprávnění pro správu účtů
  • Postup přidání uživatelských účtů do uživatelských databází, a to buď přidružených k přihlášením, nebo jako obsažené uživatelské účty.
  • Nakonfigurujte uživatelské účty s oprávněními v uživatelských databázích pomocí databázových rolí a explicitních oprávnění.

Důležité

Databáze v databázi Azure SQL, Azure SQL Managed Instance a Azure Synapse se souhrnně označují ve zbytku tohoto článku jako databáze a server odkazuje na server, který spravuje databáze pro Azure SQL Databázi a Azure Synapse.

Ověřování a autorizace

Ověřování je proces prokazování, že uživatel je ten, o koho se tvrdí. Uživatel se připojuje k databázi pomocí uživatelského účtu. Uživatel při pokusu o připojení k databázi zadá uživatelský účet a ověřovací informace. Uživatel se ověří pomocí jedné z následujících dvou metod ověřování:

  • Ověřování SQL

    V případě této metody ověřování uživatel za účelem navázání připojení odešle název uživatelského účtu a přidružené heslo. Toto heslo je uloženo v hlavní databázi pro uživatelské účty propojené s přihlášením nebo uloženým v databázi obsahující uživatelské účty, které nejsou propojené s přihlášením.

  • Ověřování Azure Active Directory

    V případě této metody ověřování uživatel odešle název uživatelského účtu a požadavek, aby služba použila informace o přihlašovacích údajích uložené v Azure Active Directory (Azure AD).

Přihlášení a uživatelé: Uživatelský účet v databázi může být přidružený k přihlášení uloženému v hlavní databázi nebo k uživatelskému jménu uloženému v samostatné databázi.

  • Přihlášení je individuální účet v hlavní databázi, se kterým je možné propojit uživatelský účet v jedné nebo více databázích. V případě přihlášení se informace o přihlašovacích údajích pro uživatelský účet ukládají společně s přihlášením.
  • Uživatelský účet je individuální účet v jakékoli databázi, který může, ale nemusí být propojený s přihlášením. V případě uživatelského účtu, který není propojený s přihlášením, se informace o přihlašovacích údajích ukládají společně s uživatelským účtem.

Autorizace pro přístup k datům a provádění různých akcí se spravuje pomocí databázových rolí a explicitních oprávnění. Autorizace odkazuje na oprávnění přiřazená uživateli a určuje, co může uživatel dělat. Autorizaci řídí členství v rolích databáze uživatelského účtu a oprávnění na úrovni objektů. Doporučený postup je udělit uživatelům co nejmenší možná oprávnění.

Existující přihlášení a uživatelské účty po vytvoření nové databáze

Při prvním nasazení Azure SQL zadáte přihlašovací jméno správce a přidružené heslo pro toto přihlášení. Tento účet pro správu se nazývá Správce serveru. Během nasazování probíhá následující konfigurace přihlášení a uživatelů v hlavní a uživatelské databázi:

  • Přihlašovací jméno SQL s oprávněními správce se vytvoří pomocí zadaného přihlašovacího jména. Přihlášení je individuální uživatelský účet pro přihlášení k SQL Database, SQL Managed Instance a Azure Synapse.
  • Toto přihlášení má udělená úplná oprávnění správce pro všechny databáze jako objekt zabezpečení na úrovni serveru. Přihlášení má všechna dostupná oprávnění a není možné ho omezit. V SQL Managed Instance se toto přihlášení přidá do pevné role serveru správce systému (tato role v databázi Azure SQL neexistuje).
  • Pro toto přihlášení se vytvoří uživatelský účetdbo v každé uživatelské databázi. Uživatel dbo má v databázi všechna oprávnění k databázi a mapuje se na pevnou db_owner roli databáze. Další pevné databázové role jsou popsány dále v tomto článku.

Pokud chcete identifikovat účty správce databáze, otevřete Azure Portal a přejděte na kartu Vlastnosti vašeho serveru nebo spravované instance.

Správci SQL serveru

Snímek obrazovky, který zvýrazní možnost nabídky Vlastnosti

Důležité

Přihlašovací jméno správce nelze po vytvoření změnit. Pokud chcete resetovat heslo správce serveru, přejděte na Azure Portal, klikněte na SQL Servery, vyberte server ze seznamu a potom klikněte na Resetovat heslo. Pokud chcete resetovat heslo pro SQL Managed Instance, přejděte na Azure Portal, klikněte na instanci a klikněte na Resetovat heslo. Můžete také použít PowerShell nebo Azure CLI.

Vytvoření dalších přihlášení a uživatelů s oprávněními správce

V tomto okamžiku je váš server nebo spravovaná instance nakonfigurovaná pouze pro přístup pomocí jednoho přihlášení SQL a uživatelského účtu. Pokud chcete vytvořit další přihlášení s úplnými nebo částečnými oprávněními správce, máte následující možnosti (v závislosti na vašem režimu nasazení):

  • Vytvoření účtu správce Azure Active Directory s úplnými oprávněními správce

    Povolte ověřování Azure Active Directory a vytvořte přihlášení správce Azure AD. Jeden účet Azure Active Directory je možné nakonfigurovat jako správce nasazení Azure SQL s úplnými oprávněními správce. Tento účet může být individuální nebo účet skupiny zabezpečení. Správce Azure AD musí být nakonfigurovaný, pokud chcete pro připojení k SQL Database, SQL Managed Instance nebo Azure Synapse použít účty Azure AD. Podrobné informace o povolení ověřování Azure AD pro všechny typy nasazení Azure SQL najdete v následujících článcích:

  • V SQL Managed Instance vytvořte přihlášení SQL s úplnými oprávněními správce.

  • V SQL Database můžete vytvořit přihlášení k SQL s omezenými oprávněními správce

    • Vytvořte další přihlášení k SQL v hlavní databázi.
    • Vytvořte uživatelský účet v hlavní databázi přidružený k tomuto novému přihlášení.
    • Pomocí příkazu ALTER ROLE (pro Azure Synapse použijte příkaz sp_addrolemember přidat uživatelský účet do dbmanagerloginmanager databáze, roli nebo obojí master v databázi).

    Poznámka

    dbmanagerrole loginmanager se týkají SQL Managed Instance nasazení.

    Členové těchto speciálních hlavních databázových rolí pro Azure SQL Database mají pravomoc vytvářet a spravovat databáze nebo vytvářet a spravovat přihlášení. V databázích vytvořených uživatelem, který je členem dbmanager role, je člen namapován na db_owner pevnou roli databáze a může se k této databázi přihlásit a spravovat pomocí dbo uživatelského účtu. Tyto role nemají žádná explicitní oprávnění mimo hlavní databázi.

    Důležité

    V SQL Database není možné vytvořit další přihlášení SQL s úplnými oprávněními správce.

Vytváření účtů pro uživatele bez oprávnění správce

Účty pro uživatele, kteří nejsou správci, můžete vytvářet pomocí jedné ze dvou metod:

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

    Vytvořte v hlavní databázi přihlášení SQL. Pak vytvořte uživatelský účet v každé databázi, ke které tento uživatel potřebuje přístup, a přidružte k ho přihlášení. Tento přístup je upřednostňovaný, když uživatel musí přistupovat k více databázím a vy chcete hesla synchronizovat. Tento přístup má ale složitost při použití s geografickou replikací, protože přihlášení se musí vytvořit na primárním i sekundárním serveru. Další informace najdete v tématu Konfigurace a správa zabezpečení databáze Azure SQL pro geografické obnovení nebo převzetí služeb při selhání.

  • Vytvoření uživatelského účtu

    Vytvořte v databázi uživatelský účet, ke kterému uživatel potřebuje přístup (označovaný také jako uživatel s omezením).

    • S SQL Database můžete vždy vytvořit tento typ uživatelského účtu.
    • S SQL Managed Instance podpůrnými objekty zabezpečení serveru Azure AD můžete vytvořit uživatelské účty pro ověření v SQL Managed Instance, aniž byste museli vytvářet uživatele databáze jako uživatele databáze s omezením.

    Díky tomuto přístupu se informace o ověřování uživatelů ukládají do každé databáze a replikují se automaticky do geograficky replikovaných databází. Pokud ale stejný účet existuje ve více databázích a používáte ověřování Azure SQL, musíte hesla synchronizovat ručně. Kromě toho platí, že pokud má uživatel účet v různých databázích s různými hesly, může to být problém.

Důležité

Pokud chcete vytvořit uživatele s omezením namapovanými na Azure AD identit, musíte být přihlášení pomocí účtu Azure AD v databázi v databázi v Azure SQL Database. V SQL Managed Instance může přihlášení SQL s oprávněními sysadmin také vytvořit Azure AD přihlášení nebo uživatele.

Příklady ukazující, jak vytvořit přihlášení a uživatele, najdete tady:

Tip

Kurz zabezpečení, který zahrnuje vytváření uživatelů v databázi Azure SQL, najdete v tématu Kurz: Zabezpečení Azure SQL Databáze.

Použití pevných a vlastních databázových rolí

Po vytvoření uživatelského účtu v databázi, a to buď na základě přihlášení, nebo jako uživatele obsaženého, můžete autorizovat uživatele k provádění různých akcí a přístupu k datům v konkrétní databázi. K autorizaci přístupu můžete použít následující metody:

  • Pevné databázové role

    Přidejte uživatelský účet do pevné databázové role. Existují 9 pevných databázových rolí, z nichž každá má definovanou sadu oprávnění. Nejběžnější pevné databázové role jsou: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter a db_denydatareader. Role db_owner se obvykle používá k udělení úplných oprávnění pouze několika uživatelům. Ostatní pevné databázové role jsou užitečné pro rychlé vytvoření jednoduché databáze ve vývojovém prostředí, ale nedoporučují se pro většinu databází v produkčním prostředí. Například role db_datareader pevné databáze uděluje přístup pro čtení ke každé tabulce v databázi, což je více, než je nezbytně nutné.

  • Vlastní role databáze

    Vytvořte vlastní roli databáze pomocí příkazu CREATE ROLE . Vlastní role umožňuje vytvářet vlastní uživatelsky definované databázové role a pečlivě udělovat každé roli nejmenší oprávnění potřebná pro obchodní potřeby. Potom můžete přidat uživatele do vlastní role. Pokud je uživatel členem více rolí, všechna jejich oprávnění se agregují.

  • Udělení oprávnění přímo

    Udělte uživatelskému účtu oprávnění přímo. Ve službě SQL Database je dostupných více než 100 oprávnění, která můžete jednotlivě přidělit nebo zamítnout. Mnohá z těchto oprávnění jsou vnořená. Oprávnění UPDATE pro schéma například zahrnuje oprávnění UPDATE pro každou tabulku v tomto schématu. Podobně jako ve většině systémů oprávnění má zamítnutí oprávnění přednost před udělením oprávnění a přepíše ho. Kvůli velkému počtu oprávnění a používání vnořených oprávnění může návrh vhodného systému oprávnění vyžadovat pečlivou studii, aby byla vaše databáze dobře chráněna. Začněte seznamem oprávnění podle tématu Oprávnění (databázový stroj) a prohlédněte si plakát s přehledem oprávnění.

Použití skupin

Efektivní správa přístupu používá oprávnění přiřazená skupinám zabezpečení služby Active Directory a pevným nebo vlastním rolím místo jednotlivým uživatelům.

  • Při použití ověřování Azure Active Directory umístěte uživatele Azure Active Directory do skupiny zabezpečení Azure Active Directory. Pro tuto skupinu vytvořte uživatele databáze s omezením. Přidejte jednoho nebo více uživatelů databáze jako člena do vlastních nebo předdefinovaných databázových rolí s konkrétními oprávněními, která jsou pro danou skupinu uživatelů vhodná.

  • Při použití ověřování SQL vytvořte v databázi uživatele databáze s omezením. Umístěte jednoho nebo více uživatelů databáze do vlastní databázové role s určitými oprávněními, která jsou pro danou skupinu uživatelů vhodná.

    Poznámka

    Skupiny můžete použít také pro uživatele databáze, kteří nejsou obsaženi.

Měli byste se seznámit s následujícími funkcemi, které jde použít k omezení nebo zvýšení oprávnění:

Další kroky

Přehled všech funkcí zabezpečení Azure SQL Databáze a SQL Managed Instance najdete v přehledu zabezpečení.