Ověřování Microsoft Entra pro Azure Synapse Analytics

Tento článek poskytuje podrobný přehled o využití autentizace Microsoft Entra se Synapse SQL v Azure Synapse Analytics.

Note

Microsoft Entra server principals jsou momentálně v preview pro Azure Synapse Analytics.

Pro konfiguraci ověřování Microsoft Entra viz Konfigurace a správa ověřování Microsoft Entra pomocí Azure Synapse Analytics.

Overview

Microsoft Entra ID umožňuje centrálně spravovat identity lidí a služeb ve vašich datových aktivech. Integrací Microsoft Entra s Azure Synapse Analytics pro autentizaci můžete zjednodušit správu identity a oprávnění a zároveň umožnit podrobné zásady podmíněného přístupu a správu přístupu k vašim datům.

Použití ověřování Microsoft Entra zahrnuje následující výhody:

  • Nahrazuje méně bezpečné metody ověřování, jako jsou uživatelská jména a hesla.
  • Eliminuje nebo pomáhá zastavit šíření identit uživatelů na serverech.
  • Skupiny Microsoft Entra umožňují, aby správa oprávnění databáze byla abstrahována od jednotlivých účtů a do provozních skupin.
  • Umožňuje rotaci hesel na jednom místě.
  • Ověřování Microsoft Entra-only poskytuje úplnou alternativu k ověřování SQL.
  • Spravované identity pro prostředky Azure eliminují nutnost ukládat hesla pro služby, které se připojují k databázím, a připojení z databází k jiným prostředkům Azure.
  • Umožňuje moderní bezpečnostní prvky, včetně silného vícefaktorového ověřování s celou řadou možností snadného ověření, jako je telefonní hovor, textová zpráva, čipová karta s pin kódem nebo oznámení mobilní aplikace.
  • Microsoft Entra ID umožňuje integraci s mnoha moderními ověřovacími protokoly, včetně OpenID Connect, OAuth2.0, omezeného delegování protokolu Kerberos a dalších.
  • Umožňuje centralizované monitorování připojení ke zdrojům dat.
  • Umožňuje řízení podmíněného přístupu, například vyžadování kompatibilních zařízení nebo metod ověřování pro úspěšná připojení.

Note

Ověřování Microsoft Entra podporuje pouze přístupové tokeny, které pocházejí z ID Microsoft Entra, a ne přístupové tokeny třetích stran. ID Microsoft Entra také nepodporuje přesměrování dotazů Microsoft Entra ID na koncové body třetích stran. Toto omezení platí pro všechny SQL platformy a všechny operační systémy podporující autentizaci Microsoft Entra.

Kroky konfigurace

Obecné kroky konfigurace ověřování Microsoft Entra jsou:

  1. Vytvořte a nastavte tenanta Microsoft Entra.
  2. Vytvořte pracovní prostor Azure Synapse nebo samostatný vyhrazený fond SQL.
  3. Přiřaďte administrátora Microsoft Entra pracovnímu prostoru nebo logickému serveru.
  4. Vytvořte ve své databázi SQL principály, které jsou namapované na identity Microsoft Entra.
  5. Nakonfigurujte své klientské aplikace k připojení pomocí Azure Identity knihoven a autentizačních metod.
  6. Připojte se k databázi pomocí identit Microsoft Entra.

Podporované identity a metody ověřování

Azure Synapse Analytics podporuje použití následujících identit Microsoft Entra jako přihlašovacích údajů a uživatelů (principals) v Synapse SQL:

  • Uživatelé Microsoft Entra: Jakýkoli typ uživatele v tenantovi Microsoft Entra, který zahrnuje interní uživatele, externí uživatele, hosty a členy. Podporují se také členové domény služba Active Directory federované s ID Microsoft Entra a dají se nakonfigurovat pro bezproblémové jednotné přihlašování.
  • Aplikace: Aplikace existující v Azure mohou používat instanční objekty služby nebo spravované identity k přímému ověřování do Azure Synapse Analytics. Používání spravovaných identit je vhodnější, protože autentizace je bez hesla a eliminuje potřebu přihlašovacích údajů spravovaných vývojáři.
  • Skupiny Microsoft Entra, které můžou zjednodušit správu přístupu ve vaší organizaci tím, že spravují přístup uživatelů a aplikací na základě členství ve skupinách.

Pro identity uživatelů se podporují následující metody ověřování:

  • Microsoft Entra Integrated (Ověřování systému Windows) podporované hybridními identitami Microsoft Entra s služba Active Directory [federation].
  • Microsoft Entra MFA nebo vícefaktorové ověřování, které vyžaduje další kontroly zabezpečení nad rámec znalostí uživatele.
  • Ověřování heslem Microsoft Entra, které používá přihlašovací údaje uživatele uložené a spravované v Microsoft Entra ID.
  • Microsoft Entra Default ověřování, které kontroluje různé mezipaměti přihlašovacích údajů na stroji aplikace a může použít uživatelské tokeny pro ověření v SQL.

Pro identity služeb nebo úloh se podporují následující metody ověřování:

  • Spravované identity pro prostředky Azure, přiřazené uživatelem i systémem. Ověřování spravované identity je založeno na tokenech, přičemž je identita přiřazena k prostředku, který se chce pomocí ní ověřit. Platforma Azure Identity Platform ověří tento vztah, který umožňuje ověřování bez hesla.
  • Hlavní název služby Microsoft Entra a tajný klíč aplikace (klienta). Tato metoda ověřování se nedoporučuje kvůli riziku spojenému s hesly, která se dají uhodnout a uniknout.
  • Výchozí ověřování Microsoft Entra, které kontroluje různé mezipaměti přihlašovacích údajů na počítači aplikace, a může používat aplikační tokeny k ověření v SQL.

Správce Microsoft Entra

Pro povolení autentizace Microsoft Entra musí být nastaven správce Microsoft Entra pro váš pracovní prostor nebo logický server Azure Synapse. Tento administrátor existuje vedle SQL administrátora. Správce Microsoft Entra může být uživatel, skupina, principal služby nebo spravovaná identita ve vašem Azure tenantu. Vždy lze nastavit pouze jednu identitu. Odstranění správce Microsoft Entra deaktivuje připojení založená na autentizaci Microsoft Entra, a to i u stávajících uživatelů Microsoft Entra s oprávněními v databázi.

Tip

Skupiny Microsoft Entra umožňují více identit fungovat jako správce Microsoft Entra na serveru. Když je správce přiřazen ke skupině, všichni členové skupiny přebírají roli správce Microsoft Entra. Správce skupiny Microsoft Entra vylepšuje spravovatelnost tím, že přesouvá správu z akcí roviny dat serveru do Microsoft Entra ID a pod správu vlastníků skupin. Skupiny se dají použít pro všechny identity Microsoft Entra, které se připojují k SQL, což umožňuje konfiguraci jednorázového uživatele a oprávnění v serverech a databázích a ponechat tak veškerou správu uživatelů do skupin.

Správce Microsoft Entra hraje zvláštní roli: jedná se o první účet, který může vytvářet další Microsoft Entra přihlášení a uživatele, souhrnně označované jako objekty zabezpečení. Správce je uživatel databáze s omezením v master databázi serveru. Účty správce jsou členy role db_owner v každé uživatelské databázi a každá z těchto databází je zadána jako uživatel dbo. Další informace o účtech správce najdete v tématu Správa databází a přihlášení.

Objekty zabezpečení Microsoft Entra

Note

Microsoft Entra server principals (logins) jsou momentálně v preview pro Azure Synapse Analytics.

Microsoft Entra identity jako objekty zabezpečení v Azure Synapse Analytics můžete vytvářet třemi způsoby:

  • jako instanční objekty nebo přihlášení
  • jako uživatelé založení na přihlášení (typ databázového principálu)
  • jako entitní uživatelé databáze

Important

Ověřování Microsoft Entra pro Azure SQL se neintegruje s Azure RBAC. Pro použití Microsoft Entra identit pro připojení k Azure SQL a provádění dotazů musíte tyto identity vytvořit jako Microsoft Entra principals v databázích, ke kterým mají přístup. Role SQL Server Contributor a SQL DB Contributor zajišťují operace nasazení související se správou, nikoli přístup k databázovému připojení.

Přihlášení (serverové objekty zabezpečení) v dedikovaných fondech SQL

Server principals (logins) pro Microsoft Entra identity jsou v preview pro dedikované SQL pooly v Azure Synapse Analytics.

Následující T-SQL ukazuje, jak vytvořit přihlášení Microsoft Entra:

CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER

Přihlášení Microsoft Entra má v sys.server_principals následující hodnoty vlastností:

Property Value
SID (Identifikátor zabezpečení) Binární reprezentace ID objektu identity Microsoft Entra
typ E = Externí přihlášení nebo aplikace z Microsoft Entra ID
X = Externí skupina v Microsoft Entra ID
type_desc EXTERNAL_LOGIN pro přihlášení nebo aplikaci Microsoft Entra
EXTERNAL_GROUP pro skupinu Microsoft Entra

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

Uživatelé na základě přihlášení dědí role a oprávnění na úrovni serveru přiřazená k přihlášení Microsoft Entra.

Následující T-SQL ukazuje, jak vytvořit uživatele založeného na přihlášení pro identitu Microsoft Entra:

CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]

Následující tabulka obsahuje podrobnosti o hodnotách vlastností uživatele založených na přihlášení microsoft Entra v sys.database_principals:

Property Value
SID (Identifikátor zabezpečení) Binární reprezentace ID objektu identity Microsoft Entra plus AADE
typ E = Externí přihlášení nebo aplikace z Microsoft Entra ID
X = Externí skupina v Microsoft Entra ID
type_desc EXTERNAL_LOGIN pro přihlášení nebo aplikaci Microsoft Entra
EXTERNAL_GROUP pro skupinu Microsoft Entra

Uživatelé databáze s omezením

Uživatelé izolované databáze jsou přenosní s databází. Nemají žádné spojení s identitami definovanými na serveru nebo instanci a můžete je snadno přesouvat spolu s databází z jednoho serveru nebo instance na druhý bez přerušení.

Následující T-SQL ukazuje, jak vytvořit uživatele databáze s omezením pro identitu Microsoft Entra:

CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER

Uživatel založený na databázi Microsoft Entra má stejné hodnoty vlastností jako uživatelé založené na přihlášení v sys.database_principals s výjimkou způsobu SID vytváření:

Property Value
SID (Identifikátor zabezpečení) Binární reprezentace ID objektu identity Microsoft Entra
typ E = Externí přihlášení nebo aplikace z Microsoft Entra ID
X = Externí skupina v Microsoft Entra ID
type_desc EXTERNAL_LOGIN pro přihlášení nebo aplikaci Microsoft Entra
EXTERNAL_GROUP pro skupinu Microsoft Entra

Chcete-li získat původní identifikátor GUID Microsoft Entra, na kterém je SID založen, použijte následující převod T-SQL.

SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals

Caution

Můžete nechtěně vytvořit obsaženého uživatele databáze Microsoft Entra se stejným jménem jako přihlášení do Microsoft Entra na úrovni serveru nebo instance. Protože objekty zabezpečení nejsou propojeny, uživatel databáze nedědí oprávnění z přihlašovacího účtu serveru. Identity se mohou v požadavcích na spojení zaměňovat, což vede k nedefinovanému chování.

Pomocí následujícího dotazu T-SQL určete, jestli je uživatel databáze uživatelem založeným na přihlášení nebo uživatelem databáze s omezením:

SELECT CASE
    WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
    ELSE 'contained database user'
    END AS user_type,
    *
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'

Pomocí následujícího dotazu T-SQL zobrazte všechny objekty zabezpečení Microsoft Entra v databázi:

SELECT
  name,
  CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
  CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
  sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'

ověřování pouze pomocí Microsoft Entra

Když povolíte autentizaci pouze přes Microsoft Entra, deaktivujete SQL autentizaci. Nemůžete použít SQL autentizaci k připojení k pracovnímu prostoru, SQL poolu nebo databázi.

Pro začátek viz Konfigurace ověřování pouze pomocí Microsoft Entra.

Vícefaktorové ověřování (MFA)

Vícefaktorové ověřování Microsoftu je funkce zabezpečení, kterou poskytuje cloudová služba pro správu identit a přístupu od Microsoftu. Vícefaktorové ověřování vylepšuje zabezpečení přihlašování uživatelů tím, že vyžaduje, aby uživatelé zadali další ověřovací kroky nad rámec hesla.

Vícefaktorové ověřování Microsoft Entra pomáhá chránit přístup k datům a aplikacím a současně splňuje požadavky uživatelů na jednoduchý proces přihlašování. Vícefaktorové ověřování přidává uživatelům další vrstvu zabezpečení tím, že vyžaduje, aby uživatelé zadali dva nebo více ověřovacích faktorů. Mezi tyto faktory obvykle patří něco, co uživatel zná (heslo), něco, co uživatel má (smartphone nebo hardwarový token) a/nebo něco, co je uživatel (biometrická data). Kombinací více faktorů MFA výrazně snižuje pravděpodobnost neoprávněného přístupu.

Vícefaktorová autentizace je podporovaná autentizační metoda pro Azure Synapse Analytics.

Pro začátek viz Konfigurovat vícefaktorovou autentizaci v Microsoft Entra.

Podpora Microsoft Entra B2B

Ověřování Microsoft Entra ve všech produktech SQL podporuje také spolupráci Microsoft Entra B2B, která umožňuje firmám pozvat uživatele typu host, aby spolupracovali se svou organizací. Uživatelé typu host se můžou připojit k databázím buď jako jednotliví uživatelé, nebo členové skupiny Microsoft Entra.

Architektura důvěryhodnosti pro federaci Microsoft Entra do služby služba Active Directory

Microsoft Entra ID se také integruje se známými řešeními pro správu identit a přístupu, jako je služba Active Directory. Hybridním připojením k vašemu místní Active Directory umožníte Windows identitám federovaným přes Microsoft Entra ID používat přihlašovací údaje k připojení k Azure Synapse Analytics.

Pro federaci poskytuje Microsoft Entra ID dvě zabezpečené metody ověřování: průchozí ověřování a ověřování pomocí hash hesel. Pokud uvažujete o federaci své lokální služby Active Directory s Microsoft Entra ID, prostudujte si Volbu správné metody ověřování pro vaše řešení hybridní identity Microsoft Entra.

Další informace o nastavení a synchronizaci hybridních identit Microsoft Entra najdete v následujících článcích:

Microsoft Entra ID ověří token a databáze mu důvěřuje a ověřuje vystavitele a další podrobnosti. Zákazník č. 1 může představovat Microsoft Entra ID buď s nativními uživateli, nebo s federovanými uživateli. Zákazník 2 představuje možné řešení včetně importovaných uživatelů, kteří v tomto příkladu pocházejí z federovaného Microsoft Entra ID synchronizovaného s Microsoft Entra ID pomocí ADFS. Je důležité pochopit, že přístup k databázi pomocí autentizace Microsoft Entra vyžaduje, aby bylo hostingové předplatné přiřazeno k Microsoft Entra ID. Musíte použít stejné předplatné k vytvoření zdrojů Azure SQL nebo Azure Synapse.

Povolení

Oprávnění přiřazená správci Microsoft Entra se liší od oprávnění přidělených jiným principalům v Azure Synapse Analytics. V některých případech potřebuje Azure Synapse Analytics také oprávnění Microsoft Graph pro použití autentizace Microsoft Entra.

Oprávnění správce

Následující oprávnění a role jsou přiřazeny administrátorovi Microsoft Entra při jeho vytvoření:

  • db_owner každé databáze vlastníka

Azure Synapse Analytics permissions

Uživatel potřebuje ALTER ANY USER oprávnění v databázi k vytvoření uživatele.

Ve výchozím nastavení mají administrátorské účty serveru, uživatelé databáze s ALTER ANY USER a členové databázové role CONTROL ON DATABASE oprávnění db_owner.

Pro vytvoření objektu zabezpečení Microsoft Entra v Azure SQL musí identita, která o to žádá, dotazovat Microsoft Graph na podrobnosti o tomto objektu zabezpečení. Při počátečním nasazení může Microsoft Graph dotazovat pouze správce Microsoft Entra. Proto musí být správce první identitou, která vytvoří další objekty zabezpečení Microsoft Entra. Poté může administrátor přiřadit další principály k ALTER ANY USER, aby mohli vytvořit další principály Microsoft Entra.

Nasazení bez dotykového ovládání s ověřováním Microsoft Entra

Protože správce Microsoft Entra musí být první identitou, která se připojí k databázi a vytvoří další uživatele Microsoft Entra, může být užitečné přidat identitu vaší infrastruktury nasazení jako správce. Nasazení pak mohou provést počáteční nastavení, jako je vytvoření dalších zásad Microsoft Entra a přiřazení oprávnění těmto zásadám. Pro nasazení používejte nástroje, jako jsou PowerShell a šablony ARM, pro skriptování automatizovaného vytváření objektů zabezpečení. Azure SQL dnes nepodporuje nativní API pro konfiguraci vytváření uživatelů a správy oprávnění. Tyto operace můžete provádět pouze pomocí přímého připojení k SQL instanci.

Oprávnění pro Microsoft Graph

Pro vytváření hlavních identit Microsoft Entra a několika dalších scénářů musí Azure SQL volat Microsoft Graph pro načítání informací a ověřování existence identity v Microsoft Entra ID. K tomu musí mít SQL proces nebo získat přístup k oprávněním ke čtení Microsoft Graph v tenantovi zákazníka. Tento přístup můžete získat několika způsoby:

  • Pokud je SQL princip spouštějící příkaz uživatelskou identitou, nemusíte udělovat žádná další oprávnění SQL instanci k dotazování Microsoft Graphu.
  • Pokud je SQL princip vykonávající příkaz identitou služby, například princip služby nebo spravovanou identitu, vyžaduje instance Azure SQL vlastní oprávnění pro dotazování Microsoft Graph.
    • Přiřaďte aplikační oprávnění primární identitě serveru (managed identity) logického serveru nebo spravované instance. SQL proces může použít primární identitu serveru k autentizaci k dalším službám Azure v tenantu, například k Microsoft Graph. Následující tabulka vysvětluje různé scénáře a oprávnění Microsoft Graph potřebná k úspěšnému vykonání příkazu.
Scenario Minimální oprávnění
CREATE USER nebo CREATE LOGIN pro instanční objekt služby Microsoft Entra nebo spravovanou identitu Application.Read.All
CREATE USER nebo CREATE LOGIN pro uživatele Microsoft Entra User.Read.All
CREATE USER nebo CREATE LOGIN pro skupinu Microsoft Entra GroupMember.Read.All

Tip

role Directory Readers je role s nejužším rozsahem, kterou můžete přiřadit identitě, a pokrývá všechna potřebná oprávnění. Pomocí rolí je můžete přiřadit bezpečnostním skupinám Microsoft Entra, čímž se správa přesune od jednotlivých entit do konceptuálních skupin.

Podpora nástrojů

SQL Server Management Studio (SSMS) podporuje řadu možností připojení k ověřování Microsoft Entra, včetně vícefaktorového ověřování.

SQL Server Data Tools (SSDT) pro Visual Studio od roku 2015 podporuje heslo, integrované a interaktivní ověřování pomocí Microsoft Entra ID. Další informace naleznete v tématu Podpora Microsoft Entra ID v SQL Server Data Tools (SSDT).

  • V současnosti SSDT Průzkumník objektů nezobrazuje uživatele Microsoft Entra. Jako alternativní řešení si prohlédněte uživatele v sys.database_principals.

Minimální verze

Pro použití Microsoft Entra autentizace s Azure Synapse Analytics potřebujete následující minimální verze při používání těchto nástrojů:

  • SQL Server Management Studio (SSMS) 18.6 nebo novější
  • SQL Server Data Tools for Visual Studio 2015 verze 14.0.60311.1 (duben 2016) nebo novější
  • Poskytovatel dat .NET Framework pro SqlServer, minimální verze .NET Framework 4.6
  • Počínaje verzí 15.0.1 podporují nástroj sqlcmd a nástroj bcp interaktivní ověřování služby služba Active Directory s vícefaktorovým ověřováním.
  • Ovladač Microsoft JDBC 6.0 pro SQL Server podporuje ověřování Microsoft Entra. Viz Také nastavení vlastností připojení.

Propojte Microsoft Entra s Azure Synapse Analytics

Po nastavení autentizace Microsoft Entra pro váš Azure SQL zdroj se můžete připojit pomocí SQL Server Management Studio, SQL Server Data Tools a klientské aplikace.

Limitations

Při použití Microsoft Entra autentizace s Azure Synapse Analytics zvažte následující omezení:

  • Uživatelé a instanční objekty Microsoft Entra (aplikace Microsoft Entra), které jsou členy více než 2048 skupin zabezpečení Microsoft Entra, nejsou podporovány a nemůžou se přihlásit k databázi.

  • Následující systémové funkce nejsou podporovány a vracejí NULL hodnoty při spuštění instančními objekty Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • Doporučujeme nastavit časový limit připojení na 30 sekund.

  • Uživatelé Microsoft Entra, kteří jsou součástí skupiny, která je členem db_owner databázové role, mohou při pokusu o použití CREATE DATABASE SCOPED CREDENTIAL v Azure Synapse Analytics vidět následující chybu:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.

    Pokud chcete problém CREATE DATABASE SCOPED CREDENTIAL zmírnit, přidejte identitu uživatele Microsoft Entra přímo do role db_owner.

  • Azure Synapse Analytics nevytváří implicitní uživatele pro uživatele přihlášené přes skupinové členství v Microsoft Entra. Kvůli tomu mohou operace vyžadující přiřazení vlastnictví selhat, i když je skupina Microsoft Entra členem role s těmito oprávněními.

    Například uživatel přihlášený k databázi prostřednictvím skupiny Microsoft Entra s rolí db_ddladmin nemůže spustit CREATE SCHEMA, ALTER SCHEMAa další příkazy pro vytvoření objektu bez explicitně definovaného schématu (například tabulka, zobrazení nebo typ). Chcete-li tento problém vyřešit, musí být pro tohoto uživatele vytvořen uživatel Microsoft Entra nebo musí být skupina Microsoft Entra změněna tak, aby přiřadila například DEFAULT_SCHEMAdbo.

  • Odstranění správce Microsoft Entra zabraňuje autentizačním připojením Microsoft Entra.