Azure シリアル コンソールを有効または無効にする

適用対象: ✔️ Linux VM ✔️ Windows VM

他のリソースと同様に、Azure シリアル コンソールを有効または無効にすることができます。 シリアル コンソールは、グローバル Azure のすべてのサブスクリプションで既定で有効になっています。 現時点では、シリアル コンソールを無効にすると、サブスクリプション全体でこのサービスが無効になります。 サブスクリプションのシリアル コンソールを無効にするか、再度有効にするには、サブスクリプションの共同作成者レベル以上のアクセス権が必要です。

ブート診断を無効にして、個々の VM または仮想マシン スケール セット インスタンスのシリアル コンソールを無効にすることもできます。 VM/仮想マシン スケール セットとブート診断ストレージ アカウントの両方で、共同作成者レベル以上のアクセス権が必要になります。

VM レベルの無効化

シリアル コンソールは、ブート診断設定を無効にすることによって、特定の VM または仮想マシン スケール セットに対して無効にできます。 VM または仮想マシン スケール セット用のシリアル コンソールを無効にするには、Azure portal からブート診断を無効にします。 仮想マシン スケール セットでシリアル コンソールを使用している場合は、仮想マシン スケール セットインスタンスを最新のモデルにアップグレードしてください。

サブスクリプション レベルの有効/無効

Note

このコマンドを実行する前に、適切なクラウド (Azure Public Cloud、Azure US Government Cloud など) に入っていることを確認します。 az cloud list で確認し、az cloud set -n <Name of cloud> でクラウドを設定できます。

Azure CLI

シリアル コンソールは、Azure CLI で次のコマンドを使用して、サブスクリプション全体で無効にして再び有効にすることができます ([試してみる] ボタンを使用して、コマンドを実行できる Azure Cloud Shell のインスタンスを起動できます)。

サブスクリプションのシリアル コンソールを無効にするには、次のコマンドを使用します。

$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"

サブスクリプションのシリアル コンソールを有効にするには、次のコマンドを使用します。

$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"

サブスクリプションのシリアル コンソールの現在の有効/無効状態を取得するには、次のコマンドを使用します。

$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

シリアル コンソールは、PowerShell を使用して有効または無効にすることもできます。

サブスクリプションのシリアル コンソールを無効にするには、次のコマンドを使用します。

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

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

サブスクリプションのシリアル コンソールを有効にするには、次のコマンドを使用します。

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

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

RBAC を使用したシリアル コンソールへの最小特権アクセスの有効化

シリアル コンソールへの最小限の特権アクセスを有効にするには、仮想マシン (シリアル コンソールにアクセスする必要がある仮想マシン) リソース グループまたは VM が存在するサブスクリプションに対する権限を持つ必要なアクセス許可を持つ Azure ロールを作成する必要があります。 この Azure ロールは、シリアル コンソールにアクセスする必要があるユーザーに割り当てることができます。

作成するロールには、次の 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"

次の表では、各 Azure アクションの動作について説明します。

Azure Action 説明
"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" シリアル ポートに接続する

次の JSON を使用して、サブスクリプション内の VM とサブスクリプション内のリソース グループ内の VM への最小限の特権アクセス権を持つカスタム ロールを定義できます。

リソース グループ内の VM へのアクセスのみを割り当てる場合は、以下の assignableScopes プロパティの最初の値 "/subscriptions/<subscriptionID>/"削除します。

サブスクリプション内の VM へのアクセス権を割り当てる場合は、以下の assignableScopes プロパティ "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>" 2 番目の値を削除します。

"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": []
        }
    ]
}

Azure portal を使用してシリアル コンソールへの最小限の特権アクセス用のカスタム ロールを作成する方法については、Azure portal を使用して Azure カスタム ロールを作成または更新する次のドキュメントを参照してください。

手順 1: 必要なアクセス許可を決定しますロールに必要なアクセス許可は、上記の Azure アクションです。

ステップ 5: 割り当て可能なスコープでは、ロールを持つユーザーのみが特定の VM のシリアル コンソールにアクセスできるようにする場合は、スコープを VM のリソース グループに設定します。 ユーザーがサブスクリプション内の任意の VM にシリアル コンソールアクセスできるようにする場合は、スコープをサブスクリプションに設定することもできます。

Azure portal を使用してロールを割り当てる方法については、Azure portal を使用して Azure ロールを割り当てる次のドキュメントを参照してください。

次のステップ

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。