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:

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.Alla 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:

  1. Otevřete role a správce Microsoft Entra ID na webu Azure Portal:

  2. 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í:

    Snímek obrazovky se stránkou Role a správci webu Azure Portal, která hledá a vybírá roli Čtenáři adresáře

  3. V adresáři Čtenáři | Stránka Zadání, výběrem + Přidat zadání otevřete stránku Přidat zadání .

    Snímek obrazovky se stránkou Čtenáři adresáře na webu Azure Portal

  4. Na stránce Přidat zadání zvolte v části Vybrat členy možnost Žádný člen, aby se otevřela stránka Vybrat člena.

    Snímek obrazovky se stránkou pro přidání přiřazení na webu Azure Portal se zvýrazněnou možností Žádný člen

  5. 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í .

    Snímek obrazovky s vyhledáváním členů, které chcete vybrat na webu Azure Portal

  6. Ověřte, že se vybraná identita zobrazí v části Vybrat členy , a pak vyberte Další.

    Snímek obrazovky se stránkou Přidat přiřazení na webu Azure Portal s přidaným virtuálním počítačem VM2 jako přiřazení

  7. 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í

    Snímek obrazovky s nastavením pro přidání přiřazení na webu Azure Portal

  8. V adresáři Čtenáři | Stránka Zadání, potvrďte, že se v části Čtenáři adresáře zobrazí nově přidaná identita.

    Snímek obrazovky se stránkou Čtenáři adresáře na webu Azure Portal zobrazující přiřazení virtuálního počítače přidaného do role

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.

  1. Připojení k Microsoft Graphu

    Connect-MgGraph -Scopes "AppRoleAssignment.ReadWrite.All" -TenantId "<tenant id>"
    
  2. Načtení spravované identity:

    $Graph_SP = Get-MgServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'"
    $MSI = Get-MgServicePrincipal -Filter "displayName eq '<your managed identity display name>'"
    
  3. 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}
    
  4. 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}
    
  5. 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:

  1. Na webu Azure Portal přejděte na ID Microsoft Entra.
  2. Zvolte Podnikové aplikace a pak v části Spravovat vyberte Všechny aplikace.
  3. Filtrovat typ aplikace podle Managed identities.
  4. 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 AzureActiveDirectorysluž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:

  1. Na webu Azure Portal přejděte k prostředku virtuálních počítačů SQL.

  2. V části Zabezpečení vyberte Konfiguraci zabezpečení.

  3. V části Ověřování Microsoft Entra zvolte Povolit.

  4. 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.

    Snímek obrazovky se stránkou konfigurace zabezpečení pro virtuální počítač SQL na webu Azure Portal a vybranou možností Ověřování Microsoft Entra

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.Alla Application.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ů: