Compartilhar via


Acesso à VM de emergência (EVA)

O serviço de Acesso de VM de Emergência (EVA) permite que um usuário solicite ajuda do operador em cenários em que esse usuário está bloqueado da máquina virtual e a operação de reimplantação não ajuda a recuperar o acesso por meio da rede.

Observação

O EVA foi lançado com disponibilidade geral a partir do Azure Stack Hub 2301.

Esse recurso deve ser habilitado por assinatura e o operador precisa habilitar o acesso à Área de Trabalho Remota para que o usuário cloudadmin acesse as VMs do console de recuperação de emergência (ERCS).

A primeira etapa para o usuário é solicitar acesso ao console da VM por meio do PowerShell. A solicitação fornece consentimento e permite que o operador com informações adicionais se conecte à máquina virtual por meio de seu console. O acesso ao console não depende da conectividade de rede e usa um canal de dados do hipervisor.

O operador só poderá se autenticar no sistema operacional em execução dentro da VM se as credenciais forem conhecidas. Nesse ponto, a operadora também pode compartilhar telas com o usuário e resolver o problema juntos para restaurar a conectividade da rede.

Importante

Para VMs que executam o Windows Server, o recurso EVA é limitado a computadores que executam uma interface gráfica do usuário (GUI). Para o Windows Server, o sistema operacional principal não dá suporte à funcionalidade de teclado na tela. Como você não pode enviar a combinação de teclas Ctrl+Alt+Del como entrada, não é possível entrar em um servidor núcleo, mesmo que possa se conectar ao seu console. Se você precisar resolver um problema com o sistema operacional principal do Windows, entre em contato com o suporte da Microsoft para fornecer acesso ao console de um PEP desbloqueado.

O operador habilita uma assinatura de usuário para EVA

Nesse cenário, o operador pode decidir qual assinatura deve ser capaz de usar o recurso de acesso de emergência à VM.

Primeiro, execute o script do PowerShell a seguir. Para executar esse script, você deve ter o PowerShell do Azure Stack Hub instalado. Siga as diretrizes sobre como instalar o PowerShell do Azure Stack Hub. Substitua os espaços reservados variáveis 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

O usuário solicitará acesso ao console da VM

Como usuário, você fornece consentimento ao operador para criar acesso ao console para uma VM específica.

  1. Como usuário, abra o PowerShell, entre em sua assinatura e conecte-se ao Azure Stack Hub conforme descrito aqui.

  2. Execute o seguinte script. Você deve substituir a ID da assinatura, 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 retorna o ERCS (nome do console de recuperação de emergência), que o locatário fornece ao operador, juntamente com o VMResourceID.

O operador permite o acesso remoto à área de trabalho para VMs ERCS

A próxima etapa para o operador do Azure Stack Hub é habilitar o acesso à Área de Trabalho Remota às VMs do Console de Recuperação de Emergência (ERCS), que hospedam os pontos de extremidade privilegiados.

Execute os comandos a seguir no ponto de extremidade privilegiado (PEP) da estação de trabalho do operador que você usa para se conectar ao ERCS. O comando adiciona o IP da estação de trabalho à lista segura de rede. Siga as orientações sobre como se conectar ao PEP. O operador pode ser membro do grupo de usuários cloudadmin ou do próprio cloudadmin:

Grant-RdpAccessToErcsVM

Para desabilitar o acesso à área de trabalho remota às VMs do Console de Recuperação de Emergência (ERCS), execute o seguinte comando no ponto de extremidade privilegiado (PEP):

Revoke-RdpAccessToErcsVM

Observação

Qualquer uma das VMs do ERCS receberá a solicitação de acesso do usuário locatário. Como operador, você pode criar uma sessão PEP somente para a VM ERCS recebida do locatário (a saída de $enableVMAccessResponse).

  1. O operador usa o nome ERCS e se conecta a ele usando o Remote Desktop Client (RDP); por exemplo, da estação de trabalho de acesso do operador (OAW).

    Observação

    O operador é autenticado usando a mesma conta de administrador de nuvem que executou Grant-RdpAccessToErcsVM.

  2. Depois de conectado à VM ERCS via RDP, inicie o PowerShell.

  3. Conecte-se ao console da máquina virtual do locatário usando o seguinte comando:

    ConnectTo-TenantVm -ResourceID
    
  4. O operador agora se conecta à tela do console da máquina virtual do locatário para a qual ele precisa se autenticar usando as credenciais cloudadmin novamente. O operador não tem credenciais para entrar no sistema operacional convidado.

    Observação

    Na tela de login, pressionar as teclas Windows + U inicia o teclado na tela, que permite enviar CTRL + ALT + Delete. Você deve estar no modo RDP de tela cheia para usar a combinação de teclas Windows + U.

  5. O operador agora pode compartilhar a tela com o locatário para depurar quaisquer problemas que impeçam a conexão com a VM por meio da rede.

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

    Delete-TenantVMSession -ResourceID
    

    Observação

    O consentimento do usuário expira automaticamente após 8 horas e revogará todo o acesso do operador.