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 Identityis 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.AllGroupMember.Read.Allfelü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ípuslehetőséget, és keresse meg a létrehozott UMI-t.

Screenshot of enterprise application settings in the Azure portal.

Válassza ki az UMI-t, és lépjen az Engedélyek beállításokra a Biztonság területen.

Screenshot of user-assigned managed identity permissions.

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.

Screenshot of the Azure portal page for an Azure SQL Database logical server. In the Properties menu, the System Assigned Managed Identity is highlighted.

  • 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:

  1. Nyissa meg az SQL Server vagy a felügyelt SQL-példány erőforrását.
  2. A Biztonság területen válassza ki az Identitás beállítást.
  3. A Felhasználó által hozzárendelt felügyelt identitás területen válassza a Hozzáadás lehetőséget.
  4. 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.

Azure portal screenshot of selecting a user-assigned managed identity when configuring an existing server identity.

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.