1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Entra ID Join した Azure VM に対して Remote Desktop 接続する際の方法と注意点

1
Posted at

はじめに

Azure VM を Entra ID Join する方法として、OS 上から GUI で参加させる方法と、AADLoginForWindows 拡張機能を使う方法の二つがあります。

以前、Enterprise 利用で組織外部の人とコラボレーションをする方法を考える(Entra 運用編) の中でそれぞれの方法を取り上げましたが、あの記事では二つの違いについてはあまり触れられていませんでした。

実際のところ、この二つは単に手順が違うだけでなく、Remote Desktop 接続時の挙動や権限まわりの動作にも差があります。

今回はその違いを中心に整理していきます。

Azure VM を Entra ID Join する際の二つの方法

Azure VM を Entra ID Join するためには、方法が二つあります。
具体的には、以下の二つとなります。

  • Azure VM を作成後に OS 上から GUI などで Entra ID Join をする方法
  • Azure VM の作成時や作成後に、AADLoginForWindows 拡張機能を利用して Entra ID Join をする方法

今回は、この二つの違いに焦点を当てて、紹介していきたいと思います。

Azure VM を Entra ID Join するための設定手順

まずは、Azure VM を Entra ID Join するための設定手順を紹介します。

Azure VM を作成後に OS 上から GUI などで Entra ID Join をする方法

これは、Azure VM を作成した後に、OS 上から GUI を使って Entra ID Join をする方法です。
後述の拡張機能を用いた方法以外では、こちらの手順を実施することになります。

注意
一般的に、OS を新規にセットアップしている途中で、Out-of-Box Experience (OOBE) と呼ばれる 初期セットアップの段階で、Entra ID Join を実施することが多いと思います。
また、OS のセットアップが完了した後でも、Windows の設定から Entra ID Join をすることができます。

しかし、Azure VMでは、OS イメージから Windows VM をデプロイする際に、自動的に OOBE の処理が実行されるため、OOBE を用いて Entra ID Join をすることはできません。

参考: 既定のエクスペリエンスの間に新しい Windows デバイスを Microsoft Entra に参加させる

OS 上から GUI などで Entra ID Join をする具体的な手順は以下の通りとなります。

  1. Windows 11 のイメージの Azure VM を作成する
  2. Azure VM に対して Remote Desktop 接続をする
  3. Windows の設定画面を開く
  4. 「アカウント」>「職場または学校にアクセス」を選択する
  5. 「このデバイスを Microsoft Entra ID に参加させる」を選択する
  6. Entra ID Join したいテナントのアカウントでサインインする

スクリーンショット付きで、より詳細にまとめていただけているブログがあります。
詳細な方法を確認したい場合は、以下のリンク先の記事も参照してください。
Microsoft Entra Join の手順 (Windows 11)

拡張機能を用いて Entra ID Join をする方法

OS 上から GUI などで Entra ID Join をする方法以外に、AADLoginForWindows 拡張機能を利用して Entra ID Join をする方法があります。

Azure VM の作成時に拡張機能を用いて Entra ID Join をする方法

まずは、Azure VM を作成する際に、Azure Portal を利用して、AADLoginForWindows 拡張機能の機能で Entra ID Join をする方法を紹介します。

やり方は、非常に簡単です。

Azure Portal から Azure VM を作成する際に、「管理」のタブで、「Microsoft Entra ID」の項目にある、「Microsoft Entra ID でログイン」にチェックを入れるだけになります。

Portalで拡張機能を有効化

システム割り当てマネージド ID の有効化について
AADLoginForWindows 拡張機能では、システム割り当てマネージド ID を利用します。

そのため、「Microsoft Entra ID でログイン」にチェックを入れると、システム割り当てマネージド ID も同時に有効化され、OFF にできないようにチェックボックスがグレーアウトされます。

Azure VM の作成後に拡張機能を用いて Entra ID Join をする方法

次に、Azure VM を作成した後に、AADLoginForWindows 拡張機能を利用して Entra ID Join をする方法です。

Azure Portal を用いる方法

まずは、Azure Portal を用いる方法です。

  1. 拡張機能をインストールしたい Azure VM を起動する
    Azure VM に拡張機能を入れる場合は、Azure VM が起動していて、VM 上でゲストエージェントが起動している必要があります。
    そのため、まずは、Azure VM を起動します。
  2. Azure Portal から、Azure VM の「ID」のメニューを選択し、「システム割り当て済み」のタブを選択後、状態を「オン」にした後に「保存」を選択します
    (システム割り当てマネージド ID の有効化)
    Managed IDを有効化
  3. Azure Portal から、Azure VM の「拡張機能とアプリケーション」のメニューを選択し、「拡張機能」タブで「+追加」を選択します
    拡張機能メニューを選ぶ
  4. インストール可能な拡張機能がいくつか出てくるので、「Azure AD based Windows Login」を選択し、「次へ」をクリックします
    Azure AD based Windows Login
  5. 「確認と作成」をクリックします
    確認と作成
  6. 「作成」をクリックします
    作成

参考
手順5,6 において、特にタブ内でメニューが出ないのが気になりましたが、拡張機能自体にオプションの情報など、設定の余地が無いため、このような画面構成になっているようです。

補足
この方法で、拡張機能をインストールすると、少々古いバージョンの拡張機能がインストールされる場合があります。

Azure CLI を用いる方法

次にAzure CLIを用いる方法を紹介します。

  1. まずは、Azure CLI を利用して、拡張機能の Publisher と最新バージョンの情報を取得します。
    コマンド: az vm extension image list --name AADLoginForWindows --output table
    参考結果:
       Name                Publisher                        Version
     ------------------  -------------------------------  ---------
     AADLoginForWindows  Microsoft.Azure.ActiveDirectory  0.3.0.0
     <省略>
     AADLoginForWindows  Microsoft.Azure.ActiveDirectory  2.2.0.0
    
  2. 次に、Azure CLI を利用してシステム割り当てマネージドIDを有効化します。
    コマンド: az vm identity assign --name <VM_NAME> --resource-group <RESOURCE_GROUP>
    参考結果:
    {
       "systemAssignedIdentity": "<OBJECT_ID>",
       "userAssignedIdentities": {}
    }
    
  3. 最後に、Azure CLI を利用して、AADLoginForWindows 拡張機能をインストールします。
    コマンド: az vm extension set --name AADLoginForWindows --publisher Microsoft.Azure.ActiveDirectory --version <VERSION> --vm-name <VM_NAME> --resource-group <RESOURCE_GROUP>
    参考結果:
     {
       "autoUpgradeMinorVersion": true,
       "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Compute/virtualMachines/<VM_NAME>/extensions/AADLoginForWindows",
       "location": "japaneast",
       "name": "AADLoginForWindows",
       "provisioningState": "Succeeded",
       "publisher": "Microsoft.Azure.ActiveDirectory",
       "resourceGroup": "<RESOURCE_GROUP>",
       "type": "Microsoft.Compute/virtualMachines/extensions",
       "typeHandlerVersion": "2.2",
       "typePropertiesType": "AADLoginForWindows"
     }
    

Azure VM に対して Remote Desktop 接続する場合

ここからは、Entra ID Join した Azure VM に対して Remote Desktop 接続する場合の共通点と違いについて紹介します。

Azure VM に対して Remote Desktop 接続する際の共通点

まず、共通点ですが、こちらは明確です。

Entra ID Join をした Azure VM に対しては、Entra ID 上のアカウントで Remote Desktop 接続することができます。

Entra ID Join をした端末に対して、Entra ID 上のアカウントで Remote Desktop 接続する場合は、大きく以下の二つの方法があります。

  • 「Web アカウントを使用してリモートコンピュータにサインインする」オプションを利用したMicrosoft Entra 認証接続
  • 一般的な RDP クライアントと VM の IP アドレスを利用した、Web アカウントを使わない Microsoft Entra 資格情報での RDP

補足

Web アカウント オプションを使わない場合でも、接続元 PC が同じテナントに Microsoft Entra joined / hybrid joined / registered されていれば、Microsoft Entra ID ユーザーの資格情報で RDP できる場合があります。

この場合は、ユーザー名を AzureAD\user@domain.com 形式で指定します。これは Windows クライアント向けドキュメントでは「Connect without Microsoft Entra authentication(Microsoft Entra 認証無しの接続)」と分類されていますが、ローカル アカウントや AD DS ドメイン アカウントだけを使う、という意味ではありません。

以降では、これらの二つの方法について、紹介します。

「Web アカウントを使用してリモート コンピューターにサインインする」オプションによる Microsoft Entra 認証を利用した接続

Microsoft Entra 認証を利用した接続では、リモートデスクトップ接続時に、「Web アカウントを使用してリモート コンピューターにサインインする」オプションを利用します。

補足(より詳細な部分が気になる方向け)
「Web アカウントを使用してリモート コンピューターにサインインする」オプションは、RDP プロパティでは、enablerdsaadauth プロパティになります。
「Web アカウントを使用してリモート コンピューターにサインインする」オプションにチェックを加えることは、RDP ファイルの enablerdsaadauth プロパティを 1 にすることと同じ意味となります。

この方法では、接続元のデバイスをドメインやMicrosoft Entra ID に参加させる必要なく、Microsoft Entra Joined された Azure VM に対して、Microsoft Entra ID のアカウントを利用して Remote Desktop 接続することができます。

具体的な手順は以下の通りです。

事前準備: 接続先の VM として、Microsoft Entra Join された Azure VM を準備します。

  1. 接続元デバイスで、リモートデスクトップ接続アプリを開きます
  2. 「詳細設定」タブで、「Web アカウントを使用してリモート コンピューターにサインインする」オプションにチェックを入れます
    RDP 詳細設定タブ
  3. 「全般」タブで、「コンピューター」に接続先の Azure VM のホスト名を、「ユーザー名」にログインしたい Microsoft Entra ID のアカウントを入力します
    RDP全般タブ
  4. 「接続」をクリックします
  5. Microsoft Entra ID のサインイン画面が表示される場合は、Microsoft Entra ID のアカウントを再度入力して、その後パスワードを入力します

手順 3 の補足1

「コンピューター」に接続先の Azure VM のホスト名は、Entra ID 上のデバイス名と同名にする必要があります。
言い換えると、Entra ID 上のデバイス名で、接続したい Azure VM の IP アドレスを解決できる必要があります。

手順 3 の補足2
「ユーザー名」に入力する Microsoft Entra ID のアカウントは、<アカウント名>@<テナントのドメイン名> の形式で入力する必要があります。

手順 5 の補足
一度 RDP をすると、最大 15 ホストの接続情報を 30 日間保存するようになっています。
そのため、一度新しい VM に接続すると、Microsoft Entra ID のアカウントでサインインした後は、一定期間は、パスワードの入力無しに接続できるようになります。

補足(OS要件)
この方法によるログインには、OS のバージョンに関する要件があります。
詳しくは、「Microsoft Entra ID と Azure Roles Based Access Control を使用して、Azureで Windows 仮想マシンにサインインします - Microsoft Entra IDでパスワードレス認証を使用してサインインする」を参照してください。

Web アカウントを使わない Microsoft Entra 資格情報での RDP

こちらは、前述の Microsoft Entra 認証を利用した接続とは異なり、一般的な RDP クライアントと VM の IP アドレスを利用して、Microsoft Entra 認証無しの接続をする方法になります。

ただし、公式にサポートされた状態で実行するには、以下のいずれかを満たす必要があります。

  • 接続元のデバイスが Entra ID Join している状態にある
  • 接続元のデバイスが Entra ID Hybrid Join (Entra ID ハイブリッド参加) している状態にある
  • 接続元のデバイスが Entra ID Registered (Entra ID 登録) されている状態にある

補足
上記すべての条件に関しては、接続元デバイスと、接続先デバイスが、どちらも 同一の Entra ID テナント に参加・登録している必要がある点に注意してください。

つまり、先ほどの手順では問題無かった、Entra ID Join などが行われていないローカル環境の端末は、利用できません。

上記の条件を満たす前提で、具体的な手順は以下の通りです。

  1. 接続元デバイスで、リモートデスクトップ接続アプリを開きます
  2. 「コンピューター」に接続先の Azure VM の IP アドレス(名前解決可能な場合はホスト名でも可) を入力します。また、ユーザー名にMicrosoft Entra ID のアカウント(<アカウント名>@<テナントのドメイン名>)を入力します
    RDP全般タブ
  3. 「接続」をクリックします
  4. 認証情報を要求されますので、パスワードを入力して「OK」をクリックします
    認証情報

上記で、RDP 接続して、ログインすることができます。

補足(非公式情報)
現状は非推奨の方法(かつ、現在は非公式の情報)となりますが、以下の野口さんの記事にて、Microsoft Entra Join したWindows 11 端末に対して、Microsoft Entra 認証無しの接続方法が紹介されています。
これは、古いやり方の様で、現在の公式ドキュメントでは、上記の通りの要件がありますが、参考までに紹介いたします。
Microsoft Entra Join した Windows 11 への RDP接続方法

Azure VM に対して Remote Desktop 接続する際の違い

ここまでで、2種類の異なる方法で Entra ID Join した Azure VM を作成し Remote Desktop 接続する場合の共通点について紹介しました。

ここからは、OS 上から GUI などで Entra ID Join をする方法と、AADLoginForWindows 拡張機能を利用して Entra ID Join をする方法の違いについて紹介します。

大きな違いは、Azure VM へのログイン権限と、ログイン後の OS 上での権限を、Azure RBAC で制御できるかどうかです。

具体的には、AADLoginForWindows 拡張機能を利用して Entra ID Join をする場合は、Azure VM へのログインする際に、Azure VM リソースに対して、以下の二つの ロール が付与されている必要があります。

[必要となるロール]

  • 仮想マシン管理者ログイン
    このロールが割り当てられているユーザーは、管理者特権でAzure仮想マシンにサインインできます。
  • 仮想マシン ユーザー ログイン
    このロールが割り当てられているユーザーは、通常のユーザー特権でAzure仮想マシンにサインインできます。

なお、このロールは、Azure VM に RDP 接続した後の、権限にも影響します。

RDP 後に関しては、RBAC で付与されたロールをもとに、ログイン後の権限も決まります。

どのように動作しているか検証

どのように動いているかを実際にAADLoginForWindows 拡張機能を利用してEntra ID Join をした Azure VM に対して、ログイン時の挙動を見て確認します。

具体的には、以下のような動きになっているようでした。

  1. Azure VM に対してログインを試行する
  2. Azure VM 上では、Entra ID に対して、まず認証を行う
  3. 認証が成功した場合、https://pas.windows.net に対して、ログインしたユーザーが、「仮想マシン管理者ログイン」ロールか「仮想マシン ユーザー ログイン」ロールのどちらかを持っているかを確認するリクエストを送信
  4. ロールの確認が成功した場合、Azure VM 上で、OS 上のユーザー権限でログインする処理が実行される

実際のドキュメントの記載と照合

公式ドキュメント(Microsoft Entra ID と Azure Roles Based Access Control を使用して、Azureで Windows 仮想マシンにサインインします) では、AADLoginForWindows 拡張機能を利用する要件のうち、本記事に関連する要件として、以下のネットワーク要件があります。

[要件]

https://login.microsoftonline.com に関しては、Entra ID 上のアカウントで認証するために必要な要件になります。

具体的には、Microsoft のサポートチームのブログ(Microsoft Entra ID に必要な通信先エンドポイントのまとめ)から以下の通り記載があります。

(抜粋)
Microsoft Entra ID で基本的に利用されるエンドポイント
まず初めに Microsoft Entra ID を利用いただく際に基本的に必要となるエンドポイントは、Microsoft 365 の URL と IP アドレスの範囲 に記載されている ID 56 , ID 59 , ID 97 そして ID 125 になります。

この部分のリンクされたページ(Microsoft 365 Common および Office Online) のID 56 に、この login.microsoftonline.com が含まれています。

また、ロールベースのアクセス制御フローでは、https://pas.windows.net に対して、アクセスすることになっているので、こちらは、検証結果とも一致していることがわかります。

つまり、AADLoginForWindows 拡張機能を利用して Entra ID Join をした Azure VM に対して、ログインする場合は、Azure VM リソースへの権限付与が検証されていることが分かります。

Entra ID Join する際の注意点

最後に、Entra ID Join する際の注意点について紹介します。

注意点1: Azure VM リソースに対して、Azure RBAC で「仮想マシン管理者ログイン」ロールか「仮想マシン ユーザー ログイン」ロールのどちらかが付与されている必要がある

今回紹介したAADLoginForWindows 拡張機能を利用して Entra ID Join をした VM に RDP する場合は、Azure VM リソースに対して、Azure RBAC で「仮想マシン管理者ログイン」ロールか「仮想マシン ユーザー ログイン」ロールのどちらかが付与されている必要があることが、まず一つの注意点です。

今回は、二つのEntra ID Join の方法を紹介いたしましたが、AADLoginForWindows 拡張機能を利用して Entra ID Join をした場合は、Azure VM リソースに対して、Azure RBAC で「仮想マシン管理者ログイン」ロールか「仮想マシン ユーザー ログイン」ロールのどちらかが付与されている必要があります。

注意点2: Entra ID 上に同一のホスト名のデバイスがあってはならない

他の注意点としては、AADLoginForWindows 拡張機能を利用して Entra ID Join をする場合は、Entra ID 上に同一のホスト名のデバイスがあってはならないことです。

これは、拡張機能の「デプロイに問題に関するトラブルシューティング」セクション(Microsoft Entra ID と Azure Roles Based Access Control を使用して、Azureで Windows 仮想マシンにサインインします - デプロイの問題に関するトラブルシューティング) にも記載があります。

(抜粋)
デバイス名は既に存在します
Azure仮想マシンのホスト名と同じ displayName を持つデバイス オブジェクトが存在する場合、デバイスはホスト名の重複エラーで Microsoft Entra に参加できません。 ホスト名を変更して重複を回避します。

これが、なぜ注意点であるかというと、Entra ID では、Entra ID Join する際のホスト名の重複は禁止されていないという点にあります。

つまり、拡張機能を利用しない方法で、Entra ID Join する場合は、同一のホスト名でも何度でも重複で Entra ID Join することができます。

そのため、重複するホスト名が、Entra ID Join できないのは、AADLoginForWindows 拡張機能を利用する場合のみの制約となるため、注意が必要となります。

まとめ

今回は Azure VM において、Entra ID Join をする二つの方法として、OS 上でEntra ID Join を実施する方法と、AADLoginForWindows 拡張機能を利用して Entra ID Join する方法を紹介いたしました。

共通して、Entra ID Join した Azure VM に対して、Entra ID 上のアカウントで Remote Desktop 接続する際には要件等がありますので、まずは、これを満たす必要があります。
加えて、AADLoginForWindows 拡張機能を利用して Entra ID Join する場合は、以下のような注意点がありますので、利用時には注意が必要です。

  1. Azure VM リソースに対して、Azure RBAC で「仮想マシン管理者ログイン」ロールか「仮想マシン ユーザー ログイン」ロールのどちらかが付与されている必要がある。
  2. Entra ID 上に同一のホスト名のデバイスがあってはならない。

参考情報

公式情報

非公式情報

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?