はじめに
本記事では、FIDO2 セキュリティキー を使用して Active Directory ドメインアカウント で Windows にサインイン する方法を紹介します。
本件を検証する前に、色々と 下調べしたのですが、ローカルアカウント しかサポートしていない等の情報が多く引っ掛かって、成功例は 見当たらず、そもそも 無理なんじゃないかと諦めかけていました。
ですが、以下の公開情報を見つけて、頑張れば なんとかできるんじゃないかと思い、トライしてみました。
公開情報:FIDO2 セキュリティ キーを使用して Microsoft Entra ID による Windows 10 および 11 デバイスへのサインインを有効にする
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-windows?wt.mc_id=mvp_407731
本記事のターゲット
「FIDO2 セキュリティキー を使用して Windows にサインイン」を有効化する方法は、いくつか用意されていますが、本記事では ④ の グループポリシー を使った手順を紹介します。
① Microsoft Intune で有効にする
② ターゲットとなる Microsoft Intune のデプロイ
③ プロビジョニング パッケージを使用して有効にする
④ グループ ポリシーで有効にする (Microsoft Entra ハイブリッド参加済みデバイスのみ)
公開情報:Windows サインインのセキュリティ キーを有効にする
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-windows?wt.mc_id=mvp_407731#enable-security-keys-for-windows-sign-in
お知らせ
① の パターンは、別途 記事を投稿してありますので、併せて参照ください。
FIDO2 で Windows に サインインする(Entra ID 編)
https://qiita.com/carol0226/private/3933199bfd512e31f060
前提事項
Active Directory ドメイン に参加した PC を、FIDO2 対応にするには、Microsoft Entra Hybrid 参加済み にする必要があります。そのほか、いくつかの要件を満たす必要があります。
以下の 公開情報 の 要件 の表で、右側の列が該当します。
上記の 公開情報 の 要件 を元にした結果、実施すべき内容を 以下の ①~④ としてまとめました。
① ドメインコントローラー
要件の欄には、以下の記載があります。
完全にパッチが適用された Windows Server 2016/2019 ドメイン コントローラー
具体的には FAQ に 以下の情報があるので、これら KB のインストールが必要なようです。
なお、私は Windows Server 2022 で検証して動作しているので、それ以降の最新 OS であればサポートしていそうです。
公開情報:パッチを適用すべき DC の数に関する推奨事項はありますか
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-faqs?wt.mc_id=mvp_407731#whats-the-recommendation-on-the-number-of-dcs-that-should-be-patched
(公開情報より抜粋)
Windows Server 2016 または 2019 ドメイン コントローラーで、次のパッチが適用されていることを確認します。 必要に応じて、Windows Update を実行してインストールします。
Windows Server 2016 - KB4534307
Windows Server 2019 - KB4534321
② Microsoft Entra Hybrid 参加済み デバイス
以下の記事を参考に Microsoft Entra Hybrid 参加済み(Microsoft Entra Hybrid Joined)となったデバイスがあれば、要件が満たされます。
Microsoft Entra ハイブリッド参加(旧HAADJ)を構成してみた
https://qiita.com/carol0226/items/7c16c4813e2b54a76789
※Windows 10 バージョン 2004 以降が必要です。
Microsoft Entra Hybrid Join とは
オンプレミスの AD ドメイン を、Microsoft Entra Connect で同期を構成します。
さらに、Hybrid Join の構成を行うことで コンピューターオブジェクト も テナントに同期されるようになります。Hybrid Join が構成された環境で クライアント PC は、"AD ドメイン" と "Microsoft Entra ID" に 同時に参加(Join)した状態になります。これを Hybrid Join と言います。
Hybrid Join で構成された PC へのサインインは、引き続き オンプレミスドメイン のユーザーアカウントでサインインしますが、 FIDO2 セキュリティ キー の紐づけは、テナント 側で行う必要があります。
そのため、FIDO2 サインインが可能になるのは、テナント側に同期された ハイブリッドユーザー のみとなります。
③ Microsoft Entra ハイブリッド認証管理モジュール
初めて構成する際に 公開情報 を読んだだけだと、この要件を満たす方法が判りづらいかもしれません。
具体的には、Microsoft Entra Kerberos 認証の構成を行うことで対応できます。
以下の私の記事で解説していますので、この作業を行ってください。
Microsoft Entra Kerberos 認証 を構成し オンプレミスへ SSO する
https://qiita.com/carol0226/items/a52a54ff63c19fa957e6
公開情報:オンプレミスのリソースへの SSO
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-on-premises?wt.mc_id=mvp_407731
④ テナントで FIDO2 セキュリティー キー を有効化
以下の記事で紹介している内容で テナントで FIDO2 セキュリティー キー が利用できるように構成され、オンプレミスから同期された ハイブリッドユーザー に FIDO2 セキュリティ キー が割り当てられている必要があります。
Microsoft Entra ID の認証を FIDO2 で出来るようにする
https://qiita.com/carol0226/private/8586291079d941f62f7b
構成手順
前提条件を満たしていれば、① GPO または ② Intune の構成によって、FIDO2 での OS サインイン がサポートされるようになります。
どちらで構成するのか、判断材料
クライアントが オンプレミス のみであったり、Intune を採用していない場合は、① GPO で構成します。
すでに Microsoft Entra Join デバイス も併用しており、Intune が利用可能な環境の場合は、② Intune で構成が良さそうです。
① GPO で構成する
FIDO2 サインイン を行いたい コンピューターオブジェクトが含まれた OU が用意されている前提です。
※本記事では、Client-PC という OU を想定した手順となっています。
- ドメインコントローラーで グループポリシーの管理 を開きます。
- 任意の OU に対して このドメインに GPO を作成し、このコンテナーにリンクする を選択します。
- 任意の GPO 名を指定して OK を押します。(今回は、FIDO2 を命名)
- 作成された GPO を右クリックして 編集 を選択します。
- 以下の設定を開きます。
コンピューターの構成 - ポリシー - 管理用テンプレート - システム-ログオン
セキュリティ キーでのサインインを有効にする
- 設定を 有効 にして OK を押します。
- 以下のように表示されれば OK です。
公開情報:グループ ポリシーを使用して有効にする
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-windows?wt.mc_id=mvp_407731#enable-with-group-policy
② Microsoft Intune で有効にする
なお、公開情報 の 要件 を読む限りは、GPO の代わりに Intune で構成することも可能なようです。
公開情報:Microsoft Intune で有効にする
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-windows?wt.mc_id=mvp_407731#enable-with-microsoft-intune
以下の記事では、Microsoft Entra ID を使って Windows にサインインする方法を記載した記事です。
すでに、この構成を行っている場合は、Intune で設定が行われているため、GPO の設定は割愛できると思われます。
FIDO2 で Windows に サインインする(Entra ID 編)
https://qiita.com/carol0226/items/3933199bfd512e31f060
動作確認
FIDO2 セキュリティ キーを使用してサインインする
- 前章で GPO または Intune の構成を変更したあと、AD ドメイン に参加したデバイスを再起動します。
- ポリシー設定が PC にうまく反映されると、緑下線の サインイン オプション を押した際に、以下の通り 赤枠(セキュリティキー)のアイコンが追加されます。
※設定の反映にタイムラグがありえますが、私は 10 分後くらいに反映されてました。セキュリティキー のアイコンが出ない場合は、再起動してください。
いくらやっても、FIDO2 セキュリティ キー のアイコンが出ない場合
前提条件 が満たせていないと、アイコンは出ません。
手順の見直しと、以下の方法でも、構成をチェックしてください。
dsregcmd /status のコマンドを実行して、Hybrid Joined の構成になっているのか?
gpresult /h を使って、ポリシーがクライアントに適用されているか?
このほか、最終章に トラブルシューティング へのリンクを掲載しているので、そちらも確認してください。
以下の記事でも紹介されていますが、VPN 接続してから、ドメインコントローラーに接続するようなケースでは、利用中に セキュリティキーのアイコンが消えることもあります。dsregcmd /join で再度 Join することで復活できます。
https://jpazureid.github.io/blog/azure-active-directory/fq-device-based-ca-for-remote-work/#質問-4-ハイブリッド-Azure-AD-参加のデバイス登録処理はどのような流れで行われますか?-VPN-経由でも動作しますか?
3.以下の画面が FIDO2 で OS にサインインできる画面です。
ここで、FIDO2 セキュリティ キー を挿入して PIN を入力します。
※アカウント名を入力しなくても良いんですね・・・(キー内に ID も保存されている)
4.正しい PIN が入力されたら、以下の画面が表示されます。
5.FIDO2 セキュリティ キー に 指タッチします。
下図は、私が検証した YubiKey です。この時に ランプが点灯しています。
6.これで 以下の画面に遷移されて ドメインログオン が完了します。
以上のように、あらかじめ FIDO2 セキュリティ キー に ハイブリッドユーザー の アカウント が登録されていれば、パスワードレス で サインイン することが可能になります。
公開情報:FIDO2 セキュリティ キーを使用してサインインする
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-windows?wt.mc_id=mvp_407731#sign-in-with-fido2-security-key
さいごに
今回の検証は、結構 達成感がありました。
実際に動作させてみるまでは、どうやって オンプレドメイン の資格情報を FIDO2 内に入れるんだろう・・と疑問に思っていたのですが、結果 クラウド経由で仕込んでおいて、Microsoft Entra Kerberos 認証 を使って ドメインログオンしてるんだな・・・ということが判った気がします。
これをやりたいと思っても、巷の情報で、中々 成功事例を見つけられなかったのですが、本記事を参考にチャレンジしてみていただければ幸いです。
参考
以下の公開情報で、FAQ や トラブルシューティング が掲載されています。
これは、構築後に動作確認した後のタイミングで良いので、目を通しておくと その後の運用時に無駄にハマらずに済むかもしれません。