Konfigurace a správa ověřování Microsoft Entra pomocí Azure SQL

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

V tomto článku se dozvíte, jak používat ID Microsoft Entra pro ověřování pomocí Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics.

Poznámka:

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

Alternativně můžete také nakonfigurovat ověřování Microsoft Entra pro SQL Server na virtuálních počítačích Azure.

Požadavky

Pokud chcete používat ověřování Microsoft Entra s prostředkem Azure SQL, potřebujete následující požadavky:

Vytvoření a naplnění tenanta Microsoft Entra

Než budete moct nakonfigurovat ověřování Microsoft Entra pro prostředek Azure SQL, musíte vytvořit tenanta Microsoft Entra a naplnit ho uživateli a skupinami. Tenanty Microsoft Entra je možné spravovat zcela v rámci Azure nebo použít k federaci služby místní Active Directory Domain Service.

Další informace naleznete v tématu:

Nastavení správce Microsoft Entra

Pokud chcete s vaším prostředkem použít ověřování Microsoft Entra, musí mít nastavený správce Microsoft Entra. I když jsou kroky pro Azure SQL Database, Azure Synapse Analytics a Azure SQL Managed Instance stejné, tato část podrobně popisuje různá rozhraní API a portálová prostředí, která to pro jednotlivé produkty umožňují.

Správce Microsoft Entra je také možné nakonfigurovat při vytvoření prostředku Azure SQL. Pokud už je správce Microsoft Entra nakonfigurovaný, přeskočte tuto část.

Azure SQL Database a Azure Synapse Analytics

Nastavení správce Microsoft Entra povolí ověřování Microsoft Entra pro váš logický server pro Azure SQL Database a Azure Synapse Analytics. Správce Microsoft Entra pro váš server můžete nastavit pomocí webu Azure Portal, PowerShellu, Azure CLI nebo rozhraní REST API.

Na webu Azure Portal najdete název logického serveru .

  • V poli Název serveru na stránce Přehled služby Azure SQL Database.
  • V poli Název serveru na stránce Přehled vašeho samostatného vyhrazeného fondu SQL ve službě Azure Synapse Analytics.
  • V příslušném koncovém bodu SQL na stránce Přehled vašeho pracovního prostoru Azure Synapse Analytics.

Pokud chcete nastavit správce Microsoft Entra pro logický server na webu Azure Portal, postupujte takto:

  1. V podokně Adresáře a předplatná webu Azure Portal zvolte adresář, který obsahuje prostředek Azure SQL jako aktuální adresář.

  2. Vyhledejte sql servery a pak vyberte logický server pro váš databázový prostředek, aby se otevřelo podokno SQL Serveru .

    Snímek obrazovky znázorňující, jak vyhledat a vybrat SQL servery

  3. V podokně SQL Serveru pro váš logický server vyberte v části Nastavení id Microsoft Entra a otevřete podokno Microsoft Entra ID.

  4. V podokně Microsoft Entra ID vyberte Nastavit správce a otevřete podokno Microsoft Entra ID.

    Snímek obrazovky ukazuje možnost nastavit správce Microsoft Entra pro SQL servery.

  5. Podokno ID Microsoft Entra zobrazuje všechny uživatele, skupiny a aplikace v aktuálním adresáři a umožňuje vyhledávat podle názvu, aliasu nebo ID. Vyhledejte požadovanou identitu pro správce Microsoft Entra a vyberte ji a kliknutím na tlačítko Vybrat zavřete podokno.

  6. V horní části stránky Microsoft Entra ID vašeho logického serveru vyberte Uložit.

    Snímek obrazovky ukazuje možnost uložení správce Microsoft Entra.

    ID objektu se zobrazí vedle názvu správce pro uživatele a skupiny Microsoft Entra. Pro aplikace (instanční objekty) se zobrazí ID aplikace.

Proces změny správce může trvat několik minut. Nový správce se pak zobrazí v poli správce Microsoft Entra.

Pokud chcete správce odebrat, vyberte v horní části stránky ID Microsoft Entra možnost Odebrat správce a pak vyberte Uložit. Odebráním správce Microsoft Entra zakážete ověřování Microsoft Entra pro váš logický server.

Poznámka:

Správce Microsoft Entra je uložen v databázi serveru master jako uživatel (objekt zabezpečení databáze). Vzhledem k tomu, že hlavní názvy databází musí být jedinečné, zobrazovaný název správce nemůže být stejný jako název žádného uživatele v databázi serveru master . Pokud uživatel s tímto jménem již existuje, nastavení správce Microsoft Entra se nezdaří a vrátí se zpět, což znamená, že se název už používá.

Azure SQL Managed Instance

Nastavení správce Microsoft Entra povolí ověřování Microsoft Entra pro spravovanou instanci Azure SQL. Správce Microsoft Entra pro vaši spravovanou instanci SQL můžete nastavit pomocí webu Azure Portal, PowerShellu, Azure CLI nebo rozhraní REST API.

Pokud chcete spravované instanci SQL udělit oprávnění ke čtení pro ID Microsoft Entra pomocí webu Azure Portal, přihlaste se jako globální správce nebo správce privilegovaných rolí a postupujte takto:

  1. Na webu Azure Portal v pravém horním rohu vyberte svůj účet a potom zvolte Přepnout adresáře a potvrďte, který adresář je vaším aktuálním adresářem. V případě potřeby přepněte adresáře.

    Snímek obrazovky webu Azure Portal znázorňující, kam přepnout adresář

  2. V podokně Adresáře a předplatná webu Azure Portal zvolte adresář, který obsahuje vaši spravovanou instanci jako aktuální adresář.

  3. Vyhledejte spravované instance SQL a výběrem spravované instance otevřete podokno spravované instance SQL. Potom v části Nastavení vyberte Microsoft Entra ID a otevřete tak podokno Microsoft Entra ID vaší instance.

    Snímek obrazovky webu Azure Portal zobrazující stránku správce Microsoft Entra otevřenou pro vybranou spravovanou instanci SQL

  4. V podokně pro správu Microsoft Entra vyberte Nastavit správce z navigačního panelu a otevřete podokno Microsoft Entra ID .

    Snímek obrazovky se zvýrazněným příkazem Nastavit správce na stránce správce Microsoft Entra pro vybranou spravovanou instanci SQL

  5. V podokně Microsoft Entra ID vyhledejte uživatele, zaškrtněte políčko vedle uživatele nebo skupiny, který má být správcem, a stisknutím klávesy Vybrat zavřete podokno a vraťte se na stránku správce Microsoft Entra pro vaši spravovanou instanci.

    Podokno ID Microsoft Entra zobrazuje všechny členy a skupiny v aktuálním adresáři. Uživatele nebo skupiny se šedě nedají vybrat, protože nejsou podporované jako správci Microsoft Entra. Vyberte identitu, kterou chcete přiřadit jako správce.

  6. Na navigačním panelu stránky správce Microsoft Entra pro vaši spravovanou instanci vyberte Uložit a potvrďte správce Microsoft Entra.

    Snímek obrazovky se stránkou správce Microsoft Entra s tlačítkem Uložit v horním řádku vedle tlačítek Nastavit správce a Odebrat správce

    Po dokončení operace změny správce se nový správce zobrazí v poli Správce Microsoft Entra.

    ID objektu se zobrazí vedle názvu správce pro uživatele a skupiny Microsoft Entra. Pro aplikace (instanční objekty) se zobrazí ID aplikace.

Tip

Pokud chcete správce odebrat, vyberte v horní části stránky Microsoft Entra ID odebrat správce a pak vyberte Uložit.

Přiřazení oprávnění Microsoft Graphu

SQL Managed Instance potřebuje oprávnění ke čtení ID Microsoft Entra pro scénáře, jako je autorizace uživatelů, kteří se připojují prostřednictvím členství ve skupině zabezpečení a vytváření nových uživatelů. Aby ověřování Microsoft Entra fungovalo, musíte přiřadit identitu spravované instance k roli Čtenáři adresáře. Můžete to provést pomocí webu Azure Portal nebo PowerShellu.

U některých operací vyžaduje Služba Azure SQL Database a Azure Synapse Analytics také oprávnění k dotazování Microsoft Graphu, která jsou vysvětlená v oprávněních Microsoft Graphu. Azure SQL Database a Azure Synapse Analytics podporují jemně odstupňovaná oprávnění graphu pro tyto scénáře, zatímco spravovaná instance SQL vyžaduje roli Čtenáři adresáře. Podrobná oprávnění a jejich přiřazení jsou podrobně popsána v tématu Povolení instančních objektů vytvářet uživatele Microsoft Entra.

Role Čtenáři adresářů

Na stránce Microsoft Entra ID pro službu SQL Managed Instance na webu Azure Portal se zobrazí praktický banner, pokud instance nemá přiřazená oprávnění čtenáře adresáře.

  1. Vyberte banner na stránce Microsoft Entra ID a udělte oprávnění spravované identitě přiřazené systémem nebo přiřazené uživatelem, která představuje vaši instanci. Tuto operaci může provést pouze globální správce nebo správce privilegovaných rolí ve vašem tenantovi.

    Snímek obrazovky s dialogovým oknem pro udělení oprávnění spravované instanci SQL pro přístup k ID Microsoft Entra s vybraným tlačítkem Udělit oprávnění

  2. Po úspěšném provedení operace se v pravém horním rohu zobrazí oznámení o úspěchu :

    Snímek obrazovky s oznámením potvrzujícím, že oprávnění ke čtení ID Microsoft Entra se úspěšně aktualizovala pro spravovanou instanci

Správce Microsoft Entra se teď dá použít k vytvoření instančních objektů serveru Microsoft Entra (přihlášení) a instančních objektů databáze (uživatelů). Další informace najdete v tématu Integrace Microsoft Entra se službou Azure SQL Managed Instance.

Vytvoření objektů zabezpečení Microsoft Entra v SQL

Pokud se chcete připojit k databázi ve službě SQL Database nebo Azure Synapse Analytics pomocí ověřování Microsoft Entra, musí být v databázi nakonfigurovaný objekt zabezpečení s alespoň CONNECT oprávněním.

Uživatelská oprávnění databáze

Když se vytvoří uživatel databáze, ve výchozím nastavení obdrží oprávnění CONNECT k databázi. Uživatel databáze také dědí oprávnění za dvou okolností:

  • Pokud je uživatel členem skupiny Microsoft Entra, která má také přiřazená oprávnění na serveru.
  • Pokud se uživatel vytvoří z přihlášení, zdědí oprávnění přiřazená serverem přihlašovacích údajů použitelných pro databázi.

Správa oprávnění pro objekty zabezpečení serveru a databáze funguje stejně bez ohledu na typ objektu zabezpečení (ID Microsoft Entra, ověřování SQL atd.). Místo přímého udělení oprávnění uživatelům doporučujeme udělit oprávnění databázovým rolím. Uživatelé pak mohou být přidáni do rolí s příslušnými oprávněními. To zjednodušuje správu dlouhodobých oprávnění a snižuje pravděpodobnost, že identita uchovává přístup, pokud je to vhodné.

Další informace naleznete v tématu:

Uživatelé databáze s omezením

Uživatel databáze s omezením je typ uživatele SQL, který není připojený k přihlášení v master databázi. Pokud chcete vytvořit uživatele databáze microsoft Entra, připojte se k databázi pomocí identity Microsoft Entra, která má alespoň oprávnění ALTER ANY USER . Následující příklad T-SQL vytvoří instanční objekt Microsoft_Entra_principal_name databáze z ID Microsoft Entra.

CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;

Pokud chcete vytvořit uživatele databáze s omezením pro skupinu Microsoft Entra, zadejte zobrazovaný název skupiny:

CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;

Pokud chcete vytvořit uživatele databáze s omezením pro spravovanou identitu nebo instanční objekt, zadejte zobrazovaný název identity:

CREATE USER [appName] FROM EXTERNAL PROVIDER;

Pokud chcete vytvořit uživatele databáze s omezením pro uživatele Microsoft Entra, zadejte hlavní název uživatele identity:

CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;

Uživatelé na základě přihlášení

Poznámka:

Instanční objekty serveru Microsoft Entra (přihlášení) jsou aktuálně ve verzi Public Preview pro Azure SQL Database a Azure Synapse Analytics. Přihlášení Microsoft Entra jsou obecně dostupná pro azure SQL Managed Instance a SQL Server 2022.

Podporované jsou objekty zabezpečení serveru Microsoft Entra (nebo přihlášení), což znamená, že uživatelé databáze s omezením nejsou potřeba. Objekty zabezpečení databáze (uživatelé) se dají vytvořit na základě objektu zabezpečení serveru, což znamená, že uživatelé Microsoft Entra mohou dědit oprávnění přiřazená na úrovni serveru pro přihlášení.

CREATE USER [appName] FROM LOGIN [appName];

Další informace najdete v přehledu služby SQL Managed Instance. Syntaxi vytváření objektů zabezpečení serveru Microsoft Entra (přihlášení) najdete v tématu CREATE LOGIN.

Externí uživatelé

Nemůžete přímo vytvořit uživatele databáze pro identitu spravovanou v jiném tenantovi Microsoft Entra, než je uživatel přidružený k vašemu předplatnému Azure. Uživatelé v jiných adresářích se ale dají importovat do přidruženého adresáře jako externí uživatelé. Pak je můžete použít k vytvoření uživatelů databáze s omezením, kteří mají přístup k databázi. Externí uživatelé můžou také získat přístup prostřednictvím členství ve skupinách Microsoft Entra.

Příklady: Vytvoření uživatele databáze s omezením představujícího uživatele federované nebo spravované domény Microsoftu:

CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;

Uživatelský účet federované domény, který se importuje do spravované domény jako externí uživatel, musí používat identitu spravované domény.

Důležité informace o pojmenování

Speciální znaky, jako je dvojtečka : nebo ampersand & , pokud jsou zahrnuté jako uživatelská jména v T-SQL CREATE LOGIN a CREATE USER příkazy, nejsou podporovány.

Id Microsoft Entra a Azure SQL se liší v návrhu správy uživatelů jedním klíčovým způsobem: Microsoft Entra ID umožňuje duplikovat zobrazované názvy v rámci tenanta, zatímco Azure SQL vyžaduje všechny objekty zabezpečení serveru na serveru nebo instanci a všechny objekty zabezpečení databáze v databázi mají jedinečný název. Vzhledem k tomu, že Azure SQL při vytváření objektů zabezpečení přímo používá zobrazovaný název identity Microsoft Entra, může to vést k chybám při vytváření uživatelů. K vyřešení tohoto problému služba Azure SQL vydala WITH OBJECT_ID vylepšení aktuálně ve verzi Preview, což uživatelům umožňuje zadat ID objektu Microsoft Entra identity přidané na server nebo instanci.

Oprávnění pro Microsoft Graph

Tento CREATE USER ... FROM EXTERNAL PROVIDER příkaz vyžaduje přístup Azure SQL k Microsoft Entra ID ("externímu poskytovateli") jménem přihlášeného uživatele. V některých případech vznikají okolnosti, které způsobují, že ID Microsoft Entra vrátí výjimku do Azure SQL.

  • Může dojít k chybě SQL 33134, která obsahuje chybovou zprávu specifickou pro Microsoft Entra. Tato chyba obvykle říká, že přístup byl odepřen, že se uživatel musí zaregistrovat do vícefaktorového ověřování pro přístup k prostředku nebo že přístup mezi aplikacemi první strany musí být zpracován prostřednictvím předběžného ověření. V prvních dvou případech je problém obvykle způsoben zásadami podmíněného přístupu, které jsou nastavené v tenantovi Microsoft Entra uživatele: brání uživateli v přístupu k externímu poskytovateli. Problém by měl vyřešit aktualizace zásad podmíněného přístupu tak, aby umožňovala přístup k aplikaci 00000003-0000-0000-c000-000000000000 (ID aplikace rozhraní Microsoft Graph API). Pokud chyba říká, že přístup mezi aplikacemi první strany musí být zpracován prostřednictvím předběžného ověření, příčinou problému je to, že uživatel je přihlášený jako instanční objekt. Příkaz by měl být úspěšný, pokud ho uživatel spustí.
  • Pokud se zobrazí vypršení časového limitu připojení, možná budete muset nastavit TransparentNetworkIPResolution parametr připojovací řetězec na false. Další informace najdete v tématu Problém s vypršením časového limitu připojení v rozhraní .NET Framework 4.6.1 – TransparentNetworkIPResolution.

Další informace o vytváření uživatelů databáze s omezením na základě identit Microsoft Entra naleznete v tématu CREATE USER.

Konfigurace vícefaktorového ověřování

Pokud chcete zlepšit zabezpečení prostředku Azure SQL, zvažte konfiguraci vícefaktorového ověřování (MFA), která uživatele vyzve, aby k ověření databáze použil druhou alternativní metodu, jako je telefonní hovor nebo ověřovací aplikace.

Pokud chcete použít vícefaktorové ověřování s prostředkem Azure SQL, nejprve povolte vícefaktorové ověřování a pak pomocí zásad podmíněného přístupu vynucujte vícefaktorové ověřování pro prostředek Azure SQL.

Připojení pomocí Microsoft Entra

Po nakonfigurování ověřování Microsoft Entra ho můžete použít k připojení k prostředku SQL pomocí nástrojů Microsoftu, jako jsou SQL Server Management Studio a SQL Server Data Tools, a nakonfigurovat klientské aplikace pro připojení pomocí identit Microsoft Entra.

Řešení potíží s ověřováním Microsoft Entra

Pokyny k řešení problémů najdete v blogu: Řešení potíží souvisejících s ověřováním Microsoft Entra ve službě Azure SQL Database a Azure Synapse.