この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
セキュリティ対策として、Windows Virtual Desktop(以下、WVD)で多要素認証(以下、MFA)を行うという要件は当然のように出てくることでしょう。
WVD では基本的に2つの認証を行います。Azure AD と AD DS の認証です。
MFA を行う場合、通常 Azure AD にアクセスするタイミングが MFA のトリガーとなります。
詳しく動作や設定方法などを解説していきます。
アプリケーションによる MFA の動作の違い
デスクトップアプリケーションで WVD を利用する場合
WVD 向けのデスクトップアプリケーションでは、初回のユーザー認証時のみ MFA が動作することになります。Azure AD の認証はこの初回の認証後は記憶され、都度行われることはありません。
また、AD DS の認証も同様に資格情報を記憶することにより、2つの認証をスキップし、実質認証なく WVD を利用することも可能です。
ブラウザで WVD を利用する場合
ブラウザの場合も同様に Azure AD と AD DS の認証があり、Azure AD の認証で MFA が動作するかどうかはブラウザのセッションの状態に依存しますが、新規のセッションの場合、都度 MFA が動作します。
すでにブラウザのセッションにユーザー情報があると、ログには「MFA requirement satisfied by claim in the token」というメッセージが記録され MFA がスキップします。
条件付きアクセスの設定でセッションの扱い方は一部コントロール可能です。
MFA の設定
Azure AD で MFA を行う場合、アプリに関わらずユーザーに対して設定することや条件付きアクセスによって、アプリを指定したり一定の条件下で MFA が動作することが出来ます。
条件付きアクセスを利用することで以下のようなシナリオが実現可能となります。
- 指定の IP 以外は MFA またはブロック
- 指定の端末以外は MFA またはブロック
- 利用可能な OS を指定(モバイルからの利用可否)
※動作未確認。そもそも Windows 以外からアクセスする場合は VDA の権利が必要となるのでご注意ください。
詳細解説
WVD を利用した場合の Azure AD のサインインログを確認すると、アプリケーションは「Windows Virtual Desktop Client」として記録されます。
Azure AD に登録されたエンタープライズアプリケーションの「Windows Virtual Desktop Client」です。
ところが、条件付きアクセスの設定において現在このアプリケーションを指定しても MFA は動作しません。
「Windows Virtual Desktop」というアプリケーションを指定することで WVD に対して MFA を設定することが出来ます。
もしくは、アプリケーションの指定なく一律で ユーザーに対して MFA を設定すると動作します。
サインインログと条件付きアクセスの設定内容に矛盾があるのでご注意ください。
仕様なのか不具合なのかは不明です。
条件付きアクセスで可能な設定
条件付きアクセスでは、対象ユーザーや対象アプリケーションを指定して、場所や接続端末に条件を付けて MFA やブロックを行うことが出来ます。
場所とは、指定の IP や国・地域を選択することも可能です。
デスクトップアプリケーションやブラウザの一方を制限することが出来るか確認してみましたが、どちらかを宣言してもともに利用することが出来なくなりました。
クライアントアプリケーションをブロックする設定でもブラウザから利用できなくなるのは明らかに不具合と思われます。
まとめ
Azure AD の MFA を利用することは出来ますが、デスクトップアプリケーションでは初回しか確認がないため、同一端末において2回目以降利用時の本人確認は難しくなります。
MFA だけではなくブロックする場合も同様です。指定の IP 以外では使わせたくない場合も初回さえクリアすれば指定外の IP からも利用できる点は注意が必要です。
少なくとも ID やパスワードが漏洩したとして、第三者から別の端末から接続されることは防ぐことは出来るため何が安全なアクセスで、何が危険なアクセスとされるか理解した上で利用する必要がありそうです。