Autorizace přístupu k databázi pro služby 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:

  • možnosti konfigurace Azure SQL Database, azure SQL Managed Instance a azure Synapse Analytics umožňující 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.
  • Přidání přihlašovacích údajů a uživatelských účtů do hlavní databáze a uživatelských účtů a udělení těchto účtů oprávnění správce.
  • Postup přidání uživatelských účtů v uživatelských databázích, a to buď přidružených k přihlašovacím jménům, nebo jako obsažené uživatelské účty.
  • Nakonfigurujte uživatelské účty s oprávněním v uživatelských databázích pomocí databázových rolí a explicitních oprávnění.

Důležité

databáze v Azure SQL Database, azure SQL Managed Instance a azure Synapse se ve zbývající části tohoto článku společně nazývají databáze a server odkazuje na server , který spravuje databáze pro Azure SQL Database a Azure Synapse.

Ověřování a autorizace

Ověřování je proces, který označuje, že uživatel vyžádá. Uživatel se připojí k databázi pomocí uživatelského účtu. Když se uživatel pokusí připojit k databázi, poskytne uživatelskému účtu a ověřovacím informacím. Uživatel je ověřený pomocí jedné z následujících dvou metod ověřování:

  • ověřování SQL.

    Pomocí této metody ověřování uživatel pro 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řihlašovacími údaji nebo uložené v databázi obsahující uživatelské účty, které nejsou propojeny s přihlašovacími údaji.

  • Ověřování Azure Active Directory

    Pomocí této metody ověřování uživatel odesílá název uživatelského účtu a požaduje, aby služba používala informace přihlašovacích údajů 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 databázové roli vašeho 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řihlašovací údaje a uživatelské účty po vytvoření nové databáze

při prvním nasazení služby Azure SQL zadáte přihlašovací jméno správce a příslušné heslo pro toto přihlášení. Tento účet správce se nazývá Správce serveru. Během nasazení dojde k následující konfiguraci přihlašovacích údajů a uživatelů v hlavní databázi a uživatelských databázích:

  • pomocí přihlašovacího jména, které jste zadali, se vytvoří SQL přihlašovací jméno s oprávněními správce. přihlášení je individuální uživatelský účet pro přihlášení k SQL Database, SQL spravované Instance a Azure Synapse.
  • Tomuto přihlášení je uděleno ú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 nedá se omezit. ve spravované instanci SQL se toto přihlášení přidá do pevné role serveru sysadmin (tato role v Azure SQL Database neexistuje).
  • dbo Pro toto přihlášení se vytvoří uživatelský účet s názvem v každé uživatelské databázi. Uživatel dbo má všechna oprávnění databáze v databázi a je namapován na db_owner pevně danou databázovou roli. Další pevné databázové role jsou popsány dále v tomto článku.

Chcete-li identifikovat účty správců pro databázi, otevřete Azure Portal a přejděte na kartu vlastnosti 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 pro 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 spravovanou instanci, přejděte na Azure Portal, klikněte na instanci a pak klikněte na resetovat heslo. Můžete také použít PowerShell nebo rozhraní příkazového řádku Azure CLI.

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

v tuto chvíli je váš server nebo spravovaná instance nakonfigurovaný jenom pro přístup pomocí jednoho SQL přihlášení a uživatelského účtu. Chcete-li vytvořit další přihlášení s úplnými nebo částečnými oprávněními pro správu, 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 Azure Active Directory ověřování a vytvořte přihlašovací jméno správce Azure AD. jeden Azure Active Directory účet může být nakonfigurovaný jako správce nasazení Azure SQL s úplnými oprávněními pro správu. Tento účet může být buď jednotlivý účet, nebo účet skupiny zabezpečení. pokud chcete použít účty azure ad pro připojení k SQL Database, SQL spravované instanci nebo Synapse Azure, musí být nakonfigurovaný správce 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 SQL přihlášení 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í.
    • Přidejte uživatelský účet do role, do dbmanager loginmanager role nebo do obou v master databázi pomocí příkazu ALTER role (pro Azure synapse použijte příkaz sp_addrolemember ).

    Poznámka

    dbmanager``loginmanagerrole a se nevztahují k SQL nasazení spravované Instance.

    členové těchto speciálních rolí hlavní databáze pro Azure SQL Database mají oprávnění k vytváření a správě databází nebo k vytváření a správě 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 databázovou roli a může se přihlásit k databázi a spravovat ji 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 uživatelů bez oprávnění správce můžete vytvořit pomocí jedné ze dvou metod:

  • Vytvoření přihlašovacích údajů

    vytvořte SQL přihlašovací jméno v hlavní databázi. Pak vytvořte uživatelský účet v každé databázi, ke které uživatel potřebuje přístup, a přiřaďte k tomuto přihlašovacímu účtu uživatelský účet. Tento přístup je preferovaný, když uživatel musí mít přístup k několika databázím a chcete uchovat hesla synchronizované. Tento přístup ale má při použití s geografickou replikací složité, protože přihlašovací jméno musí být vytvořené na primárním i sekundárním serveru. další informace najdete v tématu konfigurace a správa zabezpečení Azure SQL Database pro geografické obnovení nebo převzetí služeb při selhání.

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

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

    • pomocí SQL Database můžete tento typ uživatelského účtu vždycky vytvořit.
    • když SQL spravovaná instance, která podporuje objekty zabezpečení serveru Azure AD, můžete vytvořit uživatelské účty, které se budou ověřovat do spravované Instance SQL, aniž by bylo nutné, aby uživatelé databáze vytvořili jako uživatel databáze s omezením.

    V případě tohoto přístupu jsou informace o ověřování uživatele uloženy v každé databázi a automaticky replikovány do geograficky replikovaných databází. pokud však stejný účet existuje ve více databázích a používáte ověřování pomocí služby Azure SQL, je nutné uchovat hesla ručně. Navíc platí, že pokud má uživatel účet v různých databázích s různými hesly, může se stát, že tato hesla budou mít potíže.

Důležité

Pokud chcete vytvořit obsažené uživatele namapované na identity Azure AD, musíte se přihlásit pomocí účtu Azure AD, který je správcem v databázi v Azure SQL Database. v SQL spravovaná Instance může SQL přihlášení s sysadmin oprávněním vytvořit také přihlášení nebo uživatele služby Azure AD.

Příklady, jak vytvořit přihlašovací jména a uživatele, najdete v tématech:

Tip

kurz zabezpečení, který zahrnuje vytváření uživatelů v Azure SQL Database, najdete v tématu kurz: zabezpečená Azure SQL Database.

Používání pevné a vlastní databázové role

Po vytvoření uživatelského účtu v databázi, a to buď na základě přihlášení, nebo jako uživatel s oprávněním k zabezpečení, můžete tohoto uživatele autorizovat 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:

  • Oprava databázových rolí

    Přidejte uživatelský účet do pevné databázové role. K dispozici je 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 pevná databázová role db_datareader přístup pro čtení ke každé tabulce v databázi, což je více, než je nezbytně nutné.

  • Vlastní databázová role

    Vytvořte vlastní databázovou roli pomocí příkazu CREATE ROLE. Vlastní role umožňuje vytvářet vlastní uživatelem definované databázové role a pečlivě udělovat každé roli nejmenší oprávnění potřebná pro obchodní potřebu. Pak 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 oprávnění uživatelskému účtu 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 využívá oprávnění přiřazená skupinám zabezpečení active directory a pevným nebo vlastním rolím místo jednotlivým uživatelům.

  • Pokud používáte Azure Active Directory ověřování, Azure Active Directory uživatele do skupiny Azure Active Directory zabezpečení. 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ředdefinových databázových rolí s konkrétními oprávněními, která jsou pro příslušnou skupinu uživatelů vhodná.

  • Pokud používáte SQL, vytvořte uživatele databáze s obsahem v databázi. Umístěte jednoho nebo více uživatelů databáze do vlastní databázové role s konkrétními oprávněními odpovídajícími této skupině uživatelů.

    Poznámka

    Skupiny můžete použít také pro uživatele databáze bez obsahu.

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 Database SQL Managed Instance najdete v tématu Přehled zabezpečení.