パスワードレスを含む Microsoft Entra ID を使用して Azure の Windows 仮想マシンにサインインする

組織は、AMicrosoft Entra 認証との統合により、Azure の Windows 仮想マシン (VM) のセキュリティを向上させることができます。 Microsoft Entra ID をコア認証プラットフォームとして使用して、Windows Server 2019 Datacenter Edition 以降または Windows 10 1809 以降に RDP (リモート デスクトップ プロトコル) 接続できるようになりました。 これにより、VM へのアクセスを許可または拒否する Azure ロールベースのアクセス制御 (RBAC) および条件付きアクセス ポリシーを一元的に制御して適用できます。

この記事では、Windows VM を作成して構成し、Microsoft Entra ID ベースの認証を使用してログインする方法について説明します。

Microsoft Entra ID ベースの認証を使用して、Azure 内の Windows VM にサインインすると、数多くのセキュリティ上のメリットがあります。 具体的な内容を次に示します。

  • パスワードレスを含む Microsoft Entra 認証を使用して、Azure の Windows VM にサインインします。

  • ローカル管理者アカウントへの依存度を下げる。

  • Microsoft Entra ID 用に構成するパスワードの複雑性とパスワードの有効期間ポリシーも、Windows VM のセキュリティ保護に役立ちます。

  • Azure RBAC を使用すると:

    • 通常のユーザーとして、または管理者権限を使用して、VM にサインインできるユーザーを指定します。
    • ユーザーがチームに参加またはチームから脱退する場合は、適切なアクセス権が付与されるよう VM の Azure RBAC ポリシーを更新できます。
    • 従業員が退職し、そのユーザー アカウントが無効化または Microsoft Entra ID から削除されると、リソースにアクセスできなくなります。
  • Windows VM に RDP 接続する前に、認証強度が必要 (プレビュー) の許可の制御、または多要素認証の要求を使用して "フィッシング防止 MFA" に対する条件付きアクセ スポリシーと、その他のシグナル (ユーザー サインイン リスクなど) を構成します。

  • Azure Policy を使用して、Windows VM に Microsoft Entra ログインを要求するポリシーをデプロイおよび監査し、VM で未承認のローカル アカウントの使用にフラグを設定します。

  • Intune を使用して、仮想デスクトップ インフラストラクチャ (VDI) デプロイの構成要素になっている Azure Windows VM のモバイル デバイス管理 (MDM) 自動登録について Microsoft Entra 参加の自動化とスケーリングを行います。

    MDM 自動登録には、Microsoft Entra ID P1 ライセンスが必要です。 Windows Server VM は MDM 登録をサポートしていません。

Note

この機能を有効にすると、Azure の Windows VM が Microsoft Entra 参加済みになります。 オンプレミスの Active Directoryや Microsoft Entra Domain Services など、別のドメインに参加させることはできません。 必要な場合は、拡張機能をアンインストールして、Microsoft Entra ID から VM を切断します。

必要条件

サポートされる Azure リージョンと Windows ディストリビューション

この機能では現在、次の Windows ディストリビューションがサポートされています。

  • Windows Server 2019 Datacenter 以降
  • Windows 10 1809 以降
  • Windows 11 21H2 以降

この機能は、次の Azure クラウドで使用できるようになりました。

  • Azure Global
  • Azure Government
  • 21Vianet が運用する Microsoft Azure

ネットワークの要件

Azure 内の Windows VM に対して Microsoft Entra 認証を有効にするには、VM のネットワーク構成で、TCP ポート 443 を経由した次のエンドポイントへの発信アクセスが許可されていることを確認する必要があります。

Azure グローバル:

  • https://enterpriseregistration.windows.net: デバイス登録用。
  • http://169.254.169.254: Azure Instance Metadata Service エンドポイント。
  • https://login.microsoftonline.com: 認証フロー用。
  • https://pas.windows.net: Azure RBAC フロー用。

Azure Government:

  • https://enterpriseregistration.microsoftonline.us: デバイス登録用。
  • http://169.254.169.254: Azure Instance Metadata Service エンドポイント。
  • https://login.microsoftonline.us: 認証フロー用。
  • https://pasff.usgovcloudapi.net: Azure RBAC フロー用。

21Vianet によって運営される Microsoft Azure:

  • https://enterpriseregistration.partner.microsoftonline.cn: デバイス登録用。
  • http://169.254.169.254: Azure Instance Metadata Service エンドポイント。
  • https://login.chinacloudapi.cn: 認証フロー用。
  • https://pas.chinacloudapi.cn: Azure RBAC フロー用。

認証の要件

Microsoft Entra Guest アカウントは、Microsoft Entra 認証を介して Azure VM または Azure Bastion 対応 VM に接続できません。

Azure で Windows VM に対して Microsoft Entra ログインを有効にする

Azure で Windows VM に対して Microsoft Entra ログインを使用するには、次のことを行う必要があります。

  1. VM で Microsoft Entra ログイン オプションを有効化します。
  2. VM へのサインインが許可されているユーザーに対して Azure ロールの割り当てを構成します。

Windows VM に対して Microsoft Entra ログインを有効にするには、次の 2 つの方法があります。

  • Azure portal (Windows VM の作成時)。
  • Azure Cloud Shell (Windows VM の作成時、または既存の Windows VM の使用時)

Note

拡張機能がインストールされている VM のホスト名と同じ displayMame を持つデバイス オブジェクトが存在する場合、その VM はホスト名の重複エラーが発生するため、Microsoft Entra ID への参加に失敗します。 重複を回避するためにホスト名を変更してください。

Azure Portal

Windows Server 2019 Datacenter または Windows 10 1809 以降の VM イメージに対して Microsoft Entra ログインを有効にすることができます。

Microsoft Entra ログインを使用して、Azure で Windows Server 2019 Datacenter VM を作成するには、次の手順を行います。

  1. VM を作成するためのアクセス権を持つアカウントを使用して Azure portal にサインインし、[+ リソースの作成] を選びます。

  2. [マーケットプレースを検索] 検索バーに「Windows Server」と入力します。

  3. [Windows Server] を選び、次に [ソフトウェア プランの選択] ドロップダウン リストから [Windows Server 2019 Datacenter] を選びます。

  4. [作成] を選択します。

  5. [管理] タブで、[Microsoft Entra ID] セクションの [Microsoft Entra ID でログイン] チェック ボックスをオンにします。

    仮想マシンを作成するための Azure portal ページの [管理] タブを示すスクリーンショット。

  6. [ID] セクションの [システム割り当てマネージド ID] が選択されていることを確認します。 Microsoft Entra ID を使用したログインを有効にすると、この操作は自動的に行われます。

  7. 仮想マシンの作成エクスペリエンスの残りの部分に移動します。 VM の管理者ユーザー名とパスワードを作成する必要があります。

Note

Microsoft Entra 資格情報を使用して VM にサインインするには、最初に VM のロールの割り当てを構成する必要があります。

Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 Cloud Shell には一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。 [コピー] ボタンを選択してコードをコピーし、Cloud Shell に貼り付けて Enter キーを押すだけで、コードを実行することができます。 Cloud Shell は、次のようにいくつかの方法で開くことができます。

  • コード ブロックの右上隅にある [使ってみる] を選択します。
  • ブラウザーで Cloud Shell を開きます。
  • Azure portal の右上隅にあるメニューの [Cloud Shell] ボタンを選択します。

この記事では、Azure CLI バージョン 2.0.31 以降を実行する必要があります。 バージョンを確認するには、az --version を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関する記事を参照してください。

  1. az group create を実行してリソース グループを作成します。
  2. az vm create を実行して VM を作成します。 サポート対象リージョンでサポートされているディストリビューションを使用します。
  3. Microsoft Entra ログイン VM 拡張機能をインストールします。

次の例では、myVM という名前のVM (Win2019Datacenter を使用) を、southcentralus リージョンの myResourceGroup という名前のリソース グループにデプロイします。 これと次の例では、必要に応じて、独自のリソース グループと VM の名前を指定できます。

az group create --name myResourceGroup --location southcentralus

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Win2019Datacenter \
    --assign-identity \
    --admin-username azureuser \
    --admin-password yourpassword

Note

Microsoft Entra ログイン VM 拡張機能をインストールするには、事前に仮想マシンでシステム割り当てマネージド ID を有効にする必要があります。 マネージド ID は単一の Microsoft Entra テナントに保存され、現在、クロス ディレクトリ シナリオはサポートされていません。

VM とサポートするリソースを作成するには数分かかります。

最後に、Microsoft Entra ログイン VM 拡張機能をインストールし、Windows VM に対して Microsoft Entra ログインを有効にします。 VM 拡張機能は、Azure Virtual Machines でのデプロイ後の構成と自動タスクを提供する小さなアプリケーションです。 az vm extension セットを使用して、myResourceGroup リソース グループの myVM という名前の VM に AADLoginForWindows 拡張機能をインストールします。

既存の Windows Server 2019 または Windows 10 1809 以降の VM に AADLoginForWindows 拡張機能をインストールし、これを Microsoft Entra 認証用に有効にすることができます。 次の例では、Azure CLI を使用して拡張機能をインストールします。

az vm extension set \
    --publisher Microsoft.Azure.ActiveDirectory \
    --name AADLoginForWindows \
    --resource-group myResourceGroup \
    --vm-name myVM

拡張機能が VM にインストールされたら、provisioningStateSucceeded を示します。

仮想マシン ロールの割り当てを構成する

VM を作成したので、VM にサインインできるユーザーを決定するため、次のいずれかの Azure ロールを割り当てる必要があります。 これらのロールを割り当てるには、仮想マシン データ アクセス管理者ロールか、Microsoft.Authorization/roleAssignments/write アクションが含まれるロール (ロールベース アクセス制御管理者ロールなど) が必要です。 ただし、仮想マシン データ アクセス管理者以外のロールを使用している場合、ロールの割り当てを作成するアクセス許可を減らす条件を追加することをお勧めします。

  • 仮想マシンの管理者ログイン: このロールを割り当てられたユーザーは、管理者特権を持つユーザーとして Azure 仮想マシンにサインインできます。
  • 仮想マシンのユーザー ログイン: このロールが割り当てられたユーザーは、正規ユーザーの特権を持つユーザーとして Azure 仮想マシンにサインインできます。

ユーザーが RDP 経由で VM にサインインできるようにするには、仮想マシンの管理者ログインまたは仮想マシンのユーザー ログインのロールを仮想マシン リソースに割り当てる必要があります。

Note

ローカル管理者グループのメンバーにユーザーを追加したり、net localgroup administrators /add "AzureAD\UserUpn" コマンドを実行したりして、ユーザーを手動で VM のローカル管理者に昇格させることはサポートされていません。 VM ログインを認可するには、上記の Azure ロールを使用する必要があります。

Azure ユーザーに VM の所有者ロールまたは共同作成者ロールが割り当てられていても、RDP 経由で VM にサインインする権限は自動的には付与されません。 その理由は、仮想マシンを管理するユーザーと仮想マシンにアクセスできるユーザーを監査上分離するためです。

VM のロールの割り当てを構成するには、次の 2 つの方法があります。

  • Microsoft Entra 管理センター エクスペリエンス
  • Azure Cloud Shell エクスペリエンス

注意

仮想マシンの管理者ログインと仮想マシンのユーザー ログインのロールは、dataActions を使用しているため、管理グループのスコープで割り当てることはできません。 現時点では、これらのロールは、サブスクリプション、リソース グループまたはリソース スコープでのみ割り当てることができます。

Microsoft Entra 管理センター

Microsoft Entra ID を有効にした Windows Server 2019 Datacenter VM のロールの割り当てを構成するには、次の操作を行います。

  1. [リソース グループ] で、VM とそれに関連付けられている仮想ネットワーク、ネットワーク インターフェイス、パブリック IP アドレス、またはロード バランサー リソースを含むリソース グループを選びます。

  2. [アクセス制御 (IAM)] を選択します。

  3. [追加]>[ロールの割り当ての追加] を選択して、[ロールの割り当ての追加] ページを開きます。

  4. 次のロールを割り当てます。 詳細な手順については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

    設定
    Role [仮想マシンの管理者ログイン] または [仮想マシンのユーザー ログイン]
    アクセスの割り当て先 ユーザー、グループ、サービス プリンシパル、またはマネージド ID

    ロールの割り当てを追加するためのページを示すスクリーンショット。

Azure Cloud Shell

次の例では、az role assignment create を使用し、現在の Azure ユーザーに対して、VM に対する仮想マシンの管理者ログイン ロールを割り当てます。 現在の Azure アカウントのユーザー名を az account show で取得し、スコープは、az vm show を使用して、前の手順で作成した VM に設定します。

リソース グループまたはサブスクリプション レベルでスコープを割り当てることもできます。 Azure RBAC における通常の継承アクセス許可が適用されます。

$username=$(az account show --query user.name --output tsv)
$rg=$(az group show --resource-group myResourceGroup --query id -o tsv)

az role assignment create \
    --role "Virtual Machine Administrator Login" \
    --assignee $username \
    --scope $rg

Note

Microsoft Entra ドメインとログイン ユーザー名ドメインが一致しない場合は、--assignee のユーザー名だけでなく、--assignee-object-id を使用してユーザー アカウントのオブジェクト ID を指定する必要があります。 ユーザー アカウントのオブジェクト ID は、az ad user list を使用して取得できます。

Azure RBAC を使用して、Azure サブスクリプション リソースへのアクセスを管理する方法の詳細については、次の記事を参照してください。

Microsoft Entra 資格情報を使用して Windows VM にログインする

RDP 経由のサインインには、以下の 2 つの方法があります。

  1. パスワードレス (サポートされている Microsoft Entra 資格情報のいずれかを使用) (推奨)
  2. パスワード/制限付きパスワードレス (証明書信頼モデルを使用してデプロイされた Windows Hello for Business を使用)

Microsoft Entra ID によるパスワードレス認証を使用してログインする

Azure の Windows VM にパスワードレス認証を使用するには、次のオペレーティング システム上に Windows クライアント マシンとセッション ホスト (VM) が必要です。

重要

Windows クライアント マシンは、Microsoft Entra に登録されているか、VM と同じディレクトリに Microsoft Entra に参加しているか、Microsoft Entra ハイブリッドに参加している必要があります。 さらに、Microsoft Entra 資格情報を使用して RDP 接続するには、ユーザーは 2 つの Azure ロールのいずれか (仮想マシンの管理者ログイン、または仮想マシンのユーザー ログイン) に属している必要があります。 この要件は、パスワードレス サインインには存在しません。

リモート コンピュータに接続するには:

  • Windows Search から、または を実行して、リモート デスクトップ接続mstsc.exeを起動します。
  • [詳細設定] タブの [Web アカウントを使用してリモート コンピューターにサインインする] オプションを選択します。このオプションは enablerdsaadauth RDP プロパティに相当します。 詳細については、「リモート デスクトップ サービスでサポートされる RDP プロパティ」を参照してください。
  • リモート コンピューターの名前を指定し、[接続] を選択します。

Note

[Web アカウントを使用してリモート コンピューターにサインインする] オプションを使用する場合、IP アドレスは使用できません。 この名前は、Microsoft Entra ID のリモート デバイスのホスト名と一致し、ネットワーク アドレス可能で、リモート デバイスの IP アドレスに解決される必要があります。

  • 資格情報の入力を求められたら、ユーザー名を user@domain.com 形式で指定します。
  • その後、新しい PC に接続する際に、リモート デスクトップ接続を許可するように求められます。 Microsoft Entra では、このプロンプトが再び表示されるまでの 30 日間にわたって、最大 15 個のホストが記憶されます。 このダイアログが表示された場合は、[はい] を選択して接続します。

重要

組織が Microsoft Entra 条件付きアクセスを構成して使用している場合、リモート コンピューターへの接続を許可するには、デバイスが条件付きアクセスの要件を満たしている必要があります。 条件付きアクセス ポリシーは、アクセスを制御するためにアプリケーション Microsoft リモート デスクトップ (a4a365df-50f1-4397-bc59-1a1564b8bb9c) に適用できます。

Note

リモート セッションの Windows ロック画面では、Microsoft Entra 認証トークンや、FIDO キーなどのパスワードレス認証方法はサポートされていません。 これらの認証方法がサポートされていないということは、ユーザーがリモート セッションで画面のロックを解除できないことを意味します。 ユーザー アクションまたはシステム ポリシーを使用してリモート セッションをロックしようとすると、セッションは切断され、サービスからユーザーに対して、切断されたことを説明するメッセージが送信されます。 セッションを切断すると、一定期間操作がない後に接続が再開されたときに、適用される条件付きアクセス ポリシーが Microsoft Entra ID によって確実に再評価されるようにすることができます。

Microsoft Entra ID を使用したパスワード/制限付きパスワードレス認証を使用してログインする

重要

Microsoft Entra 参加済みの VM にリモート接続できるのは、VM として "同じ" ディレクトリに Microsoft Entra 登録済み (最低限必要なビルドは 20H1)、Microsoft Entra 参加済み、または Microsoft Entra ハイブリッド参加済みの Windows 10 以降の PC からのみです。 さらに、Microsoft Entra 資格情報を使用して RDP 接続するには、ユーザーは 2 つの Azure ロールのいずれか (仮想マシンの管理者ログイン、または仮想マシンのユーザー ログイン) に属している必要があります。

Microsoft Entra 登録済みの Windows 10 以降の PC を使用している場合は、資格情報を AzureAD\UPN の形式で入力する必要があります (例: AzureAD\john@contoso.com)。 現在は、Azure Bastion を使用して、Azure CLI やネイティブ RDP クライアント mstsc を介して Microsoft Entra 認証でのログインができます。

Microsoft Entra ID を使用して Windows Server 2019 仮想マシンにサインインするには、次の操作を行います。

  1. Microsoft Entra ログインが有効になっている仮想マシンの [概要] ページに移動します。
  2. [接続] を選び、[仮想マシンに接続する] ペインを開きます。
  3. [RDP ファイルのダウンロード] を選択します。
  4. [開く] を選び、リモート デスクトップ接続クライアントを開きます。
  5. [接続] を選び、Windows ログイン ダイアログを開きます。
  6. Microsoft Entra 資格情報を使用してログインします。

以上で、割り当てられたロール (VM ユーザーまたは VM 管理者など) のアクセス許可を持つユーザーとして、Windows Server 2019 Azure 仮想マシンにサインインしました。

Note

.RDP ファイルは、お使いのコンピューターにローカルで保存できます。これにより、後で仮想マシンへのリモート デスクトップ接続を開始する際に、Azure portal で仮想マシンの [概要] ページに移動して、接続オプションを使用する必要がなくなります。

条件付きアクセス ポリシーを適用する

Microsoft Entra ログインにより有効になる Azure 内の Windows VM へのアクセスを承認する前に、認証強度の要求 (プレビュー) 許可コントロールや多要素認証を使用した "フィッシング防止 MFA" やユーザー サインイン リスク チェックなどの条件付きアクセス ポリシーを適用できます。 条件付きアクセス ポリシーを適用するには、クラウド アプリまたはアクションの割り当てオプションから Microsoft Azure Windows 仮想マシン サインイン アプリを選びます。 その後、条件としてサインイン リスクを使用するか、アクセスを許可するためのコントロールとして、認証強度の要求 (プレビュー) 許可コントロールまたは MFA の要求を使用して "フィッシング防止 MFA" を使用します。

Note

Microsoft Azure Windows 仮想マシン サインイン アプリへのアクセスを許可するためのコントロールとして MFA が必要な場合は、Azure のターゲット Windows VM への RDP セッションを開始するクライアントの一部として MFA 要求を提供する必要があります。 これは、条件付きアクセス ポリシーを満たす RDP のパスワードレス認証方法を使用して実現できますが、RDP に限られたパスワードレス方式を使用している場合、Windows 10 以降のクライアントでこれを実現する唯一の方法は、RDP クライアントで Windows Hello for Business PIN または生体認証を使用することです。 生体認証のサポートは、Windows 10 バージョン 1809 で RDP クライアントに追加されています。 Windows Hello for Business 認証を使用するリモート デスクトップは、証明書信頼モデルを使用するデプロイでのみ利用できます。 現在、キー信頼モデルでは利用できません。

Azure Policy を使用して、標準および評価コンプライアンスを満たす

Azure Policy を使用して次のことを行います。

  • 新規および既存の Windows 仮想マシンに対して Microsoft Entra ログインが確実に有効になるようにする。
  • コンプライアンス ダッシュボードで環境のコンプライアンスを大規模に評価する。

この機能により、さまざまなレベルの適用を使用できます。 Microsoft Entra ログインが有効になっていない環境内の新規および既存の Windows VM にフラグを設定できます。 Azure Policy を使用して、Microsoft Entra ログインが有効になっていない新しい Windows VM に Microsoft Entra 拡張機能をデプロイしたり、既存の Windows VM を同じ標準に修復したりすることもできます。

これらの機能に加え、Azure Policy を使用して、承認されていないローカル アカウントが作成されている Windows VM を検出してフラグを設定することもできます。 詳細については、Azure Policy に関するページを確認してください。

デプロイの問題に関するトラブルシューティング

VM が Microsoft Entra 参加プロセスを完了するには、AADLoginForWindows 拡張機能が正常にインストールされている必要があります。 VM 拡張機能を正常にインストールできない場合は、次の手順を行います。

  1. ローカル管理者アカウントを使用して VM に RDP 接続し、C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.ActiveDirectory.AADLoginForWindows\1.0.0.1 の下にある CommandExecution.log ファイルを調べます。

    注意

    最初の失敗後に拡張機能を再起動すると、デプロイ エラーを含むログが、CommandExecution_YYYYMMDDHHMMSSSSS.log として保存されます。

  2. VM で PowerShell ウィンドウを開きます。 Azure ホストで実行されている Azure Instance Metadata Service エンドポイントに対する次のクエリで、想定される出力が返されることを確認します。

    実行するコマンド 想定される出力
    curl.exe -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2017-08-01" Azure VM に関する正しい情報
    curl.exe -H Metadata:true "http://169.254.169.254/metadata/identity/info?api-version=2018-02-01" Azure サブスクリプションに関連付けられている有効なテナント ID
    curl.exe -H Metadata:true "http://169.254.169.254/metadata/identity/oauth2/token?resource=urn:ms-drs:enterpriseregistration.windows.net&api-version=2018-02-01" Microsoft Entra ID によって発行された、この VM に割り当てられているマネージド ID の有効なアクセス トークン

    Note

    アクセス トークンは、https://jwt.ms/ などのツールを使用してデコードできます。 アクセス トークンの oid 値と VM に割り当てられたマネージド ID が一致していることを確認します。

  3. PowerShell を使用して、必要なエンドポイントが VM からアクセスできることを確認します。

    • curl.exe https://login.microsoftonline.com/ -D -
    • curl.exe https://login.microsoftonline.com/<TenantID>/ -D -
    • curl.exe https://enterpriseregistration.windows.net/ -D -
    • curl.exe https://device.login.microsoftonline.com/ -D -
    • curl.exe https://pas.windows.net/ -D -

    Note

    <TenantID> を、Azure サブスクリプションに関連付けられている Microsoft Entra テナント ID に置き換えます。 login.microsoftonline.com/<TenantID>enterpriseregistration.windows.netpas.windows.net から "404 見つかりません" が返されますが、これは想定されている動作です。

  4. dsregcmd /status を実行してデバイスの状態を表示します。 目標は、デバイスの状態で AzureAdJoined : YES と表示されることです。

    Note

    Microsoft Entra 参加アクティビティは、Event Viewer (local)\Applications および Services Logs\Microsoft\Windows\User Device Registration\Admin の下の User Device Registration\Admin ログの下のイベント ビューアーでキャプチャされます。

AADLoginForWindows 拡張機能がエラー コードで失敗した場合、次の手順を行うことができます。

ターミナル エラー コード 1007 と終了コード -2145648574。

ターミナル エラー コード 1007 と終了コード -2145648574 は DSREG_E_MSI_TENANTID_UNAVAILABLE に変換されます。 この拡張機能は、Microsoft Entra テナント情報に対してクエリを実行できません。

ローカル管理者として VM に接続し、エンドポイントが Azure Instance Metadata Service から有効なテナント ID を返すことを確認します。 VM の管理者特権 PowerShell ウィンドウで次のコマンドを実行します。

curl -H Metadata:true http://169.254.169.254/metadata/identity/info?api-version=2018-02-01

この問題は、VM 管理者が AADLoginForWindows 拡張機能のインストールを試みたものの、あらかじめシステム割り当てマネージド ID で VM が有効にされていない場合にも発生します。 その場合は、VM の [ID] ウィンドウに移動します。 [システム割り当て済み] タブで、[状態] トグルが [オン] に設定されていることを確認します。

終了コード -2145648607

終了コード -2145648607 は DSREG_AUTOJOIN_DISC_FAILED に変換されます。 拡張機能は https://enterpriseregistration.windows.net エンドポイントに到達できません。

  1. PowerShell を使用して、必要なエンドポイントが VM からアクセスできることを確認します。

    • curl https://login.microsoftonline.com/ -D -
    • curl https://login.microsoftonline.com/<TenantID>/ -D -
    • curl https://enterpriseregistration.windows.net/ -D -
    • curl https://device.login.microsoftonline.com/ -D -
    • curl https://pas.windows.net/ -D -

    Note

    <TenantID> を、Azure サブスクリプションに関連付けられている Microsoft Entra テナント ID に置き換えます。 テナント ID を検索する必要がある場合、アカウント名にマウス カーソルを合わせるか、[ID][概要][プロパティ][テナント ID] の順に選択します。

    enterpriseregistration.windows.net に接続しようとすると、404 Not Found が返される場合があります。これは想定されている動作です。 pas.windows.net に接続しようとすると、PIN 資格情報の入力を求められたり、404 Not Found が返されたりする場合があります。 (PIN を入力する必要はありません)。URL に到達可能であることを確認するには、いずれか 1 つで十分です。

  2. いずれかのコマンドが "ホスト <URL> を解決できませんでした" で失敗した場合、このコマンドを実行して、VM で使用されている DNS サーバーを特定してみてください。

    nslookup <URL>

    Note

    <URL> を、エンドポイントで使用される完全修飾ドメイン名 (login.microsoftonline.com など) に置き換えます。

  3. パブリック DNS サーバーを指定してコマンドを正常に実行できるかどうかを確認します。

    nslookup <URL> 208.67.222.222

  4. 必要に応じて、Azure VM が属するネットワーク セキュリティ グループに割り当てられている DNS サーバーを変更します。

終了コード 51

終了コード 51 は、"VM のオペレーティング システムでは、この拡張機能はサポートされていません" に変換されます。

AADLoginForWindows 拡張機能は、Windows Server 2019 または Windows 10 (ビルド 1809 以降) にのみインストールすることを意図しています。 Windows のバージョンまたはビルドがサポートされていることを確認します。 サポートされていない場合は、拡張機能をアンインストールします。

サインインに関する問題のトラブルシューティング

次の情報を使用して、サインインの問題を修正してください。

dsregcmd /status を実行すると、デバイスとシングル サインオン (SSO) の状態を表示できます。 目標は、デバイスの状態が AzureAdJoined : YES として表示され、SSO の状態が AzureAdPrt : YES と表示されることです。

Microsoft Entra アカウントによる RDP サインインは、イベント ビューアーで Applications and Services Logs\Windows\AAD\Operational イベント ログに取り込まれます。

Azure ロールが割り当てられていない

VM へのリモート デスクトップ接続を開始すると、次のエラー メッセージが表示されることがあります。"このデバイスを使用できないようにアカウントが構成されています。 詳細については、システム管理者にお問い合わせください。"

VM に対して、仮想マシンの管理者ログインまたは仮想マシンのユーザー ログインのどちらかのロールをユーザーに付与する Azure RBAC ポリシーが構成されていることを確認してください。

注意

Azure のロールの割り当てに関する問題が発生した場合は、「Azure RBAC のトラブルシューティング」を参照してください。

承認されていないクライアントまたはパスワードの変更が必要

VM へのリモート デスクトップ接続を開始すると、"資格情報が機能しませんでした" というエラー メッセージが表示されることがあります。

次の解決策をお試しください。

  • リモート デスクトップ接続を開始するために使用している Windows 10 以降の PC は、同じ Microsoft Entra ディレクトリに Microsoft Entra 参加済み、または Microsoft Entra ハイブリッド参加済みである必要があります。 デバイス ID の詳細については、「デバイス ID とは」の記事を参照してください。

    Note

    VM への RDP 接続を開始するため、Windows 10 ビルド 20H1 に Microsoft Entra 登録済み PC のサポートが追加されました。 Microsoft Entra 登録済み (Microsoft Entra 参加済みまたは Microsoft Entra ハイブリッド参加済みではない) PC を RDP クライアントとして使用して VM への接続を開始する場合は、AzureAD\UPN の形式で資格情報を入力する必要があります (例: AzureAD\john@contoso.com)。

    Microsoft Entra への参加が完了した後に AADLoginForWindows 拡張機能がアンインストールされていないことを確認します。

    また、サーバーとクライアントの "両方" で、セキュリティ ポリシー ネットワーク セキュリティ: このコンピューターに対する PKU2U 認証要求でオンライン ID を使用することを許可する が有効になっていることを確認します。

  • ユーザーが使用しているパスワードが一時パスワードではないことを確認してください。 一時パスワードを使用して、リモート デスクトップ接続にサインインすることはできません。

    Web ブラウザーでユーザー アカウントを使用してサインインします。 たとえば、プライベート ブラウズ ウィンドウで Azure portal にサインインします。 パスワードの変更を求めるメッセージが表示されたら、新しいパスワードを設定します。 その後、接続を再試行してください。

MFA サインイン方法が必要

VM へのリモート デスクトップ接続を開始すると、次のエラー メッセージが表示されることがあります。"使用しようとしているサインイン方法は許可されていません。 別のサインイン方法を試すか、システム管理者に問い合わせてください。"

リソースにアクセスする前に MFA または従来のユーザー単位で有効化/適用された Microsoft Entra 多要素認証を求める条件付きアクセス ポリシーを構成している場合、VM へのリモート デスクトップ接続を開始する Windows 10 以降の PC が、Windows Hello などの強力な認証方法を使用して確実にサインインするようにする必要があります。 リモート デスクトップ接続に強力な認証方法を使用していない場合は、このエラーが表示されます。

もう 1 つの MFA 関連のエラー メッセージは、前に説明した "資格情報が機能しませんでした" というものです。

従来のユーザー単位で有効化/適用された Microsoft Entra 多要素認証設定を構成していて、上記のエラーが表示される場合は、ユーザー単位の MFA 設定を削除することで問題を解決できます。 詳細については、「ユーザーごとのMicrosoft Entra 多要素認証イベントを有効にしてサインイン イベントをセキュリティで保護する」に関する記事を参照してください。

Windows Hello for Business のデプロイをしておらず、それが当面は選択肢にならない場合は、MFA を要求するクラウド アプリの一覧から Microsoft Azure Windows 仮想マシン サインイン アプリを除外する条件付きアクセス ポリシーを構成できます。 Windows Hello for Business の詳細については、Windows Hello for Business の概要に関するページを参照してください。

注意

RDP を使用した Windows Hello for Business PIN 認証は Windows 10 のいくつかのバージョンでサポートされています。 RDP を使用した生体認証のサポートは、Windows 10 バージョン 1809 で追加されました。 証明書信頼モデルまたはキー信頼モデルを使用するデプロイでは、RDP 中に Windows Hello for Business 認証を使用できます。

Microsoft Entra フィードバック フォーラムで、この機能に関するフィードバックを共有したり、この機能の使用に関する問題を報告したりしてください。

アプリケーションが見つかりません

Microsoft Azure Windows 仮想マシン サインイン アプリケーションが条件付きアクセスに含まれていない場合は、アプリケーションがテナントに存在することを確認します。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します。
  3. フィルターを削除してすべてのアプリケーションを表示し、VM を検索します。 結果に Microsoft Azure Windows 仮想マシン サインインが表示されない場合は、テナントにサービス プリンシパルは含まれていません。

それを確認するもう 1 つの方法は、Graph PowerShell を使用することです。

  1. まだインストールしていない場合は、Graph PowerShell SDK をインストールします。
  2. Connect-MgGraph -Scopes "ServicePrincipalEndpoint.ReadWrite.All" を実行し、続いて "Application.ReadWrite.All" を実行します。
  3. グローバル管理者アカウントでサインインします。
  4. アクセス許可プロンプトに同意します。
  5. Get-MgServicePrincipal -ConsistencyLevel eventual -Search '"DisplayName:Microsoft Azure Windows Virtual Machine Sign-in"' を実行します。
    • このコマンドで出力が行われず、PowerShell プロンプトに戻される場合は、次の Graph PowerShell コマンドを使用してサービス プリンシパルを作成できます。

      New-MgServicePrincipal -AppId 372140e0-b3b7-4226-8ef9-d57986796201

    • 正常な出力が得られると、Microsoft Azure Windows 仮想マシン サインイン アプリとその ID が作成されたことが表示されます。

  6. Disconnect-MgGraph コマンドを使用して Graph PowerShell からサインアウトします。

ヒント

一部のテナントでは、Microsoft Azure Windows 仮想マシン サインインではなく、Azure Windows VM サインインという名前のアプリケーションが表示されることがあります。 このアプリケーションには、372140e0-b3b7-4226-8ef9-d57986796201 という同じアプリケーション ID があります。

次のステップ

Microsoft Entra ID の詳細については、「Microsoft Entra ID とは」を参照してください。