緊急 VM 存取 (EVA)

緊急 VM 存取服務 (EVA) 可讓使用者在從虛擬機鎖定該使用者的案例中要求協助,而重新部署作業無法協助透過網路復原存取。

注意

從 Azure Stack Hub 2301 開始正式運作時,已發行EVA。

此功能必須針對每個訂用帳戶啟用,操作員必須啟用遠端桌面存取,才能讓 cloudadmin 使用者存取緊急復原控制台 VM (ERCS) 。

使用者的第一個步驟是透過 PowerShell 要求 VM 主控台存取。 要求會提供同意,並允許具有其他資訊的操作員透過虛擬機器的主控台,來連接到虛擬機器。 控制台存取不相依於網路連線能力,並使用 Hypervisor 的數據通道。

如果已知認證,操作員只能向 VM 內執行的作業系統進行驗證。 屆時,操作員也可以與使用者共用畫面並解決問題,以還原網路連線能力。

重要

對於執行 Windows Server 的 VM,EVA 功能僅限於使用圖形使用者介面執行的電腦, (GUI) 。 針對 Windows Server,核心作業系統不支援螢幕鍵盤功能。 由於您無法將 Ctrl+Alt+Del 按鍵組合傳送為輸入,因此您無法登入核心伺服器,即使您可以連線至其主控台也仍無法登入。 如果您需要解決 Windows 核心作業系統的問題,請洽詢 Microsoft 支援服務,以透過解除鎖定的 PEP 提供主控台存取權。

操作員可針對 EVA 啟用使用者訂用帳戶

在此案例中,操作員可以決定哪個訂用帳戶應該能夠使用緊急 VM 存取功能。

首先,請執行下列 PowerShell 指令碼。 若要執行此指令碼,您必須安裝 Azure Stack Hub PowerShell。 遵循如何安裝 Azure Stack Hub PowerShell 的指導。 將變數預留位置取代為正確的值:

# 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

要求存取 VM 主控台的使用者

您可以使用者的身分,同意操作員為特定的 VM 建立主控台存取。

  1. 以使用者身分開啟 PowerShell、登入您的訂用帳戶,然後連線至 Azure Stack Hub,如此處所述

  2. 執行下列指令碼。 您必須取代訂用帳戶識別碼、資源群組和 VM 名稱,才能建構 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. 指令碼會傳回緊急復原主控台 (ERCS) 名稱 (由租用戶提供給操作員),以及 VMResourceID

操作員啟用 ERCS VM 的遠端桌面存取

Azure Stack Hub 操作員的下一個步驟是啟用緊急復原主控台 VM (ERCS) 的遠端桌面存取,該主控台會裝載具特殊權限的端點。

從您用來連線到 ERCS 的操作員工作站, (PEP) ,在具有特殊許可權的端點中執行下列命令。 命令會將工作站的IP新增至網路安全清單。 遵循如何連線至 PEP 的指導。 操作員可以是 cloudadmin 使用者群組的成員,也可以是 cloudadmin 本身:

Grant-RdpAccessToErcsVM

若要停用緊急復原主控台 VM (ERCS) 的遠端桌面存取,請在具特殊權限端點 (PEP) 中執行下列命令:

Revoke-RdpAccessToErcsVM

注意

系統會將租用戶使用者的存取要求指派給任何一個 ERCS VM。 若以操作員的身分,則您僅可以對從租用戶 ($enableVMAccessResponse 的輸出) 接收的 ERCS VM,建立 PEP 工作階段。

  1. 操作員會使用 ERCS 名稱,並使用遠端桌面用戶端 (RDP) 進行連線;例如從操作員存取工作站 (OAW) 進行連線。

    注意

    操作員會使用與執行 Grant-RdpAccessToErcsVM 相同的雲端系統管理員帳戶進行驗證。

  2. 透過 RDP 連線到 ERCS VM 之後,啟動 PowerShell。

  3. 使用下列命令,連線至租用戶虛擬機器的主控台:

    ConnectTo-TenantVm -ResourceID
    
  4. 操作員現在會連線到租用戶虛擬機器的主控台畫面,其需要再次使用 cloudadmin 認證來進行驗證。 操作員沒有用來登入客體操作系統的任何認證。

    注意

    在登入畫面中,按一下 Windows + U 鍵會啟動螢幕小鍵盤,該鍵盤允許傳送 CTRL + ALT + Delete。 您必須處於全螢幕的 RDP 模式,才能使用 Windows + U 按鍵組合。

  5. 操作員現在可以與租用戶共用螢幕以偵錯問題,避免無法透過網路來連線至 VM。

  6. 完成時,操作員可以執行下列命令以移除使用者同意:

    Delete-TenantVMSession -ResourceID
    

    注意

    使用者同意會在 8 小時後自動到期,並且會撤銷操作員的所有存取權。