Aktivieren der Microsoft Entra-Authentifizierung für SQL Server auf Azure-VMs
Gilt für: SQL Server auf Azure-VMs
In diesem Artikel erfahren Sie, wie Sie die Authentifizierung mit Microsoft Entra ID (ehemals Azure Active Directory) für Ihren SQL Server auf virtuellen Azure-Computern (VMs) aktivieren.
Übersicht
Ab SQL Server 2022 können Sie mithilfe einer der folgenden Microsoft Entra-Authentifizierungsmethoden eine Verbindung mit SQL Server auf einer Azure-VM herstellen:
- Kennwort bietet Authentifizierung mit Microsoft Entra-Anmeldeinformationen
- Universal mit MFA fügt Multi-Faktor-Authentifizierung hinzu
- Integriert ermöglicht Single Sign-On (SSO) mit Verbundanbietern wie Active Directory-Verbunddienste (ADFS, Active Directory Federation Services)
- Dienstprinzipal aktiviert Authentifizierung von Azure-Anwendungen
- Verwaltete Identität aktiviert die Authentifizierung von Anwendungen, denen Microsoft Entra-Identitäten zugewiesen sind
Wenn Sie eine Microsoft Entra-Anmeldung für SQL Server erstellen und sich ein*e Benutzer*in mit dem Anmeldenamen anmeldet, verwendet SQL Server eine verwaltete Identität, um Microsoft Graph abzufragen. Wenn Sie die Microsoft Entra-Authentifizierung für Ihre SQL Server-Instanz auf einem virtuellen Azure-Computer aktivieren, müssen Sie eine verwaltete Identität bereitstellen, die SQL Server für die Kommunikation mit Microsoft Entra verwenden kann. Diese verwaltete Identität muss über die Berechtigung zum Abfragen von Microsoft Graph verfügen.
Beim Aktivieren einer verwalteten Identität für eine Ressource in Azure, ist die Sicherheitsgrenze der Identität die Ressource, an die sie angefügt ist. Beispielsweise ist die Sicherheitsgrenze für einen virtuellen Computer, für den verwaltete Identitäten für Azure-Ressourcen aktiviert sind, dieser virtuelle Computer. Jeglicher Code, der auf dieser VM ausgeführt wird, kann den Endpunkt für verwaltete Identitäten aufrufen und Token anfordern. Beim Aktivieren einer verwalteten Identität für SQL Server auf Azure-VMs wird die Identität an den virtuellen Computer angefügt, sodass die Sicherheitsgrenze der virtuelle Computer ist. Die Benutzeroberfläche ähnelt der für die Arbeit mit anderen Ressourcen, die verwaltete Identitäten unterstützen. Weitere Informationen finden Sie unter Häufig gestellte Fragen zu verwalteten Identitäten.
Die vom System zugewiesenen und benutzerseitig zugewiesenen verwalteten Identitäten, die für die Microsoft Entra-Authentifizierung mit SQL Server auf Azure-VMs verwendet werden, bieten den folgenden Nutzen:
- Eine systemseitig zugewiesene verwaltete Identität ermöglicht einen vereinfachten Konfigurationsprozess. Da die verwaltete Identität dieselbe Lebensdauer wie der virtuelle Computer hat, muss sie nicht separat gelöscht werden, wenn Sie den virtuellen Computer löschen.
- Eine benutzerseitig zugewiesene verwaltete Identität bietet Skalierbarkeit, da sie an mehrere Azure-VMs mit SQL Server angefügt und für die Microsoft Entra-Authentifizierung verwendet werden kann.
Informationen zu den ersten Schritten mit verwalteten Identitäten finden Sie unter Konfigurieren von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Computer über das Azure-Portal.
Voraussetzungen
Um die Microsoft Entra-Authentifizierung auf Ihrer SQL Server-Instanz zu aktivieren, müssen folgende Voraussetzungen erfüllt sein:
- Verwenden Sie SQL Server 2022.
- Die SQL Server-VM muss mit der IaaS-Agent-Erweiterung von SQL Server registriert sein.
- Sie benötigen eine vorhandene systemseitig zugewiesene oder benutzerseitig zugewiesene verwaltete Identität im selben Microsoft Entra-Mandanten wie Ihre SQL Server-VM. Weitere Informationen finden Sie unter Konfigurieren von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Computer über das Azure-Portal.
- Azure CLI 2.48.0 oder höher, wenn Sie die Azure CLI zum Konfigurieren der Microsoft Entra-Authentifizierung für Ihre SQL Server-VM verwenden möchten.
Erteilen von Berechtigungen
Die verwaltete Identität, mit der Sie die Authentifizierung zwischen SQL Server und Microsoft Entra ID vereinfachen möchten, muss über die folgenden drei Microsoft Graph-Anwendungsberechtigungen (App-Rollen) verfügen: User.Read.All
, GroupMember.Read.All
und Application.Read.All
.
Alternativ werden durch das Hinzufügen der verwalteten Identität zur Microsoft Entra-Rolle „Verzeichnisleseberechtigte“ ausreichende Berechtigungen erteilt. Die Rolle Verzeichnisleser kann einer verwalteten Identität auch durch Zuweisen der Rolle „Verzeichnisleser“ zu einer Gruppe in Microsoft Entra ID zugewiesen werden. Die Gruppenbesitzer*innen können dann die verwaltete Identität des virtuellen Computers als Mitglied dieser Gruppe hinzufügen. Dadurch wird die Beteiligung globaler Microsoft Entra-Administrator*innen minimiert und die Verantwortung an die Gruppenbesitzer*innen delegiert.
Hinzufügen einer verwalteten Identität zur Rolle
In diesem Abschnitt wird erläutert, wie Sie der Rolle Verzeichnisleseberechtigte in der Microsoft Entra-ID Ihre verwaltete Identität hinzufügen. Sie benötigen die Berechtigungen für „globaler Administrator“, um Änderungen an den Rollenzuweisungen für Verzeichnisleseberechtigte durchzuführen. Wenn Sie nicht über ausreichende Berechtigungen verfügen, arbeiten Sie mit Ihrem Microsoft Entra-Administrator zusammen, um diese Schritte auszuführen.
Führen Sie die folgenden Schritte aus, um Ihrer verwalteten Identität die Rolle Verzeichnisleseberechtigte zu gewähren.
Öffnen Sie die Microsoft Entra-ID-Rollen und -Administratoren im Azure-Portal:
Geben Sie Verzeichnisleseberechtigte in das Suchfeld ein, und wählen Sie dann die Rolle Verzeichnisleseberechtigte aus, um die Seite Verzeichnisleseberechtigte | Zuweisungen zu öffnen.
Wählen Sie auf der Seite Verzeichnisleseberechtigte | Zuweisungen die Option + Zuweisungen hinzufügen, um die Seite Zuweisungen hinzufügen zu öffnen.
Wählen Sie auf der Seite Zuweisungen hinzufügen unter Mitglieder auswählen die Option Kein Mitglied ausgewählt aus, um die Seite Mitglied auswählen zu öffnen.
Suchen Sie auf der Seite Mitglied auswählen nach dem Namen der verwalteten Identität, die Sie mit Ihrer SQL Server-VM verwenden möchten, und fügen Sie sie der Rolle Verzeichnisleseberechtigter hinzu. Suchen Sie bei systemseitig zugewiesenen verwalteten Identitäten nach dem Namen des virtuellen Computers. Verwenden Sie Auswählen, um die Identität zu bestätigen, und kehren Sie zur Seite Zuweisungen hinzufügen zurück.
Vergewissern Sie sich, dass Ihre ausgewählte Identität unter Mitglieder auswählen angezeigt wird, und wählen Sie dann Weiter aus.
Vergewissern Sie sich, dass Ihr Zuweisungstyp auf Aktiv festgelegt ist und das Kontrollkästchen neben Dauerhaft zugewiesen aktiviert ist. Geben Sie eine geschäftliche Begründung ein, z. B. Hinzufügen von Rollenberechtigungen für Verzeichnisleseberechtigte zur systemseitig zugewiesenen Identität für VM2, und wählen Sie dann Zuweisen aus, um Ihre Einstellungen zu speichern und anschließend zur Seite Verzeichnisleseberechtigte | Zuweisungen zurückzukehren.
Vergewissern Sie sich, dass auf der Seite Verzeichnisleseberechtigte | Zuweisungen die neu hinzugefügte Identität unter Verzeichnisleseberechtigte angezeigt wird.
Hinzufügen von App-Rollenberechtigungen
Sie können Azure PowerShell verwenden, um einer verwalteten Identität App-Rollen zuzuweisen. Gehen Sie dazu folgendermaßen vor:
Hinweis
Azure AD- und MSOnline PowerShell-Module sind ab dem 30. März 2024 veraltet. Weitere Informationen finden Sie im Update zur Unterstützungseinstellung. Nach diesem Datum wird die Unterstützung für diese Module auf die Migrationsunterstützung für das Microsoft Graph PowerShell-SDK und Sicherheitskorrekturen beschränkt. Die veralteten Module funktionieren weiterhin bis zum 30. März 2025.
Es wird empfohlen, für die Interaktion mit Microsoft Entra ID (früher Azure AD) zu Microsoft Graph PowerShell zu migrieren. Informationen zu allgemeinen Migrationsfragen finden Sie in den häufig gestellten Fragen zur Migration. Hinweis: Bei der Version 1.0.x von MSOnline können nach dem 30. Juni 2024 Unterbrechungen auftreten.
Herstellen einer Verbindung mit Microsoft Graph
Connect-MgGraph -Scopes "AppRoleAssignment.ReadWrite.All" -TenantId "<tenant id>"
Abrufen der verwalteten Identität
$Graph_SP = Get-MgServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'" $MSI = Get-MgServicePrincipal -Filter "displayName eq '<your managed identity display name>'"
Zuweisen der
User.Read.All
-Rolle zur Identität:$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}
Zuweisen der
GroupMember.Read.All
-Rolle zur Identität:$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}
Zuweisen der
Application.Read.All
-Rolle zur Identität:$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}
Sie können überprüfen, ob der verwalteten Identität Berechtigungen zugewiesen wurden, indem Sie die folgenden Schritte ausführen:
- Navigieren Sie im Azure-Portal zu Microsoft Entra ID.
- Wählen Sie Unternehmensanwendungen und dann unter VeraltenAlle Anwendungen aus.
- Filtern Sie den Anwendungstyp nach
Managed identities
. - Wählen Sie die verwaltete Identität aus, und klicken Sie dann unter Sicherheit auf Berechtigungen. Daraufhin sollten folgende Berechtigungen angezeigt werden:
User.Read.All
,GroupMember.Read.All
undApplication.Read.All
.
Aktivieren der ausgehenden Kommunikation
Damit die Microsoft Entra-Authentifizierung funktioniert, benötigen Sie Folgendes:
- Ausgehende Kommunikation von SQL Server zu Microsoft Entra ID und dem Microsoft Graph-Endpunkt
- Ausgehende Kommunikation vom SQL-Client zu Microsoft Entra ID.
Die Azure-VM-Standardkonfigurationen ermöglichen die ausgehende Kommunikation zum Microsoft Graph-Endpunkt und Microsoft Entra ID, aber einige Benutzer*innen entscheiden sich dafür, die ausgehende Kommunikation entweder mithilfe einer Firewall auf Betriebssystemebene oder der Azure-VNet-Netzwerksicherheitsgruppe (NSG) einzuschränken.
Firewalls auf der SQL Server-VM und jedem SQL-Client müssen ausgehenden Datenverkehr an den Ports 80 und 443 zulassen.
Die Azure-VNet-NSG-Regel für das VNet, das Ihre SQL Server-VM hostet, sollte Folgendes aufweisen:
- Ein Diensttag von
AzureActiveDirectory
- Die Zielportbereiche 80 und 443
- Die Aktion, die auf Zulassen festgelegt ist
- Eine hohe Priorität (was eine niedrige Zahl ist)
Microsoft Entra-Authentifizierung aktivieren
Sie können die Microsoft Entra-Authentifizierung für Ihre SQL Server-VM mithilfe des Azure-Portals oder der Azure CLI aktivieren.
Hinweis
Nachdem die Microsoft Entra-Authentifizierung aktiviert wurde, können Sie die gleichen Schritte in diesem Abschnitt ausführen, um die Konfiguration so zu ändern, dass eine andere verwaltete Identität verwendet wird.
Führen Sie die folgenden Schritte aus, um die Microsoft Entra-Authentifizierung für Ihrer SQL Server-VM zu aktivieren:
Navigieren Sie im Azure-Portal zu Ihrer Ressource für virtuelle SQL-Computer.
Wählen Sie Sicherheitskonfiguration unter Security aus.
Wählen Sie Aktivieren unter Microsoft Entra-Authentifizierung aus.
Wählen Sie in der Dropdownliste den Typ der verwalteten Identität aus, entweder systemseitig zugewiesen oder benutzerseitig zugewiesen. Wenn Sie „benutzerseitig zugewiesen“ auswählen, wählen Sie in der angezeigten Dropdownliste Benutzerseitig zugewiesene verwaltete Identität die Identität aus, die Sie zum Authentifizieren bei SQL Server auf Ihrer Azure-VM verwenden möchten.
Nachdem die Microsoft Entra-Authentifizierung aktiviert wurde, können Sie die Schritte wiederholen, um zu ändern, welche verwaltete Identität sich bei Ihrer SQL Server-VM authentifizieren kann.
Hinweis
Der Fehler The selected managed identity does not have enough permissions for Microsoft Entra authentication
zeigt an, dass der ausgewählten Identität Berechtigungen nicht ordnungsgemäß zugewiesen wurden. Überprüfen Sie den Abschnitt Berechtigungen erteilen, um die richtigen Berechtigungen zuzuweisen.
Begrenzungen
Beachten Sie die folgenden Einschränkungen:
- Die Microsoft Entra-Authentifizierung wird nur mit SQL Server 2022-VMs unter Windows unterstützt, die bei der SQL-IaaS-Agent-Erweiterung registriert und in der öffentlichen Cloud bereitgestellt werden. Nur unterstützte Szenarien der SQL-IaaS-Agent-Erweiterung werden unterstützt, z. B. eine Standardinstanz oder eine einzelne benannte Instanz. Failoverclusterinstanzen werden nicht unterstützt.
- Die Identität, mit der Sie sich bei SQL Server authentifizieren möchten, verfügt entweder über die Berechtigungen für die Rolle Verzeichnisleseberechtigte in Microsoft Entra ID oder über die folgenden drei Microsoft Graph-Anwendungsberechtigungen (App-Rollen):
User.Read.All
,GroupMember.Read.All
undApplication.Read.All
. - Sobald die Microsoft Entra-Authentifizierung aktiviert ist, können Sie sie nicht mehr deaktivieren.
- Derzeit wird die Authentifizierung bei Azure-VMs mit SQL Server über die Microsoft Entra-Authentifizierung mithilfe der FIDO2-Methode nicht unterstützt.
Nächste Schritte
Sehen Sie sich die bewährten Sicherheitsmethoden für SQL Server an.
Weitere Informationen zum Ausführen von virtuellen Azure-Computern mit SQL Server finden Sie in der Übersicht zu virtuellen Azure-Computern mit SQL Server. Falls Sie Fragen zu SQL Server-VMs haben, finden Sie in den häufig gestellten Fragen weitere Informationen.
Weitere Informationen finden Sie in auch in anderen Artikeln dieser Reihe zu den bewährten Methoden:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für