Accesso di emergenza alle macchine virtuali (EVA)

Il servizio eva (Emergency VM Access) consente a un utente di richiedere assistenza all'operatore in scenari in cui tale utente è bloccato dalla macchina virtuale e l'operazione di ridistribuimento non consente di ripristinare l'accesso tramite la rete.

Nota

EVA è stata rilasciata con disponibilità generale a partire dall'hub di Azure Stack 2301.

Questa funzionalità deve essere abilitata per ogni sottoscrizione e l'operatore deve abilitare l'accesso desktop remoto affinché l'utente cloudadmin possa accedere alle macchine virtuali della console di ripristino di emergenza (ERCS).

Il primo passaggio per l'utente consiste nel richiedere l'accesso alla console di macchine virtuali tramite PowerShell. La richiesta fornisce il consenso e consente all'operatore di connettersi alla macchina virtuale tramite la relativa console. L'accesso alla console non dipende dalla connettività di rete e usa un canale dati dell'hypervisor.

L'operatore può eseguire l'autenticazione solo al sistema operativo in esecuzione all'interno della macchina virtuale se le credenziali sono note. A questo punto, l'operatore può anche condividere schermate con l'utente e risolvere il problema insieme per ripristinare la connettività di rete.

Importante

Per le macchine virtuali che eseguono Windows Server, la funzionalità EVA è limitata ai computer in esecuzione con un'interfaccia utente grafica (GUI). Per Windows Server, il sistema operativo principale non supporta la funzionalità della tastiera su schermo. Poiché non è possibile inviare la combinazione di tasti CTRL+ALT+CANC come input, non è possibile accedere a un server principale, anche se è possibile connettersi alla console. Se è necessario risolvere un problema con il sistema operativo core di Windows, contattare il supporto Tecnico Microsoft per fornire l'accesso alla console da un PEP sbloccato.

L'operatore abilita una sottoscrizione utente per EVA

In questo scenario, l'operatore può decidere quale sottoscrizione deve essere in grado di usare la funzionalità di accesso alla macchina virtuale di emergenza.

Eseguire prima di tutto lo script di PowerShell seguente. Per eseguire questo script, è necessario aver installato PowerShell per l'hub di Azure Stack. Seguire le indicazioni su come installare PowerShell dell'hub di Azure Stack. Sostituire i segnaposto della variabile con i valori corretti:

# 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

Utente per richiedere l'accesso alla console della macchina virtuale

Gli utenti forniscono il consenso all'operatore per creare l'accesso alla console per una macchina virtuale specifica.

  1. Come utente, aprire PowerShell, accedere alla sottoscrizione e connettersi all'hub di Azure Stack come descritto qui.

  2. Eseguire lo script seguente. È necessario sostituire l'ID sottoscrizione, il gruppo di risorse e il nome della macchina virtuale per costruire 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. Lo script restituisce il nome della console di ripristino di emergenza (ERCS), che il tenant fornisce all'operatore, insieme a VMResourceID.

L'operatore abilita l'accesso desktop remoto alle macchine virtuali ERCS

Il passaggio successivo per l'operatore hub di Azure Stack consiste nell'abilitare l'accesso Desktop remoto alle macchine virtuali della console di ripristino di emergenza (ERCS), che ospitano gli endpoint con privilegi.

Eseguire i comandi seguenti nell'endpoint con privilegi (PEP) dalla workstation operatore usata per connettersi a ERCS. Il comando aggiunge l'indirizzo IP della workstation all'elenco di sicurezza di rete. Seguire le indicazioni su come connettersi a PEP. L'operatore può essere membro del gruppo di utenti cloudadmin o cloudadmin stesso:

Grant-RdpAccessToErcsVM

Per disabilitare l'accesso desktop remoto alle macchine virtuali della Console di ripristino di emergenza (ERCS), eseguire il comando seguente nell'endpoint con privilegi (PEP):

Revoke-RdpAccessToErcsVM

Nota

A una delle macchine virtuali ERCS verrà assegnata la richiesta di accesso dell'utente tenant. In qualità di operatore, è possibile creare una sessione PEP solo per la macchina virtuale ERCS ricevuta dal tenant (l'output di $enableVMAccessResponse).

  1. L'operatore usa il nome ERCS e lo connette usando il client Desktop remoto (RDP); ad esempio, dalla workstation di accesso dell'operatore (OAW).

    Nota

    L'operatore esegue l'autenticazione usando lo stesso account amministratore cloud che ha eseguito Grant-RdpAccessToErcsVM.

  2. Dopo la connessione alla macchina virtuale ERCS tramite RDP, avviare PowerShell.

  3. Connettersi alla console della macchina virtuale tenant usando il comando seguente:

    ConnectTo-TenantVm -ResourceID
    
  4. L'operatore si connette ora alla schermata della console della macchina virtuale tenant a cui è necessario eseguire di nuovo l'autenticazione usando le credenziali cloudadmin . L'operatore non dispone di credenziali con cui accedere al sistema operativo guest.

    Nota

    Nella schermata di accesso premere i tasti Windows + U per avviare la tastiera su schermo, che consente di inviare CTRL + ALT + Canc. Per usare la combinazione di tasti Windows + U, è necessario essere in modalità RDP a schermo intero.

  5. L'operatore può ora visualizzare la condivisione dello schermo con il tenant per eseguire il debug di eventuali problemi che impediscono la connessione alla macchina virtuale tramite la rete.

  6. Al termine, l'operatore può eseguire il comando seguente per rimuovere il consenso dell'utente:

    Delete-TenantVMSession -ResourceID
    

    Nota

    Il consenso dell'utente scade automaticamente dopo 8 ore e revoca l'accesso da parte dell'operatore.