Acesso de emergência à VM (EVA)

O serviço de Acesso de VM de Emergência (EVA) permite que um utilizador peça ajuda ao operador em cenários em que esse utilizador está bloqueado na máquina virtual e a operação de reimplementação não ajuda a recuperar o acesso através da rede.

Nota

A EVA foi lançada com disponibilidade geral a partir do Azure Stack Hub 2301.

Esta funcionalidade tem de ser ativada por subscrição e o operador tem de ativar o acesso ao Ambiente de Trabalho Remoto para que o utilizador cloudadmin aceda às VMs da consola de recuperação de emergência (ERCS).

O primeiro passo para o utilizador é pedir acesso à consola da VM através do PowerShell. O pedido dá consentimento e permite que o operador com informações adicionais se ligue à máquina virtual através da respetiva consola. O acesso à consola não depende da conectividade de rede e utiliza um canal de dados do hipervisor.

O operador só pode autenticar-se no sistema operativo em execução dentro da VM se as credenciais forem conhecidas. Nessa altura, o operador também pode partilhar ecrãs com o utilizador e resolver o problema em conjunto para restaurar a conectividade de rede.

Importante

Para VMs com o Windows Server, a funcionalidade EVA está limitada a computadores em execução com uma interface gráfica de utilizador (GUI). Para o Windows Server, o sistema operativo principal não suporta a funcionalidade de teclado no ecrã. Uma vez que não é possível enviar a combinação de teclas Ctrl+Alt+Del como entrada, não pode iniciar sessão num servidor principal, apesar de poder ligar à consola. Se precisar de resolver um problema com o SO principal do Windows, contacte o suporte da Microsoft para fornecer acesso à consola a partir de um PEP desbloqueado.

Operador ativa uma subscrição de utilizador para EVA

Neste cenário, o operador pode decidir que subscrição deve ser capaz de utilizar a funcionalidade de acesso de VM de emergência.

Primeiro, execute o seguinte script do PowerShell. Para executar este script, tem de ter o PowerShell do Azure Stack Hub instalado. Siga as orientações sobre como instalar o PowerShell do Azure Stack Hub. Substitua os marcadores de posição da variável pelos valores corretos:

# 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

Utilizador para pedir acesso à consola da VM

Enquanto utilizador, dá consentimento ao operador para criar o acesso à consola para uma VM específica.

  1. Como utilizador, abra o PowerShell, inicie sessão na sua subscrição e ligue-se ao Azure Stack Hub, conforme descrito aqui.

  2. Execute o seguinte script. Tem de substituir o ID da subscrição, o grupo de recursos e o nome da VM para construir o 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. O script devolve o nome da consola de recuperação de emergência (ERCS), que o inquilino fornece ao operador, juntamente com o VMResourceID.

Operador ativa o acesso ao ambiente de trabalho remoto para VMs ERCS

O próximo passo para o operador do Azure Stack Hub é ativar o acesso ao Ambiente de Trabalho Remoto às VMs da Consola de Recuperação de Emergência (ERCS), que alojam os pontos finais privilegiados.

Execute os seguintes comandos no ponto final privilegiado (PEP) a partir da estação de trabalho de operador que utiliza para ligar ao ERCS. O comando adiciona o IP da estação de trabalho à lista de segurança de rede. Siga a documentação de orientação sobre como ligar ao PEP. O operador pode ser membro do grupo de utilizadores cloudadmin ou do próprio cloudadmin :

Grant-RdpAccessToErcsVM

Para desativar o acesso ao ambiente de trabalho remoto para as VMs da Consola de Recuperação de Emergência (ERCS), execute o seguinte comando no ponto final privilegiado (PEP):

Revoke-RdpAccessToErcsVM

Nota

Qualquer uma das VMs ERCS será atribuída ao pedido de acesso do utilizador inquilino. Como operador, só pode criar uma sessão PEP para a VM ERCS recebida do inquilino (o resultado de $enableVMAccessResponse).

  1. O operador utiliza o nome ERCS e liga-se ao mesmo com o Cliente de Ambiente de Trabalho Remoto (RDP); por exemplo, a partir da estação de trabalho de acesso do operador (OAW).

    Nota

    O operador autentica com a mesma conta de administrador da cloud que executou Grant-RdpAccessToErcsVM.

  2. Uma vez ligado à VM ERCS através de RDP, inicie o PowerShell.

  3. Ligue-se à consola da máquina virtual do inquilino com o seguinte comando:

    ConnectTo-TenantVm -ResourceID
    
  4. O operador liga-se agora ao ecrã da consola da máquina virtual do inquilino à qual precisa de autenticar com as credenciais de cloudadmin novamente. O operador não tem credenciais para iniciar sessão no sistema operativo convidado.

    Nota

    No ecrã de início de sessão, premir as teclas Windows + U inicia o teclado no ecrã, o que permite enviar CTRL + ALT + Delete. Tem de estar no modo RDP de ecrã inteiro para utilizar a combinação de teclas Windows + U.

  5. O operador pode agora partilhar o ecrã com o inquilino para depurar quaisquer problemas que impeçam a ligação à VM através da rede.

  6. Quando terminar, o operador pode executar o seguinte comando para remover o consentimento do utilizador:

    Delete-TenantVMSession -ResourceID
    

    Nota

    O consentimento do utilizador expira automaticamente após 8 horas e revogará todo o acesso por parte do operador.