Acceso de emergencia a máquina virtual (EVA)

El servicio de acceso a máquinas virtuales de emergencia (EVA) permite a un usuario solicitar ayuda del operador en escenarios en los que ese usuario está bloqueado de la máquina virtual y la operación de reimplementación no ayuda a recuperar el acceso a través de la red.

Nota

EVA se publicó con disponibilidad general a partir de Azure Stack Hub 2301.

Esta característica debe estar habilitada por suscripción y el operador debe habilitar el acceso a Escritorio remoto para que el usuario cloudadmin acceda a las máquinas virtuales de la consola de recuperación de emergencia (ERCS).

El primer paso para el usuario es solicitar acceso a la consola de máquina virtual mediante PowerShell. La solicitud proporciona consentimiento y permite al operador con información adicional conectarse a la máquina virtual mediante su consola. El acceso a la consola no depende de la conectividad de red y usa un canal de datos del hipervisor.

El operador solo puede autenticarse en el sistema operativo que se ejecuta dentro de la máquina virtual si se conocen las credenciales. En ese momento, el operador también puede compartir pantallas con el usuario y resolver el problema conjuntamente para restaurar la conectividad de red.

Importante

En el caso de las máquinas virtuales que ejecutan Windows Server, la característica EVA se limita a los equipos que se ejecutan con una interfaz gráfica de usuario (GUI). Para Windows Server, el sistema operativo principal no admite la funcionalidad de teclado en pantalla. Puesto que no puede enviar la combinación de teclas Ctrl+Alt+Supr como entrada, no puede iniciar sesión en un servidor principal, aunque pueda conectarse a su consola. Si necesita solucionar un problema con el sistema operativo principal de Windows, póngase en contacto con el soporte técnico de Microsoft para proporcionar acceso a la consola desde un PEP desbloqueado.

El operador habilita una suscripción de usuario para EVA

En este escenario, el operador puede decidir qué suscripción debe poder usar la característica de acceso a la máquina virtual de emergencia.

En primer lugar, ejecute el siguiente script de PowerShell. Para ejecutar este script, debe tener PowerShell de Azure Stack Hub instalado. Siga la guía para instalar PowerShell de Azure Stack Hub. Reemplace los marcadores de posición por los valores correctos:

# Replace strings with your values before running the script
$FQDN = "External FQDN"
$RegionName = "Azure Stack Region Name"
# The value for "TenantID" should always be the tenant ID of home directory as it's only used for connecting to the admin resource manager endpoint.
$TenantID = "TenantID"
$TenantSubscriptionId = "Tenant Subscription ID"

$tenantSubscriptionSettings = @{
    TenantSubscriptionId = [string]$tenantSubscriptionId
}

# Add environment & authenticate
Add-AzureRmEnvironment -Name AzureStackAdmin -ARMEndpoint https://adminmanagement.$RegionName.$FQDN
Login-AzureRmAccount -Environment AzureStackAdmin -TenantId $TenantID

Invoke-AzureRmResourceAction `
    -ResourceName "$($RegionName)/Microsoft.Compute.EmergencyVMAccess" `
    -ResourceType "Microsoft.Compute.Admin/locations/features" `
    -Action "enableTenantSubscriptionFeature" `
    -Parameters $tenantSubscriptionSettings `
    -ApiVersion "2020-11-01" `
    -ErrorAction Stop `
    -Force

El usuario solicita acceso a la consola de máquina virtual

Como usuario, da su consentimiento al operador para crear acceso a la consola para una máquina virtual específica.

  1. Como usuario, abra PowerShell, inicie sesión en su suscripción y conéctese a Azure Stack Hub como se describe aquí.

  2. Ejecute el siguiente script. Debe reemplazar el identificador de suscripción, el grupo de recursos y el nombre de la máquina virtual para construir VMResourceID:

    $SubscriptionID = "your Azure subscription ID" 
    $ResourceGroup = "your resource group name" 
    $VMName = "your VM name" 
    $vmResourceId = "/subscriptions/$SubscriptionID/resourceGroups/$ResourceGroup/providers/Microsoft.Compute/virtualMachines/$VMName" 
    
    $enableVMAccessResponse = Invoke-AzureRMResourceAction `
        -ResourceId $vmResourceId `
        -Action "enableVmAccess" `
        -ApiVersion "2020-06-01" `
        -ErrorAction Stop `
        -Force
    
    Write-Host "Please provide the following output to operator`n" -ForegroundColor Yellow
    Write-Host "ERCS Name:`t$(($enableVMAccessResponse).ERCSName)" -ForegroundColor Cyan
    Write-Host "ConnectTo-TenantVm -ResourceID $($vmResourceId)" -ForegroundColor Green
    Write-Host "Delete-TenantVMSession -ResourceID $($vmResourceId)" -ForegroundColor Green
    

  1. El script devuelve el nombre de la consola de recuperación de emergencia (ERCS), que el inquilino proporciona al operador, junto con VMResourceID.

El operador habilita el acceso de escritorio remoto a máquinas virtuales de ERCS

El siguiente paso para el operador de Azure Stack Hub es habilitar el acceso de escritorio remoto a las máquinas virtuales de la consola de recuperación de emergencia (ERCS), que hospedan los puntos de conexión con privilegios.

Ejecute los siguientes comandos en el punto de conexión con privilegios (PEP) desde la estación de trabajo del operador que usa para conectarse al ERCS. El comando agrega la dirección IP de la estación de trabajo a la lista segura de red. Siga la guía para conectarse al punto de conexión con privilegios. El operador puede ser miembro del grupo de usuarios cloudadmin o el propio usuario cloudadmin:

Grant-RdpAccessToErcsVM

Para deshabilitar el acceso de escritorio remoto a las máquinas virtuales de la consola de recuperación de emergencia (ERCS), ejecute el siguiente comando en el punto de conexión con privilegios (PEP):

Revoke-RdpAccessToErcsVM

Nota

A cualquiera de las máquinas virtuales de ERCS se le asignará la solicitud de acceso del usuario del inquilino. Como operador, puede crear una sesión PEP solo en la máquina virtual ERCS recibida del inquilino (la salida de $enableVMAccessResponse).

  1. El operador usa el nombre de ERCS y se conecta a la consola mediante el cliente de escritorio remoto (RDP); por ejemplo, desde la estación de trabajo de acceso del operador (OAW).

    Nota:

    El operador se autentica con la misma cuenta de administrador en la nube que ejecutó Grant-RdpAccessToErcsVM.

  2. Una vez conectado a la máquina virtual de ERCS mediante RDP, inicie PowerShell.

  3. Conéctese a la consola de la máquina virtual del inquilino mediante el siguiente comando:

    ConnectTo-TenantVm -ResourceID
    
  4. El operador ahora se conecta a la pantalla de la consola de la máquina virtual del inquilino en la que necesita autenticarse con las credenciales de cloudadmin de nuevo. El operador no tiene credenciales con las que iniciar sesión en el sistema operativo invitado.

    Nota

    En la pantalla de inicio de sesión, al presionar Windows+U se inicia el teclado en pantalla, que permite enviar CTRL+ALT+Suprimir. La combinación de teclas Windows + U solo se pueden usar en modo RDP a pantalla completa.

  5. El operador ahora puede compartir la pantalla con el inquilino para depurar cualquier problema que impida la conexión a la máquina virtual a través de la red.

  6. Cuando termine, el operador puede ejecutar el siguiente comando para eliminar el consentimiento del usuario:

    Delete-TenantVMSession -ResourceID
    

    Nota:

    El consentimiento del usuario expira automáticamente después de 8 horas y revocará todo el acceso del operador.