Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2025 (17.x)
- SQL Server 2022
- SQL Server 2025
Azure SQL Database & Azure SQL Managed Instance - SQL Server op Azure VMs
Dit artikel bevat stapsgewijze instructies voor het instellen en configureren van Microsoft Entra ID beheerde identiteit voor SQL Server ingeschakeld door Azure Arc.
Zie Managed-identiteit voor SQL Server ingeschakeld door Azure Arc voor een overzicht van beheerde identiteiten met SQL Server.
Vereiste voorwaarden
Voordat u een beheerde identiteit kunt gebruiken met SQL Server ingeschakeld door Azure Arc, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:
- Ondersteund voor SQL Server 2025 en hoger, uitgevoerd op Windows.
- Verbind uw SQL Server met Azure Arc.
- De nieuwste versie van de Azure-extensie voor SQL Server.
De primaire beheerde identiteit inschakelen
Als u de Azure-extensie voor SQL Server op uw server hebt geïnstalleerd, kunt u de primaire beheerde identiteit voor uw SQL Server exemplaar rechtstreeks vanuit de Azure-portal inschakelen. Het is ook mogelijk om de primaire beheerde identiteit handmatig in te schakelen door het register bij te werken, maar moet uiterst voorzichtig zijn.
Voer de volgende stappen uit om de primaire beheerde identiteit in te schakelen in de Azure-portal:
Ga naar uw SQL Server ingeschakeld door Azure Arc resource in de Azure-portal.
Selecteer onder SettingsMicrosoft Entra ID en Purview om de pagina Microsoft Entra ID en Purview te openen.
Opmerking
Als u de optie Enable Microsoft Entra ID authentication niet ziet, controleert u of uw SQL Server-exemplaar is verbonden met Azure Arc en of de meest recente SQL-extensie is geïnstalleerd.
Schakel op de pagina Microsoft Entra ID en Purview het selectievakje naast Gebruik een primaire beheerde identiteit in en gebruik vervolgens Opslaan om uw configuratie toe te passen:
Toepassingsmachtigingen verlenen aan de identiteit
Belangrijk
Alleen een beheerder van bevoorrechte rollen of een hogere rol kan deze machtigingen verlenen.
Als u Microsoft Entra verificatie wilt inschakelen voor SQL Server exemplaren, vereist elke door het systeem toegewezen beheerde identiteit User.Read.All, GroupMember.Read.All en Application.Read.All machtigingen om een query uit te voeren op Microsoft Graph. Zie voor meer informatie over deze machtigingen:
- Gebruiker.Read.All: hiermee hebt u toegang tot Microsoft Entra gebruikersgegevens.
- GroupMember.Read.All: hiermee hebt u toegang tot Microsoft Entra groepsgegevens.
- Application.Read.All: hiermee hebt u toegang tot Microsoft Entra-informatie over de service principal (applicatie).
Deze machtigingen zijn machtigingen op toepassingsniveau (app-rollen) en moeten rechtstreeks aan elke beheerde identiteit worden toegewezen. Ze kunnen niet handmatig worden toegewezen aan een Microsoft Entra beveiligingsgroep en worden verleend aan leden via groepslidmaatschap. Voor omgevingen met veel computers is het een alternatief om de rol Directory Readers toe te wijzen aan een rolbare Microsoft Entra beveiligingsgroep en de beheerde identiteiten toe te voegen als leden. In tegenstelling tot app-rolmachtigingen kan deze Microsoft Entra rol worden verleend op groepsniveau, waardoor beheer op schaal wordt vereenvoudigd. Directory Readers verleent echter brede leestoegang voor alle mapobjecten, wat de drie doelmachtigingen voor Graph API aanzienlijk overschrijdt. De rol Directory Readers wordt niet aanbevolen voor productieomgevingen waarvoor toegang met minimale bevoegdheden is vereist.
Het volgende PowerShell-script verleent de vereiste machtigingen voor de beheerde identiteit. Zorg ervoor dat dit script wordt uitgevoerd op PowerShell 7.5 of hoger en dat de Microsoft.Graph module 2.28 of hoger is geïnstalleerd.
# Set your Azure tenant and managed identity name
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'
# Connect to Microsoft Graph
try {
Connect-MgGraph -TenantId $tenantID -ErrorAction Stop
Write-Output "Connected to Microsoft Graph successfully."
}
catch {
Write-Error "Failed to connect to Microsoft Graph: $_"
return
}
# Get Microsoft Graph service principal
$graphAppId = '00000003-0000-0000-c000-000000000000'
$graphSP = Get-MgServicePrincipal -Filter "appId eq '$graphAppId'"
if (-not $graphSP) {
Write-Error "Microsoft Graph service principal not found."
return
}
# Get the managed identity service principal
$managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '$managedIdentityName'"
if (-not $managedIdentity) {
Write-Error "Managed identity '$managedIdentityName' not found."
return
}
# Define roles to assign
$requiredRoles = @(
"User.Read.All",
"GroupMember.Read.All",
"Application.Read.All"
)
# Assign roles using scoped syntax
foreach ($roleValue in $requiredRoles) {
$appRole = $graphSP.AppRoles | Where-Object {
$_.Value -eq $roleValue -and $_.AllowedMemberTypes -contains "Application"
}
if ($appRole) {
try {
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentity.Id `
-PrincipalId $managedIdentity.Id `
-ResourceId $graphSP.Id `
-AppRoleId $appRole.Id `
-ErrorAction Stop
Write-Output "Successfully assigned role '$roleValue' to '$managedIdentityName'."
}
catch {
Write-Warning "Failed to assign role '$roleValue': $_"
}
}
else {
Write-Warning "Role '$roleValue' not found in Microsoft Graph AppRoles."
}
}
Aanmeldingen en gebruikers maken
Volg de stappen in de zelfstudie Microsoft Entra om aanmeldingen en gebruikers voor de beheerde identiteit te maken.