Compartir a través de


Identidad administrada (versión preliminar) para SQL Server habilitada por Azure Arc

Se aplica a: VERSIÓN PRELIMINAR de SQL Server 2025 (17.x)

En este artículo se describe cómo configurar una identidad administrada para SQL Server habilitada por Azure Arc.

SQL Server 2025 (17.x) Preview incluye compatibilidad con identidades administradas para SQL Server en Windows. Use una identidad administrada para interactuar con los recursos de Azure mediante la autenticación de Microsoft Entra.

Nota:

El uso de una identidad administrada con SQL Server 2025 está actualmente en versión preliminar.

Información general

SQL Server 2025 (17.x) Preview presenta compatibilidad con identidades administradas de Microsoft Entra. Use identidades administradas para autenticarse en servicios de Azure sin necesidad de administrar las credenciales. Azure administra automáticamente las identidades administradas y se puede usar para autenticarse en cualquier servicio que admita la autenticación de Microsoft Entra. Con la versión preliminar de SQL Server 2025 (17.x), puede usar identidades administradas para autenticar conexiones entrantes y también para autenticar las conexiones salientes a los servicios de Azure.

Al conectar la instancia de SQL Server a Azure Arc, se crea automáticamente una identidad administrada asignada por el sistema para el nombre de host de SQL Server. Una vez creada la identidad administrada, debe asociar la identidad a la instancia de SQL Server y al identificador de inquilino de Microsoft Entra actualizando el registro.

Al usar la identidad administrada con SQL Server habilitado por Azure Arc, tenga en cuenta lo siguiente:

  • La identidad administrada se asigna en el nivel de servidor de Azure Arc.
  • Solo se admiten identidades administradas asignadas por el sistema.
  • SQL Server usa esta identidad administrada de nivel de servidor de Azure Arc como identidad administrada principal.
  • SQL Server puede usar esta identidad administrada principal en las conexiones inbound y/o outbound.
    • Inbound connections son inicios de sesión y usuarios que se conectan a SQL Server. Las conexiones entrantes también se pueden lograr mediante el registro de aplicaciones disponible en SQL Server 2022.
    • Outbound connections son conexiones de SQL Server a recursos de Azure, como realizar una copia de seguridad en una URL o la conexión a Azure Key Vault.
  • El registro de aplicaciones no puede habilitar una instancia de SQL Server para realizar conexiones salientes. Las conexiones salientes necesitan una identidad administrada principal asignada a SQL Server.

Prerrequisitos

Para poder usar una identidad administrada con SQL Server habilitado por Azure Arc, asegúrese de cumplir los siguientes requisitos previos:

Habilitación de la identidad administrada principal

Si ha instalado la extensión de Azure para SQL Server en el servidor, puede habilitar la identidad administrada principal para la instancia de SQL Server directamente desde Azure Portal. También es posible habilitar manualmente la identidad administrada principal mediante la actualización del registro, pero debe realizarse con extrema precaución.

Para habilitar la identidad administrada principal en Azure Portal, siga estos pasos:

  1. Vaya al recurso de SQL Server habilitado por Azure Arc en Azure Portal.

  2. En Configuración, seleccione Microsoft Entra ID y Purview para abrir la página Microsoft Entra ID y Purview .

    Nota:

    Si no ve la opción Habilitar autenticación de Id. de Entra de Microsoft , asegúrese de que la instancia de SQL Server está conectada a Azure Arc y de que tiene instalada la extensión SQL más reciente.

  3. En la página Microsoft Entra ID y Purview , active la casilla situada junto a Usar una identidad administrada principal y, a continuación, use Guardar para aplicar la configuración:

    Captura de pantalla de la opción Microsoft Entra en Azure Portal.

Conceder permisos de aplicación a la identidad

La identidad administrada asignada por el sistema, que usa el nombre del equipo habilitado para Arc, debe tener los siguientes permisos de aplicación de Microsoft Graph (roles de aplicación): User.Read.All, GroupMember.Read.Ally Application.Read.All.

Puede usar PowerShell para conceder permisos necesarios a la identidad administrada. Como alternativa, puede crear un grupo asignable a roles. Una vez creado el grupo, asigne el rol Lectores de directorio al grupo y agregue todas las identidades administradas asignadas por el sistema para las máquinas habilitadas para Arc al grupo.

El siguiente script de PowerShell concede los permisos necesarios a la identidad administrada:

# Update these variables to match your Azure & Arc machine setup
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'

# Install and connect to AzureAD
try {
    Install-Module -Name AzureAD -Force -Scope CurrentUser -ErrorAction Stop
    Import-Module AzureAD
    Connect-AzureAD -TenantId $tenantID
    Write-Output "Connected to AzureAD successfully."
} catch {
    Write-Error "Failed to install or connect to AzureAD: $_"
    return
}

# Get Microsoft Graph API service principal
$graphAppId = '00000003-0000-0000-c000-000000000000'
$graphSP = Get-AzureADServicePrincipal -Filter "appId eq '$graphAppId'"
if (-not $graphSP) {
    Write-Error "Microsoft Graph service principal not found."
    return
}

# Get the managed identity
$managedIdentity = Get-AzureADServicePrincipal -SearchString $managedIdentityName | Where-Object { $_.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
foreach ($roleValue in $requiredRoles) {
    $appRole = $graphSP.AppRoles | Where-Object { $_.Value -eq $roleValue -and $_.AllowedMemberTypes -contains "Application" }
    if ($appRole) {
        try {
            New-AzureADServiceAppRoleAssignment `
                -ObjectId $managedIdentity.ObjectId `
                -PrincipalId $managedIdentity.ObjectId `
                -ResourceId $graphSP.ObjectId `
                -Id $appRole.Id
            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."
    }
}

Crear inicios de sesión y usuarios

Siga los pasos del tutorial de Microsoft Entra para crear inicios de sesión y usuarios para la identidad administrada.

Limitaciones

Tenga en cuenta las siguientes limitaciones al usar una identidad administrada con SQL Server 2025:

  • La autenticación de Microsoft Entra solo se admite con SQL Server 2025 habilitado para Arc que se ejecuta en Windows Server.
  • No se admite el uso de la autenticación de Microsoft Entra con instancias de clúster de conmutación por error.
  • La identidad que decida autenticar en SQL Server debe tener los permisos de rol Lectores de directorio en Microsoft Entra ID o los tres permisos de aplicación de Microsoft Graph siguientes (roles de aplicación): User.Read.All, GroupMember.Read.All y Application.Read.All.
  • Una vez habilitada la autenticación de Microsoft Entra, no es aconsejable deshabilitarla. Deshabilitar la autenticación de Microsoft Entra de forma forzada mediante la eliminación de entradas del Registro puede dar lugar a un comportamiento impredecible con SQL Server 2025.
  • Actualmente no se admite la autenticación en SQL Server en máquinas de Arc a través de la autenticación de Microsoft Entra mediante el método FIDO2 .