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との組み合わせ可能!