Azure Virtual Desktop (AVD) で Microsoft Entra CBA を試す!

Microsoft Entra ID でクライアント証明書での認証が行える機能「Microsoft Entra CBA」があります。今回は、この Microsoft Entra CBA をAVD接続時の認証に利用できないか試してみたいと思います。
以前試した「Microsoft Defender for Cloud Apps」では上手くできなかったクライアント証明書ですが、今回はどうなることでしょうか。

※「Microsoft Entra CBA」は無償で利用できます!

期待する動作は、AVD接続を許可する「ユーザーアカウント」用にUPN情報を埋め込んだクライアント証明書を、予めデバイスにインストールしておきます。利用者が入力したユーザーアカウントと証明書のUPNが一致した場合のみ接続を許可します。
※Entraにアップロードしたルート証明書で署名されたクライアント証明書である必要があります。

※Microsoft Entra CBAは、Entra単体で利用できます。ADFSが不要なのがありがたい~


全体の流れ

Step1:ルート証明書の作成
Step2:クライアント証明書の作成
Step3:Microsoft Entra CBAの設定
Step4:条件付きアクセスの設定 ※証明書認証を強制するため

※ルート証明書&クライアント証明書は、検証のため自身で作成しています。


Step1:ルート証明書の作成

※Windows CAサーバーにて実施します。

エクスポートできました!

次は、ルート証明書をインポートします。

ファイル名を指定して実行:certmgr.msc

[信頼されたルート証明機関]ー[すべてのタスク]ー[インポート]を選択

インポート完了!
※Step3で利用するのでエクスポートしておいて下さい。


Step2:クライアント証明書の作成

先ずは、クライアント証明書用のテンプレートを作成します。

※Windows CAサーバーにて実施します。

[管理]を選択

[User]ー[テンプレートの複製]を選択

[証明書テンプレート]ー[新規作成]ー[発行する証明書テンプレート]を選択

[Entra CBA]を選択

テンプレートが作成されました。

クライアント証明書の作成

[個人]ー[すべてのタスク]ー[新しい証明書の要求]を選択

AVD利用者向けのクライアント証明書を作成します。
※一気に作成できそうですが、1名分しか作成されません。。

作成したクライアント証明書が確認できます。
※エクスポートしてユーザーに配布してください。


Step3:Microsoft Entra CBAの設定

Microsoft Entra にStep1で作成したルート証明書をアップロードします。

[Microsoft Entra ID]ー[セキュリティ]ー[証明機関]を選択

証明書:ルート証明書を選択
証明書失効リストのURL:※CRLのURLを入力
デルタ証明書失効リストのURL:※CRLのURLを入力

[認証方法]ー[証明書ベースの認証]を選択

有効化:有効にする
ターゲット:AVDユーザー用のグループを選択。※個別ユーザーは選択できません

条件付きアクセスにより、証明書認証を強制したい場合は、[多要素認証]を選択

これにて、証明書認証が有効化されました。ターゲットとして選択したグループのメンバーに対しては、Entra IDでの認証に証明書認証が選択できるようになります。


Step4:条件付きアクセスの設定

AVD接続時に証明書認証を強制させるための設定です。

AVDユーザーグループを選択

対象アプリに[Windows Virtual Desktop]を選択


確認してみましょう!

先ずは、ブラウザでの接続

パスワードもしくは、証明書の提示が求められます。
※次回以降は、この画面がスキップされ証明書認証が自動実行されます。

パスワードを入力しても、証明書の提示が強制されます。
※入力したユーザーアカウントと証明書のUPNが一致する必要があります。

認証を通過すると、いつもの画面が表示されます。

Windows クライアントアプリで接続

デバイスにクライアント証明書が1つしか存在しない場合は、スルッとこの画面になります。

もちろん、SSOとの組み合わせ可能!