Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server 2022 (16.x)
Tento článek popisuje podrobný proces nastavení ověřování pomocí ID Microsoft Entra s registrací aplikace a ukazuje, jak používat různé metody ověřování Microsoft Entra.
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
Fyzický nebo virtuální Windows Server místně s instancí SQL Serveru 2022 (16.x).
Informace o SQL Serveru na virtuálních počítačích Azure najdete v tématu Povolení ověřování Microsoft Entra pro SQL Server na virtuálních počítačích Azure.
Server a instance povolené službou Azure Arc. Další informace najdete v tématu Připojení SQL Serveru ke službě Azure Arc.
Přístup k ID Microsoft Entra je k dispozici pro účely ověřování. Pro více informací viz Ověřování Microsoft Entra pro SQL Server.
Na klientském počítači je nainstalovaná podporovaná verze aplikace SQL Server Management Studio .
Podporovaný certifikát.
Požadavky na síť pro povolení ověřování Entra ID
Id Microsoft Entra podporuje certifikáty CSP. Id entra nepodporuje certifikáty CNG.
Požadavky na ověřování
Poznámka
Azure můžete použít k automatickému vytvoření certifikátu služby Azure Key Vault a aplikace Microsoft Entra při nastavování správce Microsoft Entra pro 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.
SQL Server se připojuje přímo k Microsoft Entra ID pro ověřování.
Explicitní adresy URL brány firewall musí být otevřeny pro přímý přístup nebo je třeba použít proxy server. Microsoft Entra ID k ověřování nepoužívá proxy agenta připojeného počítače Arc. Pokud počítač vyžaduje použití proxy serveru, microsoft Entra ID vyžaduje, aby byl proxy server WinHTTP na úrovni počítače nastavený pomocí následujících příkazů (nahraďte <http://proxyserver:port> příslušnou hodnotou):
netsh winhttp set proxy proxy-server="<http://proxyserver:port>"
Ověřování id Microsoft Entra nevyužívá nastavení proxy agenta Arc. Proxy agenta Arc je možné nastavit pomocí následujících příkazů (nahraďte <http://proxyserver:port> příslušnou hodnotou):
azcmagent config set proxy.url "<http://proxyserver:port>"
Vytvoření a registrace aplikace Microsoft Entra
- Přejděte na webu Azure Portal, vyberte Registrace aplikací>Microsoft Entra ID>Nová registrace.
- Zadejte název – v příkladu v tomto článku se používá SQLServer.
- Vyberte Podporované typy účtů a použijte Pouze účty v adresáři této organizace
- Nenastavujte URI přesměrování
- Vyberte Zaregistrovat
Podívejte se na registraci aplikace níže:
Udělení oprávnění aplikace
Vyberte nově vytvořenou aplikaci a v nabídce na levé straně vyberte oprávnění rozhraní API.
- Vyberte Přidat oprávnění>Microsoft Graph>oprávnění aplikace
- Zkontrolovat Directory.Read.All
- Vyberte Přidat oprávnění
Nebo:
Vyberte Přidat oprávnění>Microsoft Graph>oprávnění aplikace
Zkontrolujte Application.Read.All
Ověřte Group.Read.All
Zkontrolovat User.Read.All
Vyberte Přidat oprávnění
Vyberte Udělení souhlasu správce
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
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
Pro metodu vytvoření certifikátupoužijte Generate.
Přidejte název certifikátu a předmět. Název certifikátu musí být jedinečný. Název certifikátu, který odpovídá existujícímu certifikátu, způsobí chybu při vytvoření přihlášení.
Doporučená doba platnosti je maximálně 12 měsíců. Zbývající hodnoty mohou zůstat ve výchozím nastavení.
Vyberte Vytvořit.
Poznámka
Po vytvoření certifikátu se může stát, že je zakázaný. Aktualizujte web a zobrazí se certifikát jako povolený.
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.
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.
V Azure portálu přejděte k registraci aplikace vytvořené výše a vyberte seznam Certifikáty.
- Vyberte a nahrajte certifikát.
- V posledním kroku vyberte veřejný klíč (.cer soubor).
- Vyberte Přidat.
Na webu Azure Portal získejte ID objektu počítače Azure Arc.
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íčů.
Pro použití řízení přístupu na základě role v Azure (doporučeno):
Přidejte do zdroje následující role.
- Uživatel certifikátu služby Key Vault
- Uživatel tajných kódů služby Key Vault
Ověřte role na tomto místě.
Pro použití zásad přístupu k trezoru :
V navigační nabídce vyberte zásady přístupu.
Vyberte Vytvořit.
Pro tajná oprávněnívyberte Získat>Seznam.
Pro oprávnění k certifikátu vyberte Získat>Seznam.
Vyberte Další.
Na stránce hlavní vyhledejte název vašeho počítače – instance Azure Arc, což je hostname SQL Serveru.
Vyberte Zkontrolovat a vytvořit.
Ověřte, že hodnota ID hlavního subjektu> odpovídá ID hlavního subjektu spravované identity přiřazené k instanci.
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.
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
Postup na webu Azure Portal platí pro SQL Server 2022 (16.x).
Postup na webu Azure Portal se nevztahuje na SQL Server 2025 (17.x).
Poznámka
Ověřování Microsoft Entra můžete nakonfigurovat pomocí některého z následujících prostředí:
Přejděte na portál Azurea vyberte SQL Server – Azure Arca vyberte instanci pro váš SQL Server.
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.
V nabídce prostředků vyberte Microsoft Entra ID a Purview v části Nastavení.
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.
Vyberte zákaznicky spravovaný certifikát a vyberte certifikát.
Vyberte Změnit certifikát a vyberte instanci AKV a certifikát, který jste vytvořili dříve v novém podokně.
Vyberte registraci aplikace spravovanou zákazníkem .
Vyberte Změnit registraci aplikacea vyberte registraci aplikace, kterou jste vytvořili dříve.
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.
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.
Jakmile se přihlašovací jméno správce Microsoft Entra udělí
sysadmin, změna správce Microsoft Entra na webu Azure Portal neodebere předchozí přihlášení, které zůstává jakosysadmin. 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 nachází sysadmin v instanci SQL Serveru. Přihlaste se k SQL Serveru pomocí účtu správce Microsoft Entra, který má na serveru oprávnění správce systému pomocí klienta, jako je SQL Server Management Studio (SSMS).
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:
The certificate chain was issued by an authority that is not trusted.
Pokud chcete tento problém vyřešit, nakonfigurujte instanci SQL Serveru 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 najdete v tématu Konfigurace databázového stroje SQL Serveru pro šifrování připojení.
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 Microsoft Entra s oprávněním ALTER ANY LOGINALTER ANY USER vytvářet přihlášení nebo uživatele Microsoft Entra. V opačném případě můžou přihlašovací jména nebo uživatele Microsoft Entra vytvářet jenom účty s sysadmin oprávněními.
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.
Vytvořit uživatelskou syntaxi
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. Pro více informací viz 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.
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>připojení 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:
Jakmile je pro SQL Server nakonfigurované ověřování Microsoft Entra, nemusí se aktualizace certifikátu v SQL Serveru – ID prostředku Azure Arc a podokno Purview úplně nerozšíř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.