Povolení ověřování Microsoft Entra pro SQL Server na virtuálních počítačích Azure
Platí pro: SQL Server na virtuálním počítači Azure
V tomto článku se naučíte povolit ověřování pomocí Microsoft Entra ID (dříve Azure Active Directory) pro SQL Server na virtuálních počítačích Azure.
Přehled
Počínaje SQL Serverem 2022 se můžete připojit k SQL Serveru na virtuálních počítačích Azure pomocí jedné z následujících metod ověřování Microsoft Entra:
- Heslo nabízí ověřování pomocí přihlašovacích údajů Microsoft Entra.
- Univerzální s vícefaktorovým ověřováním přidává vícefaktorové ověřování
- Integrovaná služba používá federační zprostředkovatele, jako je Active Directory Federation Services (AD FS) (ADFS), k povolení prostředí jednotného přihlašování (SSO).
- Instanční objekt umožňuje ověřování z aplikací Azure.
- Spravovaná identita umožňuje ověřování z aplikací přiřazených identit Microsoft Entra.
Když vytvoříte přihlášení Microsoft Entra pro SQL Server a když se uživatel připojí pomocí tohoto přihlášení, SQL Server používá spravovanou identitu k dotazování Microsoft Graphu. Když povolíte ověřování Microsoft Entra pro SQL Server na virtuálním počítači Azure, musíte poskytnout spravovanou identitu, kterou SQL Server může použít ke komunikaci s Microsoft Entra ID. Tato spravovaná identita musí mít oprávnění k dotazování Microsoft Graphu.
Když povolíte spravovanou identitu pro prostředek v Azure, hranice zabezpečení identity je prostředek, ke kterému je připojený. Například hranice zabezpečení pro virtuální počítač se spravovanými identitami pro prostředky Azure povolená je virtuální počítač. Jakýkoli kód spuštěný na daném virtuálním počítači dokáže volat koncový bod spravovaných identit a vyžádat tokeny. Při povolování spravované identity pro SQL Server na virtuálních počítačích Azure se identita připojí k virtuálnímu počítači, takže hranice zabezpečení je virtuální počítač. Prostředí je podobné při práci s dalšími prostředky, které podporují spravované identity. Další informace najdete v nejčastějších dotazech ke spravovaným identitám.
Spravované identity přiřazené systémem a uživatelem používané pro ověřování Microsoft Entra s SQL Serverem na virtuálních počítačích Azure nabízejí následující výhody:
- Spravovaná identita přiřazená systémem nabízí zjednodušený proces konfigurace. Vzhledem k tomu, že spravovaná identita má stejnou životnost jako virtuální počítač, nemusíte ji při odstraňování virtuálního počítače odstraňovat samostatně.
- Spravovaná identita přiřazená uživatelem nabízí škálovatelnost, protože je možné ji připojit a použít k ověřování Microsoft Entra pro více SQL Server na virtuálních počítačích Azure.
Pokud chcete začít se spravovanými identitami, přečtěte si téma Konfigurace spravovaných identit pomocí webu Azure Portal.
Požadavky
Pokud chcete povolit ověřování Microsoft Entra na SQL Serveru, potřebujete následující požadavky:
- Použijte SQL Server 2022.
- Zaregistrujte virtuální počítač s SQL Serverem s rozšířením agenta SQL Server Iaas v libovolném cloudu.
- Mít existující spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem ve stejném tenantovi Microsoft Entra jako váš virtuální počítač s SQL Serverem. Další informace najdete v konfiguraci spravovaných identit pomocí webu Azure Portal .
- Azure CLI 2.48.0 nebo novější , pokud chcete použít Azure CLI ke konfiguraci ověřování Microsoft Entra pro virtuální počítač s SQL Serverem.
Udělit oprávnění
Spravovaná identita, kterou zvolíte pro usnadnění ověřování mezi SQL Serverem a ID Microsoft Entra, musí mít následující tři oprávnění aplikace Microsoft Graph (role aplikací): User.Read.All
, GroupMember.Read.All
a Application.Read.All
.
Případně přidání spravované identity do role Čtenáře adresáře Microsoftu uděluje dostatečná oprávnění. Dalším způsobem, jak přiřadit roli Čtenáře adresáře spravované identitě, je přiřadit roli Čtenáře adresáře ke skupině v Microsoft Entra ID. Vlastníci skupiny pak můžou přidat spravovanou identitu virtuálního počítače jako člena této skupiny. To minimalizuje zapojení globálních správců Microsoft Entra a deleguje odpovědnost vlastníkům skupiny.
Přidání spravované identity do role
Tato část vysvětluje, jak přidat spravovanou identitu do role Čtenář adresáře v Microsoft Entra ID. Abyste mohli provádět změny přiřazení rolí Čtenáři adresáře, musíte mít oprávnění globálního správce. Pokud nemáte dostatečná oprávnění, postupujte podle těchto kroků ve spolupráci se správcem Microsoft Entra.
Pokud chcete spravované identitě udělit roli Čtenáři adresáře, postupujte takto:
Otevřete role a správce Microsoft Entra ID na webu Azure Portal:
Do vyhledávacího pole zadejte čtenáře adresáře a potom výběrem role Čtenáři adresáře otevřete čtenáře adresáře | Stránka Zadání:
V adresáři Čtenáři | Stránka Zadání, výběrem + Přidat zadání otevřete stránku Přidat zadání .
Na stránce Přidat zadání zvolte v části Vybrat členy možnost Žádný člen, aby se otevřela stránka Vybrat člena.
Na stránce Vybrat člena vyhledejte název spravované identity, kterou chcete použít s virtuálním počítačem s SQL Serverem, a přidejte ji do role Čtenáři adresáře. V případě spravovaných identit přiřazených systémem vyhledejte název virtuálního počítače. Pomocí příkazu Select potvrďte identitu a vraťte se na stránku Přidat přiřazení .
Ověřte, že se vybraná identita zobrazí v části Vybrat členy , a pak vyberte Další.
Ověřte, že je typ přiřazení nastavený na hodnotu Aktivní a že je zaškrtnuté políčko Vedle položky Trvale přiřazeno . Zadejte obchodní odůvodnění, jako je přidání oprávnění role Čtenář adresáře k identitě přiřazené systémem pro virtuální počítač 2 , a pak vyberte Přiřadit a uložte nastavení a vraťte se ke čtenářům adresáře | Stránka Zadání
V adresáři Čtenáři | Stránka Zadání, potvrďte, že se v části Čtenáři adresáře zobrazí nově přidaná identita.
Přidání oprávnění role aplikace
Pomocí Azure PowerShellu můžete udělit role aplikací spravované identitě. Postup je následující:
Poznámka:
Moduly Azure AD a MSOnline PowerShell jsou od 30. března 2024 zastaralé. Další informace najdete v aktualizaci vyřazení. Po tomto datu je podpora těchto modulů omezená na pomoc s migrací na sadu Microsoft Graph PowerShell SDK a opravy zabezpečení. Zastaralé moduly budou dál fungovat až do 30. března 2025.
Doporučujeme migrovat na Microsoft Graph PowerShell , abyste mohli pracovat s Microsoft Entra ID (dříve Azure AD). Běžné dotazy k migraci najdete v nejčastějších dotazech k migraci. Poznámka: Verze 1.0.x msOnline mohou dojít k přerušení po 30. červnu 2024.
Připojení k Microsoft Graphu
Connect-MgGraph -Scopes "AppRoleAssignment.ReadWrite.All" -TenantId "<tenant id>"
Načtení spravované identity:
$Graph_SP = Get-MgServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'" $MSI = Get-MgServicePrincipal -Filter "displayName eq '<your managed identity display name>'"
User.Read.All
Přiřaďte k identitě roli:$AAD_AppRole = $Graph_SP.AppRoles | Where-Object {$_.Value -eq "User.Read.All"} New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MSI.Id -BodyParameter @{principalId=$MSI.Id; resourceId=$Graph_SP.Id; appRoleId=$AAD_AppRole.Id}
Přiřaďte
GroupMember.Read.All
k identitě roli:$AAD_AppRole = $Graph_SP.AppRoles | Where-Object {$_.Value -eq "GroupMember.Read.All"} New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MSI.Id -BodyParameter @{principalId=$MSI.Id; resourceId=$Graph_SP.Id; appRoleId=$AAD_AppRole.Id}
Přiřaďte
Application.Read.All
k identitě roli:$AAD_AppRole = $Graph_SP.AppRoles | Where-Object {$_.Value -eq "Application.Read.All"} New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MSI.Id -BodyParameter @{principalId=$MSI.Id; resourceId=$Graph_SP.Id; appRoleId=$AAD_AppRole.Id}
Oprávnění přiřazená spravované identitě můžete ověřit následujícím způsobem:
- Na webu Azure Portal přejděte na ID Microsoft Entra.
- Zvolte Podnikové aplikace a pak v části Spravovat vyberte Všechny aplikace.
- Filtrovat typ aplikace podle
Managed identities
. - Vyberte spravovanou identitu a pak v části Zabezpečení zvolte Oprávnění. Měla by se zobrazit následující oprávnění:
User.Read.All
,GroupMember.Read.All
.Application.Read.All
Povolení odchozí komunikace
Aby ověřování Microsoft Entra fungovalo, potřebujete následující:
- Odchozí komunikace z SQL Serveru do MICROSOFT Entra ID a koncového bodu Microsoft Graphu
- Odchozí komunikace z klienta SQL do Microsoft Entra ID.
Výchozí konfigurace virtuálních počítačů Azure umožňují odchozí komunikaci s koncovým bodem Microsoft Graphu i s ID Microsoft Entra, ale někteří uživatelé se rozhodnou omezit odchozí komunikaci buď pomocí brány firewall na úrovni operačního systému, nebo skupiny zabezpečení sítě virtuální sítě Azure (NSG).
Brány firewall na virtuálním počítači s SQL Serverem a všechny klienty SQL musí umožňovat odchozí provoz na portech 80 a 443.
Pravidlo skupiny zabezpečení sítě virtuální sítě Azure pro virtuální síť, která je hostitelem virtuálního počítače s SQL Serverem, by mělo mít následující:
- Značka
AzureActiveDirectory
služby . - Rozsahy cílových portů: 80, 443.
- Akce nastavená na Povolit
- Vysoká priorita (což je nízké číslo).
Povolení ověřování Microsoft Entra
Ověřování Microsoft Entra pro virtuální počítač s SQL Serverem můžete povolit pomocí webu Azure Portal nebo Azure CLI.
Poznámka:
Po povolení ověřování Microsoft Entra můžete podle stejných kroků v této části změnit konfiguraci tak, aby používala jinou spravovanou identitu.
Pokud chcete povolit ověřování Microsoft Entra na virtuálním počítači s SQL Serverem, postupujte takto:
Na webu Azure Portal přejděte k prostředku virtuálních počítačů SQL.
V části Zabezpečení vyberte Konfiguraci zabezpečení.
V části Ověřování Microsoft Entra zvolte Povolit.
V rozevíracím seznamu zvolte typ spravované identity, který je přiřazený systémem nebo přiřazený uživatelem. Pokud zvolíte přiřazenou uživatelem, v rozevíracím seznamu spravované identity přiřazené uživatelem vyberte identitu, kterou chcete použít k ověření na SQL Serveru na virtuálním počítači Azure.
Po povolení ověřování Microsoft Entra můžete stejným postupem změnit spravovanou identitu, která se může ověřit na virtuálním počítači s SQL Serverem.
Poznámka:
Tato chyba The selected managed identity does not have enough permissions for Microsoft Entra authentication
značí, že oprávnění nebyla správně přiřazená k vybrané identitě. Zkontrolujte část Udělení oprávnění a přiřaďte správná oprávnění.
Omezení
Berte v úvahu následující omezení:
- Ověřování Microsoft Entra je podporováno pouze u SQL Serveru 2022 spuštěného na virtuálních počítačích s Windows registrovaným rozšířením agenta SQL IaaS nasazeným do libovolného cloudu. Podporují se jenom podporované scénáře rozšíření agenta SQL IaaS, jako je výchozí instance nebo jedna pojmenovaná instance. Instance clusteru s podporou převzetí služeb při selhání se nepodporují.
- Identita, kterou se rozhodnete ověřit na SQL Serveru, musí mít buď roli Čtenář adresáře v Microsoft Entra ID, nebo následující tři oprávnění aplikace Microsoft Graph (role aplikace):
User.Read.All
,GroupMember.Read.All
aApplication.Read.All
. - Jakmile je povolené ověřování Microsoft Entra, neexistuje způsob, jak ho zakázat.
- Ověřování na SQL Serveru na virtuálních počítačích Azure prostřednictvím ověřování Microsoft Entra pomocí metody FIDO2 se v současné době nepodporuje.
Další kroky
Projděte si osvědčené postupy zabezpečení pro SQL Server.
Další články související se spouštěním SQL Serveru na virtuálních počítačích Azure najdete v přehledu SQL Serveru na virtuálních počítačích Azure. Pokud máte dotazy k virtuálním počítačům s SQL Serverem, podívejte se na nejčastější dotazy.
Další informace najdete v dalších článcích v této sérii osvědčených postupů: