Compartilhar via


Habilitar e desabilitar o Console Serial do Azure

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows

Assim como qualquer outro recurso, o Console Serial do Azure pode ser habilitado e desabilitado. O console serial é habilitado por padrão para todas as assinaturas no Azure global. Atualmente, desabilitar o console serial desabilitará o serviço para toda a sua assinatura. Desabilitar ou reabilitar o console serial para uma assinatura requer acesso de nível de colaborador ou superior na assinatura.

Você também pode desabilitar o console serial para uma VM individual ou instância de conjunto de escala de máquina virtual desabilitando o diagnóstico de inicialização. Você precisará de acesso de nível de colaborador ou superior no conjunto de dimensionamento de VM/máquina virtual e em sua conta de armazenamento de diagnóstico de inicialização.

Desativação no nível da VM

O console serial pode ser desabilitado para uma VM específica ou um conjunto de dimensionamento de máquina virtual desabilitando a configuração de diagnóstico de inicialização. Desative o diagnóstico de inicialização do portal do Azure para desabilitar o console serial para a VM ou o conjunto de dimensionamento de máquinas virtuais. Se você estiver usando o Console serial em um conjunto de dimensionamento de máquinas virtuais, certifique-se de atualizar as instâncias do conjunto de dimensionamento de máquinas virtuais para o modelo mais recente.

Ativar/desativar nível de assinatura

Observação

Verifique se você está na nuvem certa (Azure Public Cloud, Azure US Government Cloud e assim por diante) antes de executar este comando. Você pode verificar com az cloud list e definir sua nuvem comaz cloud set -n <Name of cloud>.

CLI do Azure

O console serial pode ser desabilitado e reabilitado para uma assinatura inteira usando os seguintes comandos na CLI do Azure (você pode usar o botão "Experimentar" para iniciar uma instância do Azure Cloud Shell na qual você pode executar os comandos):

Para desabilitar o Console serial para uma assinatura, use os seguintes comandos:

$subscriptionId=$(az account show --output=json | jq -r .id)

az resource invoke-action --action disableConsole --ids "/subscriptions/$subscriptionId/providers/Microsoft.SerialConsole/consoleServices/default" --api-version="2023-01-01"

Para habilitar o Console serial para uma assinatura, use os seguintes comandos:

$subscriptionId=$(az account show --output=json | jq -r .id)

az resource invoke-action --action enableConsole --ids "/subscriptions/$subscriptionId/providers/Microsoft.SerialConsole/consoleServices/default" --api-version="2023-01-01"

Para obter o status atual ativado/desativado do Console serial para uma assinatura, use os seguintes comandos:

$subscriptionId=$(az account show --output=json | jq -r .id)

az resource show --ids "/subscriptions/$subscriptionId/providers/Microsoft.SerialConsole/consoleServices/default" --output=json --api-version="2023-01-01" | jq .properties

PowerShell

O console serial também pode ser ativado e desativado usando o PowerShell.

Para desabilitar o Console serial para uma assinatura, use os seguintes comandos:

$subscription=(Get-AzContext).Subscription.Id

Invoke-AzResourceAction -Action disableConsole -ResourceId /subscriptions/$subscription/providers/Microsoft.SerialConsole/consoleServices/default -ApiVersion 2023-01-01

Para habilitar o Console serial para uma assinatura, use os seguintes comandos:

$subscription=(Get-AzContext).Subscription.Id

Invoke-AzResourceAction -Action enableConsole -ResourceId /subscriptions/$subscription/providers/Microsoft.SerialConsole/consoleServices/default -ApiVersion 2023-01-01

Ativando acesso com privilégios mínimos ao console serial usando RBAC

Para habilitar o acesso com privilégios mínimos ao console serial, você precisa criar uma função do Azure com as permissões necessárias que tenham direitos para o grupo de recursos da máquina virtual (a máquina virtual na qual você precisa acessar o console serial) ou a assinatura em que a VM está. Você pode atribuir essa função do Azure a usuários que precisam acessar o console serial.

A função que você criar precisará das seguintes permissões do Azure Actions:

"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.SerialConsole/serialPorts/connect/action"

A tabela abaixo explica o que cada ação do Azure faz:

Ação do Azure Descrição
"Microsoft.Compute/virtualMachines/start/action" Inicia a máquina virtual
"Microsoft.Compute/virtualMachines/read" Obter as propriedades de uma máquina virtual
"Microsoft.Compute/virtualMachines/write" Cria uma nova máquina virtual ou atualiza uma máquina virtual existente
"Microsoft.Resources/subscriptions/resourceGroups/read Obter ou listar de grupos de recursos
"Microsoft.Storage/storageAccounts/listKeys/action" Retorna as chaves de acesso para a conta de armazenamento especificada
"Microsoft.Storage/storageAccounts/read" Retorna a lista de contas de armazenamento ou obtém as propriedades da conta de armazenamento especificada
"Microsoft.SerialConsole/serialPorts/connect/action" Conectar a uma porta serial

O JSON abaixo pode ser usado para definir uma função personalizada com acesso de privilégio mínimo a VMs em uma assinatura e VMs em um grupo de recursos em uma assinatura.

Se você quiser atribuir acesso apenas a VMs em um grupo de recursos, exclua o primeiro valor "/subscriptions/<subscriptionID>/" na propriedadeassignableScopes abaixo.

Se você quiser atribuir acesso a VMs em uma assinatura, exclua o segundo valor "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>" na propriedadeassignableScopes abaixo.

"properties": {
    "roleName": "Azure Serial Console Access Role",
    "description": "Serial Console access with least privilege.",
    "assignableScopes": [
        "/subscriptions/<subscriptionID>/"
        "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>"
    ],
    "permissions": [
        {
            "actions": [
                "Microsoft.Compute/virtualMachines/start/action",
                "Microsoft.Compute/virtualMachines/read",
                "Microsoft.Compute/virtualMachines/write",
                "Microsoft.Resources/subscriptions/resourceGroups/read",
                "Microsoft.Storage/storageAccounts/listKeys/action",
                "Microsoft.Storage/storageAccounts/read",
                "Microsoft.SerialConsole/serialPorts/connect/action"
            ],
            "notActions": [],
            "dataActions": [],
            "notDataActions": []
        }
    ]
}

Para obter instruções sobre como usar o portal do Azure para criar uma função personalizada para acesso com privilégios mínimos ao console serial, leia a seguinte documentação Criar ou atualizar funções personalizadas do Azure usando o portal do Azure.

Para Etapa 1: determinar as permissões necessárias, as permissões necessárias para a função são as ações do Azure mostradas acima.

Para Etapa 5: escopos atribuíveis, defina o escopo como o grupo de recursos da VM se desejar apenas que o usuário com a função tenha acesso a um console serial específico da VM. Você também pode definir o escopo como a assinatura se quiser que o usuário tenha acesso ao console serial a qualquer VM na assinatura.

Para obter instruções sobre como usar o portal do Azure para atribuir funções, leia a seguinte documentação Atribuir funções do Azure usando o portal do Azure.

Próximas etapas

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.