Partilhar via


Acesso de emergência à VM (EVA)

O serviço de Acesso a 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 pela rede.

Nota

O EVA foi lançado com disponibilidade geral começando com o 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 para se conectar à 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ó pode 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 de rede.

Importante

Para VMs que executam o Windows Server, o recurso EVA é limitado a computadores que executam com uma interface gráfica do usuário (GUI). Para o Windows Server, o sistema operacional principal não oferece suporte à funcionalidade de teclado na tela. Como não é possível enviar a combinação de teclas Ctrl+Alt+Del como entrada, não é possível entrar em um servidor núcleo, mesmo que você possa se conectar ao 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 a partir de um PEP desbloqueado.

Operador permite 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 VM de emergência.

Primeiro, execute o seguinte script do PowerShell. Para executar esse script, você deve ter o Azure Stack Hub PowerShell instalado. Siga as orientações sobre como instalar o Azure Stack Hub PowerShell. Substitua os espaços reservados 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

Usuário para 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 nome do console de recuperação de emergência (ERCS), que o locatário fornece ao operador, juntamente com o VMResourceID.

Operador permite acesso remoto à área de trabalho para VMs ERCS

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

Execute os seguintes comandos no ponto de extremidade privilegiado (PEP) a partir 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 da rede. Siga as orientações sobre como se conectar ao PEP. O operador pode ser um membro do grupo de usuários cloudadmin ou o próprio cloudadmin:

Grant-RdpAccessToErcsVM

Para desativar o acesso da á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

Nota

Qualquer uma das VMs 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 Cliente de Área de Trabalho Remota (RDP); por exemplo, da estação de trabalho de acesso do operador (OAW).

    Nota

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

  2. Uma vez 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 na qual eles precisam se autenticar usando as credenciais cloudadmin novamente. O operador não tem credenciais para entrar no sistema operacional convidado.

    Nota

    No ecrã de início de sessão, premir as teclas Windows + U inicia o teclado no ecrã, que permite enviar CTRL + ALT + Delete. Você deve estar no modo RDP em 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 através da rede.

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

    Delete-TenantVMSession -ResourceID
    

    Nota

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