Felügyelt identitások az Azure SQL-hez készült Microsoft Entra-ban
A következőre vonatkozik: Azure SQL DatabaseFelügyelt Azure SQL-példány
A Microsoft Entra ID (korábbi nevén Azure Active Directory) kétféle felügyelt identitást támogat: a rendszer által hozzárendelt felügyelt identitást (SMI) és a felhasználó által hozzárendelt felügyelt identitást (UMI). További információ: Felügyelt identitástípusok.
A rendszer automatikusan hozzárendel egy SMI-t a felügyelt Azure SQL-példányhoz a létrehozásakor. Ha Microsoft Entra-hitelesítést használ az Azure SQL Database-vel, SMI-t kell hozzárendelnie, amikor az Azure-szolgáltatásnevek használatával Microsoft Entra-felhasználókat hoz létre az SQL Database-ben.
Korábban csak egy SMI-t lehetett hozzárendelni a felügyelt Azure SQL-példányhoz vagy az SQL Database Server-identitáshoz. Mostantól egy UMI hozzárendelhető felügyelt SQL-példányhoz vagy SQL Database-hez példányként vagy kiszolgálóidentitásként.
Az UMI és az SMI példány- vagy kiszolgálóidentitásként való használata mellett az SQL kapcsolati sztring lehetőséggel Authentication=Active Directory Managed Identity
is elérheti az adatbázist. A CREATE U Standard kiadás R utasítással létre kell hoznia egy SQL-felhasználót a céladatbázis felügyelt identitásából. További információ: Microsoft Entra-hitelesítés használata az SqlClient használatával.
A felügyelt Azure SQL-példányhoz vagy az Azure SQL Database-hez készült aktuális UMI-k vagy SMI-k lekéréséről a jelen cikk későbbi, felügyelt identitásának lekérése vagy beállítása logikai kiszolgálóhoz vagy felügyelt példányhoz című témakörben olvashat.
A felhasználó által hozzárendelt felügyelt identitások használatának előnyei
Az UMI kiszolgálói identitásként való használatának számos előnye van:
A felhasználók rugalmasan hozhatnak létre és tarthatnak fenn saját UMI-kat a bérlők számára. Az UMI-k kiszolgálóidentitásként használhatók az Azure SQL-hez. Az UMI-t a felhasználó kezeli, míg az SMI-t kiszolgálónként egyedileg definiálja, és a rendszer hozzárendeli.
Korábban szüksége volt a Microsoft Entra ID Directory Readers szerepkörre, amikor SMI-t használt kiszolgálóként vagy példányidentitásként. A Microsoft Entra ID Microsoft Graphon keresztüli elérésének bevezetésével azok a felhasználók, akik magas szintű engedélyeket, például címtárolvasói szerepkört adnak az SMI-nek vagy az UMI-nek, alacsonyabb szintű engedélyeket adhatnak, hogy a kiszolgáló vagy a példány identitása hozzáférhessen a Microsoft Graphhoz.
További információ a címtárolvasók engedélyeinek és funkciójának megadásáról: Címtárolvasók szerepkör az Azure SQL-hez készült Microsoft Entra ID-ban.
A felhasználók kiválaszthatnak egy adott UMI-t, amely a bérlő összes adatbázisának vagy felügyelt példányának kiszolgálói vagy példányi identitása. Vagy több UMI-t is hozzárendelhetnek különböző kiszolgálókhoz vagy példányokhoz.
Az UMI-k különböző kiszolgálókon különböző funkciók megjelenítésére használhatók. Az UMI például transzparens adattitkosítást (TDE) képes kiszolgálni az egyik kiszolgálón, az UMI pedig a Microsoft Entra-hitelesítést egy másik kiszolgálón.
Az ügyfél által felügyelt kulcsokkal (CMK-kkal) konfigurált logikai kiszolgáló létrehozásához umI-ra van szükség az Azure-ban . További információ: Ügyfél által felügyelt transzparens adattitkosítás felhasználó által hozzárendelt felügyelt identitással.
Az UMI-k függetlenek a logikai kiszolgálóktól vagy a felügyelt példányoktól. Logikai kiszolgáló vagy példány törlésekor az SMI is törlődik. Az UMI-k nem törlődnek a kiszolgálóval.
Feljegyzés
Engedélyeznie kell a példányidentitást (SMI vagy UMI) a Felügyelt SQL-példány Microsoft Entra-hitelesítésének támogatásához. Az SQL Database esetében a kiszolgálóidentitás engedélyezése nem kötelező, és csak akkor szükséges, ha egy Microsoft Entra-szolgáltatásnév (Microsoft Entra-alkalmazás) felügyeli a Microsoft Entra-felhasználók, -csoportok vagy -alkalmazások létrehozását és kezelését a kiszolgálón. További információ: Microsoft Entra szolgáltatásnév az Azure SQL-vel.
Felhasználó által hozzárendelt felügyelt identitás létrehozása
Az UMI létrehozásáról további információt a felhasználó által hozzárendelt felügyelt identitások kezelése című témakörben talál.
Engedélyek
Az UMI létrehozása után bizonyos engedélyekre van szükség ahhoz, hogy az UMI a Microsoft Graphból olvashasson kiszolgálói identitásként. Adja meg a következő engedélyeket, vagy adja meg az UMI-nek a Címtárolvasók szerepkört.
Ezeket az engedélyeket logikai kiszolgáló vagy felügyelt példány kiépítése előtt kell megadni. Miután engedélyezte az engedélyeket az UMI-nek, azok engedélyezve lesznek az összes kiszolgáló vagy példány számára, amelyek kiszolgálói identitásként hozzárendelt UMI-vel vannak létrehozva.
Fontos
Ezeket az engedélyeket csak egy globális Rendszergazda istrator vagy kiemelt szerepkör Rendszergazda istrator adhatja meg.
- User.Read.All: Lehetővé teszi a Microsoft Entra felhasználói adatainak elérését.
- GroupMember.Read.All: Lehetővé teszi a Microsoft Entra csoportinformációinak elérését.
- Application.Read.ALL: Lehetővé teszi a Microsoft Entra szolgáltatásnév (alkalmazás) információinak elérését.
Engedélyek megadása
Az alábbi PowerShell-példaszkript megadja a felügyelt identitáshoz szükséges engedélyeket. Ez a minta engedélyeket rendel a felhasználó által hozzárendelt felügyelt identitáshoz umiservertest
.
A szkript futtatásához be kell jelentkeznie felhasználóként globális Rendszergazda istrator vagy Privileged Role Rendszergazda istrator szerepkörrel.
A szkript egy User.Read.All
GroupMember.Read.All
felügyelt identitásnak ad engedélyeket a Application.Read.ALL
Microsoft Graph eléréséhez.
# Script to assign permissions to an existing UMI
# The following required Microsoft Graph permissions will be assigned:
# User.Read.All
# GroupMember.Read.All
# Application.Read.All
Import-Module Microsoft.Graph.Authentication
Import-Module Microsoft.Graph.Applications
$tenantId = "<tenantId>" # Your tenant ID
$MSIName = "<managedIdentity>"; # Name of your managed identity
# Log in as a user with the "Global Administrator" or "Privileged Role Administrator" role
Connect-MgGraph -TenantId $tenantId -Scopes "AppRoleAssignment.ReadWrite.All,Application.Read.All"
# Search for Microsoft Graph
$MSGraphSP = Get-MgServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'";
$MSGraphSP
# Sample Output
# DisplayName Id AppId SignInAudience ServicePrincipalType
# ----------- -- ----- -------------- --------------------
# Microsoft Graph 47d73278-e43c-4cc2-a606-c500b66883ef 00000003-0000-0000-c000-000000000000 AzureADMultipleOrgs Application
$MSI = Get-MgServicePrincipal -Filter "DisplayName eq '$MSIName'"
if($MSI.Count -gt 1)
{
Write-Output "More than 1 principal found with that name, please find your principal and copy its object ID. Replace the above line with the syntax $MSI = Get-MgServicePrincipal -ServicePrincipalId <your_object_id>"
Exit
}
# Get required permissions
$Permissions = @(
"User.Read.All"
"GroupMember.Read.All"
"Application.Read.All"
)
# Find app permissions within Microsoft Graph application
$MSGraphAppRoles = $MSGraphSP.AppRoles | Where-Object {($_.Value -in $Permissions)}
# Assign the managed identity app roles for each permission
foreach($AppRole in $MSGraphAppRoles)
{
$AppRoleAssignment = @{
principalId = $MSI.Id
resourceId = $MSGraphSP.Id
appRoleId = $AppRole.Id
}
New-MgServicePrincipalAppRoleAssignment `
-ServicePrincipalId $AppRoleAssignment.PrincipalId `
-BodyParameter $AppRoleAssignment -Verbose
}
Felhasználó által hozzárendelt felügyelt identitás engedélyeinek ellenőrzése
Az UMI engedélyeinek ellenőrzéséhez nyissa meg az Azure Portalt. A Microsoft Entra ID erőforrásban nyissa meg a Nagyvállalati alkalmazásokat. Válassza az Összes alkalmazástípus lehetőséget, és keresse meg a létrehozott UMI-t.
Válassza ki az UMI-t, és lépjen az Engedélyek beállításokra a Biztonság területen.
Felügyelt identitás lekérése vagy beállítása logikai kiszolgálóhoz vagy felügyelt példányhoz
Ha UMI használatával szeretne kiszolgálót létrehozni, tekintse meg az alábbi útmutatót: Azure SQL logikai kiszolgáló létrehozása felhasználó által hozzárendelt felügyelt identitás használatával.
Az Azure SQL Database logikai kiszolgáló SMI-jének lekérése
Az Azure Portal megjeleníti a rendszer által hozzárendelt felügyelt identitás (SMI) azonosítóját az Azure SQL Database logikai kiszolgáló Tulajdonságok menüjében.
- Az Azure SQL Managed Instance vagy az Azure SQL Database UMI-jeinek lekéréséhez használja az alábbi PowerShell- vagy Azure CLI-példákat.
- A felügyelt Azure SQL-példány SMI-jének lekéréséhez használja az alábbi PowerShell- vagy Azure CLI-példákat.
Felügyelt identitás beállítása az Azure Portalon
A felhasználó által felügyelt identitás beállítása az Azure SQL Database logikai kiszolgálóhoz vagy felügyelt Azure SQL-példányhoz az Azure Portalon:
- Nyissa meg az SQL Server vagy a felügyelt SQL-példány erőforrását.
- A Biztonság területen válassza ki az Identitás beállítást.
- A Felhasználó által hozzárendelt felügyelt identitás területen válassza a Hozzáadás lehetőséget.
- Válasszon ki egy előfizetést, majd elsődleges identitás esetén válasszon egy felügyelt identitást az előfizetéshez. Ezután válassza a Kiválasztás gombot.
Felügyelt identitás létrehozása vagy beállítása az Azure CLI használatával
Az Azure CLI 2.26.0 (vagy újabb) szükséges a parancsok UMI-vel való futtatásához.
Felügyelt Azure SQL Database-identitás az Azure CLI használatával
Ha új kiszolgálót szeretne kiépíteni egy felhasználó által hozzárendelt felügyelt identitással, használja az az sql server create parancsot.
A logikai kiszolgáló felügyelt identitásainak beszerzéséhez használja az az sql server show parancsot.
Egy logikai kiszolgáló felhasználó által hozzárendelt felügyelt identitásainak lekéréséhez például keresse meg az
principalId
egyes kiszolgálókat:az sql server show --resource-group "resourcegroupnamehere" --name "sql-logical-server-name-here" --query identity.userAssignedIdentities
Az Azure SQL Database logikai kiszolgáló rendszer által hozzárendelt felügyelt identitásának lekérése:
az sql server show --resource-group "resourcegroupnamehere" --name "sql-logical-server-name-here" --query identity.principalId
Az UMI kiszolgálóbeállításának frissítéséhez használja az az sql server update parancsot.
Felügyelt Azure SQL-példány felügyelt identitása az Azure CLI használatával
Ha új felügyelt példányt szeretne kiépíteni UMI-vel, használja az az sql mi create parancsot.
A rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitások felügyelt példányokhoz való beszerzéséhez használja az az sql mi show parancsot.
Ha például egy felügyelt példány UMI-jét szeretné lekérni, keresse meg az
principalId
egyes példányokat:az sql mi show --resource-group "resourcegroupnamehere" --name "sql-mi-name-here" --query identity.userAssignedIdentities
Felügyelt példány SMI-jének lekérése:
az sql mi show --resource-group "resourcegroupnamehere" --name "sql-mi-name-here" --query identity.principalId
Az UMI felügyelt példánybeállításának frissítéséhez használja az az sql mi update parancsot.
Felügyelt identitás létrehozása vagy beállítása a PowerShell használatával
A PowerShell UMI-vel való használatához az Az.Sql 3.4-as vagy újabb modul szükséges. A PowerShell legújabb verziója ajánlott, vagy használja az Azure Cloud Shellt az Azure Portalon.
Felügyelt Azure SQL Database-identitás a PowerShell használatával
Ha új kiszolgálót szeretne kiépíteni UMI-vel, használja a New-AzSqlServer parancsot.
A logikai kiszolgáló felügyelt identitásainak lekéréséhez használja a Get-AzSqlServer parancsot.
Ha például egy logikai kiszolgáló UMI-jét szeretné lekérni, keresse meg az
principalId
egyes kiszolgálókat:$MI = get-azsqlserver -resourcegroupname "resourcegroupnamehere" -name "sql-logical-server-name-here" $MI.Identity.UserAssignedIdentities | ConvertTo-Json
Logikai Azure SQL Database-kiszolgáló SMI-jének lekérése:
$MI = get-azsqlserver -resourcegroupname "resourcegroupnamehere" -name "sql-logical-server-name-here" $MI.Identity.principalId
Az UMI kiszolgálóbeállításának frissítéséhez használja a Set-AzSqlServer parancsot.
Felügyelt Azure SQL-példány felügyelt identitása a PowerShell használatával
Ha új felügyelt példányt szeretne kiépíteni UMI-vel, használja a New-AzSqlInstance parancsot.
Egy felügyelt példány felügyelt identitásainak beszerzéséhez használja a Get-AzSqlInstance parancsot.
Ha például egy felügyelt példány UMI-jét szeretné lekérni, keresse meg az
principalId
egyes példányokat:$MI = get-azsqlinstance -resourcegroupname "resourcegroupnamehere" -name "sql-mi-name-here" $MI.Identity.UserAssignedIdentities | ConvertTo-Json
Felügyelt példány SMI-jének lekérése:
$MI = get-azsqlinstance -resourcegroupname "resourcegroupnamehere" -name "sql-mi-name-here" $MI.Identity.principalId
Az UMI felügyelt példánybeállításának frissítéséhez használja a Set-AzSqlInstance parancsot.
Felügyelt identitás létrehozása vagy beállítása a REST API használatával
A kiszolgáló UMI-beállításainak frissítéséhez használhatja a logikai kiszolgáló létrehozásakor használt REST API kiépítési szkriptet is egy felhasználó által hozzárendelt felügyelt identitással , vagy felügyelt példány létrehozása felhasználó által hozzárendelt felügyelt identitással. Futtassa újra a kiépítési parancsot az útmutatóban a frissíteni kívánt, felhasználó által hozzárendelt felügyelt identitás tulajdonsággal.
Felügyelt identitás létrehozása vagy beállítása ARM-sablon használatával
A kiszolgáló UMI-beállításainak frissítéséhez használhatja a logikai kiszolgáló létrehozásakor használt Azure Resource Manager-sablont (ARM-sablont) is, ha felhasználó által hozzárendelt felügyelt identitást használ, vagy felhasználó által hozzárendelt felügyelt identitással hoz létre egy felügyelt példányt. Futtassa újra a kiépítési parancsot az útmutatóban a frissíteni kívánt, felhasználó által hozzárendelt felügyelt identitás tulajdonsággal.
Feljegyzés
Nem módosíthatja a kiszolgáló rendszergazdáját vagy jelszavát, és nem módosíthatja a Microsoft Entra rendszergazdáját az ARM-sablon kiépítési parancsának újrafuttatásával.
Korlátozások és ismert problémák
- Miután létrehozott egy felügyelt példányt, a felügyelt példány Microsoft Entra felügyeleti oldala az Azure Portalon figyelmeztetést jelenít meg:
Managed Instance needs permissions to access Microsoft Entra ID. Click here to grant "Read" permissions to your Managed Instance.
Ha megadta az UMI-nek a jelen cikkben korábban tárgyalt megfelelő engedélyeket, figyelmen kívül hagyhatja ezt a figyelmeztetést. - Ha kiszolgálói vagy példányi identitásként SMI-t vagy UMI-t használ, az identitás törlése miatt a kiszolgáló vagy a példány nem tud hozzáférni a Microsoft Graphhoz. A Microsoft Entra-hitelesítés és más függvények sikertelenek lesznek. A Microsoft Entra funkcióinak visszaállításához rendeljen hozzá egy új SMI-t vagy UMI-t a kiszolgálóhoz megfelelő engedélyekkel.
- A Microsoft Graph SMI-n vagy UMI-n keresztüli elérésére vonatkozó engedélyek megadásához a PowerShellt kell használnia. Ezeket az engedélyeket az Azure Portal használatával nem adhatja meg.