Felügyelt identitás és Microsoft Entra hitelesítés beállítása az Azure Arc által támogatott SQL Serverhez.

A következőre vonatkozik: : SQL Server 2025 (17.x)

Ez a cikk részletes útmutatást nyújt Microsoft Entra ID felügyelt identitás beállításához és konfigurálásához az Azure Arc által engedélyezett SQL Server számára.

Az SQL Server-rel együtt használt felügyelt identitások áttekintéséhez lásd: Az Azure Arc által engedélyezett SQL Server felügyelt identitás.

Előfeltételek

Mielőtt Azure Arc által engedélyezett SQL Serverhez használna felügyelt identitást, győződjön meg arról, hogy megfelel az alábbi előfeltételeknek:

Az elsődleges felügyelt identitás engedélyezése

Ha telepítette a SQL Server Azure bővítményét a kiszolgálóra, a SQL Server-példány elsődleges felügyelt identitását közvetlenül a Azure portálról engedélyezheti. Az elsődleges felügyelt identitás manuális engedélyezésére is lehetőség van a beállításjegyzék frissítésével, de rendkívül körültekintően kell eljárni.

Ha engedélyezni szeretné az elsődleges felügyelt identitást a Azure portálon, kövesse az alábbi lépéseket:

  1. Lépjen az Azure portálon található, Azure Arc által engedélyezett SQL Server erőforráshoz.

  2. A Settings területen válassza a Microsoft Entra ID és a Purview lehetőséget a Microsoft Entra ID és a Purview lap megnyitásához.

    Megjegyzés:

    Ha nem látja a Enable Microsoft Entra ID hitelesítés beállítást, győződjön meg arról, hogy a SQL Server-példány csatlakozik Azure Arc, és telepítve van a legújabb SQL-bővítmény.

  3. A Microsoft Entra ID és Purview lapon jelölje be a Elsődleges felügyelt identitás használata melletti jelölőnégyzetet, majd használja a Save lehetőséget a konfiguráció alkalmazásához:

    A Microsoft Entra opció képernyőképe az Azure portal.

Alkalmazásengedélyek megadása az identitáshoz

Fontos

Csak egy Kiváltságos Szerepkörgazda vagy ennél magasabb jogosultsággal rendelkező szerepkör adhatja meg ezeket az engedélyeket.

A SQL Server-példányok Microsoft Entra hitelesítésének engedélyezéséhez minden rendszer által hozzárendelt felügyelt identitáshoz User.Read.All, GroupMember.Read.All és Application.Read.All engedély szükséges a Microsoft Graph lekérdezéséhez. További információ ezekről az engedélyekről:

  • User.Read.All: Lehetővé teszi Microsoft Entra felhasználói adatok elérését.
  • GroupMember.Read.All: Hozzáférést biztosít Microsoft Entra csoportadatokhoz.
  • Application.Read.All: Lehetővé teszi Microsoft Entra szolgáltatásnév (alkalmazás) adatainak elérését.

Ezek az engedélyek alkalmazásszintű engedélyek (alkalmazásszerepkörök), amelyeket közvetlenül kell hozzárendelni az egyes felügyelt identitásokhoz. Nem lehet manuálisan hozzárendelni őket egy Microsoft Entra biztonsági csoporthoz, és csoporttagságon keresztül adni a tagoknak. A sok géppel rendelkező környezetek esetében alternatív megoldásként hozzárendelheti a Directory Readers szerepkört egy osztható Microsoft Entra biztonsági csoporthoz és tagként adja hozzá a felügyelt identitásokat. Az alkalmazásszerepkör-engedélyektől eltérően ez a Microsoft Entra szerepkör csoportszinten is adható, ami leegyszerűsíti a nagy léptékű felügyeletet. A Könyvtár-olvasók azonban széles körű olvasási hozzáférést biztosít az összes címtárobjektumhoz, jelentősen túllépve a három célzott Graph API-engedélyt. A Címtárolvasók szerepkör nem ajánlott olyan éles környezetekben, ahol a legkisebb jogosultság elvét alkalmazzák.

Az alábbi PowerShell-szkript megadja a szükséges engedélyeket a felügyelt identitáshoz. Győződjön meg arról, hogy a szkript a PowerShell 7.5-ös vagy újabb verziójában fut, és telepítve van a Microsoft.Graph 2.28-as vagy újabb modul.

# 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."
    }
}

Bejelentkezések és felhasználók létrehozása

Kövesse az Microsoft Entra oktatóanyag lépéseit a felügyelt identitáshoz tartozó bejelentkezések és felhasználók létrehozásához.