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.
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 ověřování Microsoft Entra pro SQL Server 2022 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.
SQL Server Management Studio (SSMS) verze 18.0 nebo vyšší je nainstalovaná na klientském počítači. Nebo si stáhněte nejnovější Azure Data Studio.
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.
- Zadejte název – Příklad v tomto článku používá SQLServerCTP1.
- 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í
Vyberte Přidat oprávnění>Microsoft Graph>delegovaná oprávnění.
- Zkontrolujte Application.Read.All
- Ověřte Directory.AccessAsUser.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.
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 to může být zakázáno. 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.
Na webu Azure Portal přejděte k registraci aplikace vytvořené výše a vyberte certifikáty seznamu.
- 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.
V části Prostředky Azure Arc>Počítačevyberte počítač.
V Přehledvyhledejte zobrazení ve formátu JSON.
V části Identityzkopírujte hodnotu principalId.
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):
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
Ověřte role v tomto umístění:
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
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í sSaved 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á 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 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 master
ná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.
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.