投稿を書いている時点ではプレビュー機能となりますが、Azure AD では証明書ベースの認証 (CBA) を使用するkとができるようになりました。
CBA を使用したログインの基本的な流れについては Azure AD 証明書ベース認証を試してみた がとても参考になり、基本的な作業の流れはこの記事を確認しておけば問題ないのですが、物理デバイスと組み合わせた場合にはどのようになるのかを検証する必要があり、検証環境を作ってみました。
今回使用しているベースの環境は次のようになります。
- 使用している Azure Active Directory
- Microsoft 365 開発者プログラム で作成した Azure AD テナント
- AAD Premium P2 が使用でき、普段使用している AAD を操作しなくて済むので検証に便利
- Windows Server 2022 AD DS × 1 台
- Windows 10 Pro
Azure AD 証明書ベース認証を試してみた で解説されている証明書を使用した認証については、AD CS を展開して「ユーザー」の証明書テンプレートを使用してドメインユーザーで証明書を作成することで、CBA の認証をすることができますので、その環境を構築してから検証を実施しています。
今回は証明書の失効については検証していないので、証明書失効リスト (CRL) の配布ポイント (CDP) については構築せずに検証しています。(CDP については、Azure BLOB ストレージを匿名アクセス許可でファイルを公開することでもできるのかなと思いつつ検証していません)
物理デバイスの準備
スマートカードログオンを実施するために、AD CS から発行されたスマートカードログオン向けの証明書を保存できる物理デバイスを準備する必要があります。
私は YubiKey をこれまで使用したことが無かったので、今回は YubiKey 5 NFC を使用することにしてみました。
YubiKey に AD CS から発行された証明書を格納する方法は、YubiKey PIV (Personal Identity Verification) に関しての、公式のドキュメントとして、次のような情報が公開されています。
- YubiKey Smart Card Deployment Guide
- Setting up Windows Server for YubiKey PIV Authentication
- Setting up Smart Card Login for Enroll on Behalf of
- Setting up Smart Card Login for User Self-Enrollment
この情報から追ってもよいと思いますが、日本語では、株式会社ソフト技研様が公開している YubiKey PIV Manual がわかりやすかったです。
この情報では YubiKey の初期セットアップから、AD CS で証明書が発行できる状態の準備までキャプチャ付きで公開されており、この内容を基に作業をすると、CBA で使用する証明書を YubiKey に格納することができます。
上記のマニュアルでは YubiKey の操作については、YubiKey Personalization Tool の CUI ツールとなっていますが、GUI ツールがダウンロードできたので GUI ツールを使用しています。
スマートカードログオンを使用した場合の動作
YubiKey にスマートカードログオン用の証明書が格納出来たら、CBA を YubiKey と組み合わせて実施することができるようになります。
CBA が有効なユーザーであれば、Azure AD を使用したログオンを実施する際に「証明書またはスマートカードを使用する」が表示され、クリックすることで、証明書選択が表示されます。
スマートカードログオンに対応している証明書を使用した場合、証明書を選択して OK をクリックした後に、YubiKey の PIN の入力が追加で表示されます。
ここで YubiKey の PIN (デフォルトは 123456) を入力することで、Azure AD CBA でスマートカードと組み合わせたログオンを実施することができます。
今回、証明書失効のテストはしていないのですが、失効まで含めて検証をする場合の CDP の設定については、CRL配布ポイント (CDP) の構築 を参考に実施するとよいかと思います。