リモートデスクトップ(RDP)接続にWindows Hello for Businessを使用する

Active Directory
Active DirectoryEntra IDMicrosoft 365OthersWindows

概要

こんにちは、久々の投稿です。今回は、リモートデスクトップ(RDP)接続する際にWindows Hello for Businessを使用する方法についてご紹介します。
近年、社内システムのクラウド移行やリモートワークが普及し、ID認証を強化することは非常に重要なセキュリティ対策になっています。その中で、パスワードレスな環境を実現するためにWindows Hello for Businessを採用しているケースも増えていると思います。一方で、まだまだパスワードを使用するケースが根強く残っているRDP接続においてパスワードレスを実現する方法を試してみました。(正直なかなか面倒です、接続先の環境次第ですが、Azureの場合はAzure Bastion、AWSの場合はSession Manager、GCPの場合はCloud IAPを利用することも検討したいところです。)

前提条件

まず、Windows Hello for Businessを使用するためにはEntra IDにWindows端末を登録するか、ADドメイン参加の状態で使用する場合はADFSサーバを構築する必要があります。

Windows Hello for Business の展開を計画する | Microsoft Learn

また、リモートデスクトップ接続でWindows Hello for Businessを使用するためには、証明書をWindows端末に対して配布する必要があります。

Windows Hello for Business を使用したリモート デスクトップ サインイン | Microsoft Learn

検証環境

今回は、検証用に予め準備した環境をWindows Hello for Businessを使用できるように構成変更していきます。接続元のWindows端末は、Entra ハイブリッド参加で検証します。

まず、既存の環境は以下構成になります。
自宅のWindows端末からAzure上の仮想マシンに対して、IDとパスワードを使用してRDP接続しています。(自宅にVPNルータがないため、P2S VPNを使用してローカル接続できるようにしました。)

変更後の環境は以下構成になります。
自宅のWindows端末にWindows Hello for Businessでログオンできるように設定します。その後、RDP接続でWindows Hello for Businessを使用するために必要なクライアント証明書をインポートします。

具体的に変更を加える箇所は以下の通りです。

No変更箇所変更内容補足説明
1ADCloud Kerberos オブジェクト作成Windows Hello for Businessの構成方法として、クラウド Kerberos 信頼モデルを採用するために本オブジェクトの作成が必要です。
2ADWindows Hello for Businessポリシー作成Windows Hello for Businessの使用を自動的に有効化するためにグループポリシーを作成します。
3ADCS証明書テンプレートの発行RDP接続元のPCに対して配布する証明書のテンプレートを作成します。
4PCWindows Hello for Business登録PCにWindows Hello for Businessを登録します。
5PC証明書の要求PCに証明書をインポートします。

参考リンクを以下に添付しておきます。

環境構築

ここでは、環境構築の内容についてご紹介します。

1. Cloud Kerberos オブジェクトの作成

まずは、PowerShellを起動してAzureADHybridAuthenticationManagementモジュールをインストールします。

次に、Kerberos サーバ オブジェクトを作成するコマンドを実行します。

問題なく完了したら、AzureADKerberosというコンピューターオブジェクトが作成されます。

Kerberos サーバー オブジェクトを作成する

2. Windows Hello for Businessポリシー作成

グループポリシーの管理を起動して、Windows Hello for Businessを有効にするポリシーを作成します。クラウド Kerberos 信頼モデルを採用する場合は「オンプレミス認証にクラウドトラストを使用する」を有効にします。

Windows Hello for Business ポリシー設定

3. 証明書テンプレートの作成

証明書テンプレートの管理画面を起動し、「スマートカードログオン」を選択してテンプレートの複製を作成します。

以下のMicrosoft公式ドキュメントを参照してプロパティを編集します。

証明書テンプレートを作成する

次に、証明書テンプレートに Microsoft Passport Key Storage Provider を追加します。以下のMicrosoft公式ドキュメントを参照して証明書テンプレートを更新します。

証明書テンプレートに Microsoft Passport Key Storage Provider を追加する

4. Windows Hello for Business登録

Windows端末の設定アイコンを起動して「アカウント>サインインオプション」を表示します。顔、指紋、PINのいずれかを登録します。

5. 証明書の要求

Windows端末でcertmgr.mscを起動します。「個人>証明書」より新しい証明書の要求を行います。

作成した証明書テンプレートを選択して登録します。

以上で、環境構築完了です。

動作確認

最後に動作確認を実施します。

リモートデスクトップ接続を起動して資格情報を入力します。この際に、「セキュリティ デバイス資格情報」を選択します。

Windows Hello for Businessを入力(今回はPINを入力)します。

対象の仮想マシンへ接続できることを確認します。

以上で、動作確認完了です。正常にWindows Hello for Businessを使用してRDP接続できました。

参考リンク

タイトルとURLをコピーしました