Sdílet prostřednictvím


Kurz: Nastavení ověřování Microsoft Entra pro SQL Server s povolenou službou Azure Arc

platí pro: SQL Server 2022 (16.x)

Tento článek popisuje podrobný proces nastavení ověřování pomocí ID Microsoft Entra a ukazuje, jak používat různé metody ověřování Microsoft Entra.

Poznámka

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

V tomto kurzu se naučíte:

  • Vytvoření a registrace aplikace Microsoft Entra
  • Udělení oprávnění k aplikaci Microsoft Entra
  • Vytvoření a přiřazení certifikátu
  • Konfigurace ověřování Microsoft Entra pro SQL Server prostřednictvím webu Azure Portal
  • Vytváření přihlášení a uživatelů
  • Připojení pomocí podporované metody ověřování

Požadavky

Požadavky na ověřování

Poznámka

V Azure byla implementována rozšířená funkce, která umožňuje automatické vytvoření certifikátu služby Azure Key Vault a aplikace Microsoft Entra během nastavování správce Microsoft Entra pro SQL Server. Další informace naleznete v tématu Kurz: Použití automatizace k nastavení správce Microsoft Entra pro SQL Server.

  • Registrace aplikace Microsoft Entra pro SQL Server Registrace instance SQL Serveru jako aplikace Microsoft Entra umožňuje instanci dotazovat Microsoft Entra ID a umožňuje aplikaci Microsoft Entra ověřit se jménem instance SQL Serveru. Registrace aplikace také vyžaduje několik oprávnění, která sql Server používá pro určité dotazy.

  • SQL Server používá pro toto ověřování certifikát, který je uložený ve službě Azure Key Vault (AKV). Agent Azure Arc stáhne certifikát do hostitele instance SQL Serveru.

Varování

Připojení ověřená Microsoft Entra ID jsou vždy šifrovaná. Pokud SQL Server používá certifikát podepsaný svým držitelem, musíte do připojovacího řetězce přidat trust server cert = true. Připojení ověřená systémem SQL Server a Windows nevyžadují šifrování, ale důrazně se doporučuje.

Vytvoření a registrace aplikace Microsoft Entra

  • Přejděte na webu Azure Portal, vyberte Registrace aplikací>Microsoft Entra ID>Nová registrace.
    1. Zadejte název – Příklad v tomto článku používá SQLServerCTP1.
    2. Vyberte Podporované typy účtů a použijte Pouze účty v adresáři této organizace
    3. Nenastavujte URI přesměrování
    4. Vyberte Zaregistrovat

Podívejte se na registraci aplikace níže:

snímek obrazovky registrace aplikace na webu Azure Portal

Udělení oprávnění aplikace

Vyberte nově vytvořenou aplikaci a v nabídce na levé straně vyberte oprávnění rozhraní API.

  1. Vyberte Přidat oprávnění>Microsoft Graph>oprávnění aplikace

    1. Zkontrolovat Directory.Read.All
    2. Vyberte Přidat oprávnění
  2. Vyberte Přidat oprávnění>Microsoft Graph>delegovaná oprávnění.

    1. Zkontrolujte Application.Read.All
    2. Ověřte Directory.AccessAsUser.All
    3. Ověřte Group.Read.All
    4. Zkontrolovat User.Read.All
    5. Vyberte Přidat oprávnění
  3. Vyberte Udělení souhlasu správce

Snímek obrazovky s oprávněními aplikace na webu Azure Portal

Poznámka

Pokud chcete udělit souhlas správce výše uvedeným oprávněním, váš účet Microsoft Entra vyžaduje roli Správce privilegovaných rolí nebo vyšší oprávnění.

Vytvoření a přiřazení certifikátu

  1. Přejděte na portál Azure, vyberte Trezory klíčů, a vyberte Trezor klíčů, který chcete použít, nebo vytvořte nový. Výběr certifikátů>Generování/Import

    1. Pro metodu vytvoření certifikátupoužijte Generate.

    2. Přidejte název certifikátu a předmět.

    3. Doporučená doba platnosti je maximálně 12 měsíců. Zbývající hodnoty mohou zůstat ve výchozím nastavení.

    4. Vyberte Vytvořit.

    snímek obrazovky s vytvářením certifikátu na webu Azure Portal

    Poznámka

    Po vytvoření certifikátu to může být zakázáno. Aktualizujte web a zobrazí se certifikát jako povolený.

  2. Přejděte na nový certifikát a vyberte řádek pro nejnovější verzi certifikátu. Vyberte Stáhnout ve formátu CER a uložte veřejný klíč certifikátu.

    snímek obrazovky s certifikátem na webu Azure Portal, kde můžete certifikát zobrazit a stáhnout.

    Poznámka

    To není nutné provádět na hostiteli SQL Serveru. Každý klient, který bude přistupovat k portálu Azure pro další krok.

  3. Na webu Azure Portal přejděte k registraci aplikace vytvořené výše a vyberte certifikáty seznamu.

    1. Vyberte a nahrajte certifikát.
    2. V posledním kroku vyberte veřejný klíč (.cer soubor).
    3. Vyberte Přidat.

    snímek obrazovky s nabídkou certifikátů a tajných kódů na webu Azure Portal

  4. Na webu Azure Portal získejte ID objektu počítače Azure Arc.

    1. V části Prostředky Azure Arc>Počítačevyberte počítač.

    2. V Přehledvyhledejte zobrazení ve formátu JSON.

    3. V části Identityzkopírujte hodnotu principalId.

      Snímek obrazovky portálového rozhraní zobrazení JSON definice stroje

  5. Na portálu přejděte do instance služby Azure Key Vault, kde je certifikát uložený, a udělte přístup k prostředkům azure Machine. V navigační nabídce služby Azure Key Vault přejděte na Nastavenía poté na Konfigurace přístupu. Podrobné pokyny ke správě přiřazení rolí najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.

    Vaše zkušenost závisí na konfiguraci přístupu k úložišti klíčů.

    Použití řízení přístupu na základě role v Azure (doporučeno):

    1. Přidejte do prostředku následující role.

      • Uživatel certifikátu služby Key Vault
      • Uživatel tajných kódů služby Key Vault
    2. Ověřte role v tomto umístění:

      snímek obrazovky s přidáním rolí IAM ve službě Azure Key Vault

    Pro použití zásad přístupu k trezoru :

    1. V navigační nabídce vyberte zásady přístupu.

    2. Vyberte Vytvořit.

    3. Pro tajná oprávněnívyberte Získat>Seznam.

    4. Pro oprávnění k certifikátu vyberte Získat>Seznam.

    5. Vyberte Další.

    6. Na stránce hlavní vyhledejte název vašeho počítače – instance Azure Arc, což je hostname SQL Serveru.

      snímek obrazovky prostředku serveru Azure Arc v portálu

    7. Vyberte Zkontrolovat a vytvořit.

    8. Ověřte, že hodnota ID hlavního subjektu> odpovídá ID hlavního subjektu spravované identity přiřazené k instanci.

      snímek obrazovky webu Azure Portal pro kontrolu a vytvoření zásad přístupu

      Potvrďte to tak, že přejdete na stránku prostředku a vyberete zobrazení JSON v pravém horním rohu sekce Základy na stránce přehledu. V části identity najdete principalId.

    9. Vyberte Vytvořit.

      Abyste měli jistotu, že se oprávnění použijí, musíte vybrat Vytvořit. Pokud chcete zajistit, aby byla oprávnění uložená, aktualizujte okno prohlížeče a ověřte, že je vaše instance Azure Arc k dispozici.

Konfigurace ověřování Microsoft Entra pro SQL Server prostřednictvím webu Azure Portal

Poznámka

Ověřování Microsoft Entra můžete nakonfigurovat pomocí některého z následujících prostředí:

  1. Přejděte na portál Azurea vyberte SQL Server – Azure Arca vyberte instanci pro váš SQL Server.

  2. Zkontrolujte stav svého prostředku SQL Server – Azure Arc a zjistěte, jestli je připojený, přechodem do nabídky Vlastnosti . Další informace najdete v tématu Ověření SQL Serveru – prostředky Azure Arc.

  3. V nabídce prostředků vyberte Microsoft Entra ID a Purview v části Nastavení.

  4. Výběrem Nastavit správce zobrazíte podokno Microsoft Entra ID a zvolte účet, který chcete nastavit jako přihlašovací jméno správce pro SQL Server.

  5. Vyberte zákaznicky spravovaný certifikát a vyberte certifikát.

  6. Vyberte Změnit certifikát a vyberte instanci AKV a certifikát, který jste vytvořili dříve v novém podokně.

  7. Vyberte registraci aplikace spravovanou zákazníkem .

  8. Vyberte Změnit registraci aplikacea vyberte registraci aplikace, kterou jste vytvořili dříve.

  9. Vyberte Uložit. Tím se odešle požadavek na agenta serveru Arc, který nakonfiguruje ověřování Microsoft Entra pro danou instanci SQL Serveru.

    snímek obrazovky s nastavením ověřování Microsoft Entra na webu Azure Portal

    Stažení certifikátů a konfigurace nastavení trvá několik minut. Po nastavení všech parametrů a výběru možnosti Uložit na webu Azure Portal se může zobrazit následující zpráva: SQL Server's Azure Arc agent is currently processing a request. Values below may be incorrect. Please wait until the agent is done before continuing. Než se pokusíte o přihlášení do Microsoft Entra, počkejte, až se proces uložení potvrdí s Saved successfully.

    Agent serveru Azure Arc se může aktualizovat pouze po dokončení předchozí akce. To znamená, že uložení nové konfigurace Microsoft Entra před dokončením poslední konfigurace může způsobit selhání. Pokud se při výběru možnosti Uložitzobrazí zpráva Rozšířený hovor selhal, počkejte 5 minut a zkuste to znovu.

    Poznámka

    Jakmile se přihlašovací jméno správce Microsoft Entra udělí roli sysadmin, změna správce Microsoft Entra v Azure portálu neodstraní předchozí přihlášení, které zůstává jako sysadmin. Pokud chcete přihlášení odebrat, musíte ho odstranit ručně.

    Změna správce Microsoft Entra pro instanci SQL Serveru probíhá bez restartování serveru, jakmile se proces dokončí s agentem Azure Arc SQL Serveru. Aby se nový správce zobrazil v sys.server_principals, musí se instance SQL Serveru restartovat a do té doby se zobrazí starý správce. Aktuálního správce Microsoft Entra lze zjistit v Azure portálu.

Vytváření přihlášení a uživatelů

Po dokončení operace agenta Azure Arc na hostiteli SQL Serveru se účet správce vybraný v nabídce Microsoft Entra ID na portálu stane sysadmin na instanci SQL Serveru. Přihlaste se k SQL Serveru pomocí účtu správce Microsoft Entra, který má na serveru oprávnění sysadmin pomocí klienta, jako je SSMS nebo Azure Data Studio.

Poznámka

Všechna připojení k SQL Serveru, která se provádí pomocí ověřování Microsoft Entra, vyžadují šifrované připojení. Pokud správce databáze (DBA) nenastavil důvěryhodný certifikát SSL/TLS pro server, přihlášení pravděpodobně selžou se zprávou Řetěz certifikátů vydala autorita, která není důvěryhodná. Chcete-li tento problém vyřešit, nakonfigurujte instanci SYSTÉMU SQL Server tak, aby používala certifikát SSL/TLS, který je důvěryhodný klientem, nebo vyberte důvěryhodný certifikát serveru ve vlastnostech rozšířeného připojení. Další informace naleznete v tématu Povolení šifrovaných připojení k databázovému stroji.

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

Stejnou syntaxi pro vytváření přihlášení Microsoft Entra a uživatelů ve službě Azure SQL Database a Azure SQL Managed Instance je teď možné použít na SQL Serveru.

Poznámka

Na SQL Serveru může každý účet s oprávněním ALTER ANY LOGIN nebo ALTER ANY USER vytvářet přihlášení nebo uživatele Microsoft Entra. Účet nemusí být přihlašovací účet Microsoft Entra.

Pokud chcete vytvořit přihlášení k účtu Microsoft Entra, spusťte v databázi master následující příkaz T-SQL:

CREATE LOGIN [principal_name] FROM EXTERNAL PROVIDER;

Pro uživatele musí být hlavní název ve formátu user@tenant.com. V Microsoft Entra ID je to hlavní název uživatele. Pro všechny ostatní typy účtů, jako jsou skupiny Microsoft Entra nebo aplikace, je hlavním názvem název objektu Microsoft Entra.

Tady je několik příkladů:

-- login creation for Microsoft Entra user
CREATE LOGIN [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra group
CREATE LOGIN [my_group_name] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra application
CREATE LOGIN [my_app_name] FROM EXTERNAL PROVIDER;
GO

Pokud chcete zobrazit seznam přihlášení Microsoft Entra v databázi master, spusťte příkaz T-SQL:

SELECT * FROM sys.server_principals
WHERE type IN ('E', 'X');

Pokud chcete udělit členství uživatele Microsoft Entra roli sysadmin (například admin@contoso.com), spusťte v masternásledující příkazy:

CREATE LOGIN [admin@contoso.com] FROM EXTERNAL PROVIDER; 
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [admin@contoso.com];
GO

Uložená procedura sp_addsrvrolemember musí být spuštěna jako člen role serveru sysadmin SYSTÉMU SQL Server.

Syntaxe vytvoření uživatele

Uživatele databáze můžete vytvořit v Microsoft Entra ID buď jako databázový uživatel přidružený k objektu zabezpečení serveru (přihlášení), nebo jako samostatný uživatel databáze.

Pokud chcete vytvořit uživatele Microsoft Entra z přihlášení Microsoft Entra v databázi SQL Serveru, použijte následující syntaxi:

CREATE USER [principal_name] FROM LOGIN [principal_name];

Syntaxe principal_name je stejná jako pro přihlášení.

Tady je několik příkladů:

-- for Azure AD user
CREATE USER [user@contoso.com] FROM LOGIN [user@contoso.com];
GO
-- for Azure AD group
CREATE USER [my_group_name] FROM LOGIN [my_group_name];
GO
-- for Azure AD application
CREATE USER [my_app_name] FROM LOGIN [my_app_name];
GO

Chcete-li vytvořit uživatele databáze Microsoft Entra, což není uživatel svázaný s přihlášením k serveru, lze provést následující syntaxi:

CREATE USER [principal name] FROM EXTERNAL PROVIDER;

Název skupiny Microsoft Entra nebo název aplikace Microsoft Entra použijte jako <principal name> při vytváření uživatele databáze Microsoft Entra ze skupiny nebo aplikace.

Tady je několik příkladů:

-- for Azure AD contained user
CREATE USER [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- for Azure AD contained group
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO
--for Azure AD contained application
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO

Pokud chcete zobrazit seznam uživatelů vytvořených v databázi, spusťte následující příkaz T-SQL:

SELECT * FROM sys.database_principals;

Nová databáze má ve výchozím nastavení oprávnění Connect. Všechna ostatní oprávnění SQL Serveru musí být explicitně udělena autorizovanými grantory.

Účty hostů Microsoft Entra

Syntaxe CREATE LOGIN a CREATE USER také podporuje uživatele typu host. Pokud je například testuser@outlook.com pozván do tenanta contoso.com, můžete ho přidat jako přihlášení k SQL Serveru se stejnou syntaxí jako vytvoření jakéhokoli jiného uživatele nebo přihlášení Microsoft Entra. Při vytváření uživatelů typu host a přihlášení použijte původní e-mail účtu hosta, nikoli hlavní název uživatele v tenantovi. V příkladech je outlook.com poskytován, i když je účet zaregistrovaný v tenantovi contoso.com.

Vytvoření uživatele typu host z existujícího přihlášení

CREATE USER [testuser@outlook.com] FROM LOGIN [testuser@outlook.com];

Vytvořit uživatele typu host jako omezeného uživatele

CREATE USER [testuser@outlook.com] FROM EXTERNAL PROVIDER;

Připojení pomocí podporované metody ověřování

SQL Server podporuje několik metod ověřování Microsoft Entra:

  • Výchozí
  • Uživatelské jméno a heslo
  • Integrovaný
  • Univerzální s vícefaktorovým ověřováním
  • Hlavní služba
  • Spravovaná identita
  • Přístupový token

Pomocí jedné z těchto metod se připojte k instanci SQL Serveru. Další informace naleznete v tématu ověřování Microsoft Entra pro SQL Server.

Příklad ověřování pomocí SSMS

Poznámka

I když je ID Microsoft Entra novým názvem proAzure Active Directory (Azure AD), aby se zabránilo narušení existujících prostředí, Azure AD zůstává v některých pevně zakódovaných prvcích, jako jsou pole uživatelského rozhraní, zprostředkovatelé připojení, kódy chyb a cmdlety. V tomto článku jsou tyto dva názvy zaměnitelné.

Níže je snímek stránky připojení aplikace SQL Server Management Studio (SSMS) pomocí metody ověřování Azure Active Directory – Universal s vícefaktorovým ověřováním.

snímek obrazovky SSMS s oknem Připojit k serveru

Během procesu ověřování musí být databáze, ve které byl uživatel vytvořen, explicitně označena v nástroji SSMS. Rozbalte možnosti > Vlastnosti připojení > Připojit k databázi: database_name.

Další informace naleznete v tématu Použití vícefaktorového ověřování Microsoft Entra.

Nástroje SQL Serveru, které podporují ověřování Microsoft Entra pro Azure SQL, jsou podporovány také pro SQL Server 2022 (16.x).

Umístění, kde jsou uloženy parametry ID Microsoft Entra

Varování

Parametry ID Microsoft Entra jsou nakonfigurované agentem Azure Arc a neměly by se překonfigurovat ručně.

V Linuxu jsou parametry ID Microsoft Entra uloženy v mssql-conf. Další informace o možnostech konfigurace v Linuxu najdete v tématu Konfigurace SQL Serveru v Linuxu pomocí nástroje mssql-conf.

Známé problémy

  • Aktualizace certifikátu se nerozšíruje:
    • Po nakonfigurování ověřování Microsoft Entra pro SQL Server se nemusí aktualizace certifikátu v SQL Serveru – Azure Arc, v panelu zdroje Microsoft Entra ID a Purview, plně rozšířit. Výsledkem je úspěšné uložení, ale stále se zobrazuje stará hodnota. Pokud chcete certifikát aktualizovat, postupujte takto:

      • Vyberte Odebrat správce.
      • Vyberte Uložit.
      • Vyberte Správce a znovu nakonfigurujte ověřování Microsoft Entra pomocí nového certifikátu.
      • Vyberte Uložit.

Viz také