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

Platí pro:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

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

  • Možnosti konfigurace služby Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics, které uživatelům umožňují 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řihlašovacích údajů a uživatelských účtů do master databáze a uživatelských účtů a udělení oprávnění správce těchto účtů.
  • Postup přidání uživatelských účtů do uživatelských databází, buď přidružených k přihlášením, nebo jako obsažených uživatelských účtů
  • 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 ve službě Azure SQL Database, Azure SQL Managed Instance a Azure Synapse se souhrnně označují ve zbývající části tohoto článku jako databáze a server odkazuje na logický server , který spravuje databáze pro Azure SQL Database a Azure Synapse.

Poznámka:

ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).

Ověřování a autorizace

Ověřování je proces prokazování, že je uživatel tím, za koho se vydává. 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 master databázi pro uživatelské účty propojené s přihlášením nebo uložené v databázi obsahující uživatelské účty , které nejsou propojené s přihlášením.

    Poznámka:

    Azure SQL Database vynucuje pouze složitost hesel pro zásady hesel. Zásady hesel ve službě Azure SQL Managed Instance najdete v nejčastějších dotazech ke službě Azure SQL Managed Instance.

  • Ověřování Microsoft Entra

    Pomocí této metody ověřování uživatel odešle název uživatelského účtu a požádá, aby služba používala informace o přihlašovacích údajích uložených v Microsoft Entra ID (dříve Azure Active Directory).

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 master v databázi nebo může být uživatelské jméno uložené v jednotlivých databázích.

  • Přihlášení je individuální účet v master databázi, ke kterému 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 smí daný uživatel dělat. Autorizace se řídí členstvím v databázových rolích vašeho uživatelského účtu a oprávněními 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 můžete zadat přihlašovací jméno a heslo pro speciální typ přihlášení správce, 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í účet pro přihlášení ke službě 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. Ve spravované instanci SQL se toto přihlášení přidá do pevné role serveru správce systému (tato role v Azure SQL Database neexistuje).
  • Když se tento účet přihlásí k databázi, bude se shodovat se speciálním uživatelským účtem (uživatelským účtemdbo, který existuje v každé uživatelské databázi. Uživatel dbo má všechna oprávnění databáze v databázi a je členem db_owner pevné databázové role. Další pevné databázové role jsou popsány dále v tomto článku.

Pokud chcete identifikovat účet správce serveru pro logický server, otevřete Azure Portal a přejděte na kartu Vlastnosti vašeho serveru nebo spravované instance.

Screenshot shows the SQL Server Properties page where you can obtain the Server admin login and Microsoft Entra admin values.

Screenshot shows the SQL managed instance Properties page where you can obtain the login and Microsoft Entra admin values.

Důležité

Název účtu správce serveru se po vytvoření nedá změnit. Pokud chcete resetovat heslo správce serveru, přejděte na web Azure Portal, klikněte na SQL Servery, vyberte server ze seznamu a potom klikněte na Resetovat heslo. Pokud chcete resetovat heslo pro spravovanou instanci SQL, přejděte na web 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řihlašovacího účtu 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 Microsoft Entra s úplnými oprávněními správce

    Povolte ověřování Microsoft Entra a přidejte správce Microsoft Entra. Jeden účet Microsoft Entra 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 skupinový účet skupiny zabezpečení. Pokud chcete používat účty Microsoft Entra pro připojení ke službě SQL Database, SQL Managed Instance nebo Azure Synapse, musí být nakonfigurovaný správceMicrosoft Entra. Podrobné informace o povolení ověřování Microsoft Entra pro všechny typy nasazení Azure SQL najdete v následujících článcích:

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

    Poznámka:

    loginmanager Role dbmanager se netýknou nasazením služby Azure SQL Managed Instance.

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

    Členové speciálních master databázových rolí pro Azure SQL Database mají oprávnění 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 pevnou db_owner 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 master databázi.

    Důležité

    Ve službě Azure SQL Database nemůžete vytvořit další přihlášení SQL s úplnými oprávněními správce. Jiné přihlašovací údaje nebo role serveru můžou přidávat nebo odebírat pouze účet správce Microsoft Entra nebo účet správce Microsoft Entra (což může být skupina Microsoft Entra). To je specifické pro Azure SQL Database.

  • Ve vyhrazeném fondu SQL Azure Synapse vytvořte přihlášení SQL s omezenými oprávněními správce.

    • Vytvořte v databázi další přihlášení master SQL.
    • Vytvořte uživatelský účet v master databázi přidružené k tomuto novému přihlášení.
    • Přidejte uživatelský účet do databáze , loginmanager role nebo obojí pomocí masterpříkazu sp_addrolemember.dbmanager
  • V bezserverovém fondu SQL Azure Synapse vytvořte přihlášení SQL s omezený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 master databázi přihlášení SQL. Pak v každé databázi vytvořte uživatelský účet, ke kterému tento uživatel potřebuje přístup, a přidružte k němu uživatelský účet. Tento přístup je upřednostňovaný, když uživatel musí přistupovat k více databázím a chcete zachovat synchronizovaná hesla. 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í služby Azure SQL Database pro geografické obnovení nebo převzetí služeb při selhání.

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

    V databázi vytvořte 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.
    • Se službou SQL Managed Instance podporujícími objekty zabezpečení serveru Microsoft Entra můžete vytvořit uživatelské účty pro ověření ve službě 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í v každé databázi a replikují se do geograficky replikovaných databází automaticky. Pokud ale stejný účet existuje ve více databázích a používáte ověřování 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 identity Microsoft Entra, musíte být přihlášeni pomocí účtu Microsoft Entra v databázi v Azure SQL Database. Ve službě SQL Managed Instance může přihlášení SQL s oprávněními sysadmin také vytvořit přihlášení nebo uživatele Microsoft Entra.

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ů ve službě Azure SQL Database, najdete v kurzu Zabezpečení služby Azure SQL Database.

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 obsaženého uživatele, můžete autorizovat tohoto 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šími pevnými databázovými rolemi 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 db_datareader pevná role databáze uděluje přístup pro čtení ke každé tabulce v databázi, což je více, než je nezbytně nutné.

  • Role vlastní 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 jednotlivým rolím nejnižší 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 oprávnění uživatelského úč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 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í Microsoft Entra vložte uživatele Microsoft Entra do skupiny zabezpečení Microsoft Entra. 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 vhodnými pro danou skupinu uživatelů.

  • 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í role databáze s konkrétními oprávněními, která jsou vhodná pro danou skupinu uživatelů.

    Poznámka:

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

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í služby Azure SQL Database a SQL Managed Instance najdete v přehledu zabezpečení.