Windows Hello for Businessを設定した端末で AzureAD 条件付きアクセスの多要素認証(AzureMFA)によるアクセス許可を適用する

AzureAD条件付きアクセスによる多要素認証(AzureMFA)のアクセス許可について、備忘録として記載します。

以下、条件付きアクセスの「アクセス権の付与」設定にある、”多要素認証を要求する”機能を使えば、多要素認証にてログインしたユーザーのみ、アクセスを許可することが可能になります。

多要素認証のログインは通常であれば、ユーザーID/パスワードを入力してログインする手順に対し、さらに別方法での認証も要求する機能です。

ここでは、多要素認証を要求する条件付きアクセスを導入するにあたり、Windows Hello for Business(本記事で後ほど出てきます)を使った多要素認証によるログインについて、検証した結果を記載しております。


条件付きアクセスの多要素認証によるアクセス許可の導入検討について

上述に記載した多要素認証機能は、セキュリティ向上する一方で、毎回ユーザーID/パスワードを入力した後に、もう一度認証することになるので、少しユーザーから見ると、利便性が下がります。
そこで社内からであれば、会社で支給している端末だから社内からのアクセスは多要素認証をスキップしようと検討することがよくあります。

AzureAD条件付きアクセスは様々な”条件”に対し、”アクション”を実行できるため、上記のような社内から接続したものは、多要素認証をスキップする設計ができるわけです。

ただ、この場合、完全にセキュリティ対策ができていない可能性があります。万が一、ユーザーIDとパスワードが漏洩した場合、社内接続している端末からであればログインできてしまうわけです。

そこでWindows Hello for Businessを設定します。

Windows Hello for Businessとは

Windows Hello for Businessは、 パスワードを生体認証またはPINコード入力に置き換える新しい資格情報による認証方法です。
この資格情報はデバイスに紐づけられた、ユーザーID/パスワードとは別の資格情報となるため、多要素認証(ユーザーID/パスワード以外の認証)を実現していることになります。

これにより、これまで、Windowsで度々、求められていた下記のような多要素認証要求画面を省略することが可能になります。

■ユーザーID/パスワード入力後の多要素認証(SMS版)

また、この資格情報はデバイスに紐づけられるため、他の端末がログインしようとしても、デバイスに紐づけられた資格情報がないため、従来通り、上記の多要素認証が求められます。

実際に条件付きアクセスとWindows hello for Businessを組み合わせて検証してみる

実際にやってみました。
まずは、Windows Hello for Businessを求めるように設定します。以下二つの方法がありますが、Intuneデバイス構成プロファイルでクライアント端末側にWindows Hello for Business設定を適用します。

①組織全体にWindows Hello for Businessを適用する
⇒前提としてAuzreAD参加とIntuneの自動登録構成が必要です

2020/12/29 更新
組織全体にWindows Hello for Businessを無効化する場合、以下で実施できます。

AzureAD参加デバイスへサインインしたときに表示されるWindows Hello for Business設定を無効化する | ~IT Note ~

AzureAD参加した端末へサインインすると、規定ではWindows Hello for Businessの設定画面が表示されます。 AzureAD参加した後、別のAzureADユーザーでログインすると下記のようにセットアップが求められます。

②Intuneデバイス構成プロファイルでWindows Hello for Businessを適用する
⇒Intune登録が必要です。こちらもAzureAD参加またはハイブリッドAzureAD参加する端末に適用するには、Intuneの自動登録構成を設定しておきましょう。

Intune デバイス構成プロファイルの設定(Identity Protection)

エンドポイント管理センターにアクセスします。「https://devicemanagement.microsoft.com

[構成プロファイル]-[+プロファイルの作成]で以下のようにプロファイルを作成します。
プラットフォーム:Windows 10 以降
プロファイル:Identity Protection

任意で名前、説明を入力します。

ここでWindows Hello for Businessの構成を[有効にする]を適用しましょう。
すると詳細な設定が可能になります。

一部抜粋した設定項目の補足

  • PINの回復を有効にします・・有効にするとユーザーがPINの変更が可能
  • 生体認証を許可する・・PINコードの設定に加えて、顔/指紋認証の設定が可能
  • TPMを使用する・・この設定を使用すると、TPMを搭載している端末のみ、Windows Hello for Businessの構成が可能となる
  • サインインのセキュリティキーを使用・・PCログオンをWindows Hello for Businessのキーでログイン可能にする

ちなみに、1台のWindows10コンピューターに登録できるWindows Hello for Businessのユーザー数は10人までとのことです。共有PCとかは気を付けないといけないですね。

https://docs.microsoft.com/ja-jp/windows/security/identity-protection/hello-for-business/hello-faq#1%E5%8F%B0%E3%81%AE-windows-10-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%AB-windows-hello-for-business-%E3%82%92%E7%99%BB%E9%8C%B2%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E6%95%B0%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84how-many-users-can-enroll-for-windows-hello-for-business-on-a-single-windows-10-computer

次に適用グループを指定します。
今回の検証では、AzureAD参加したデバイスグループに対し、適用します。
この割り当てを行うにあたり、留意事項があります。

どうも公開情報を見る限りですが、共有PCなど複数のユーザーに対して、適用する場合、デバイスを適用対象とするようにと書かれています。ユーザーに対して、適用すると1ユーザーしか対象デバイスに対し、設定ができないと読み取れます。

https://docs.microsoft.com/ja-jp/mem/intune/protect/identity-protection-configure#create-the-device-profile

共有PCに対しては、デバイスを適用対象として選択する必要がありそうです。ただし、1台のWindows10に対し、10人までという上限はありますので、ご注意ください。

適用性ルールは無視します。指定する場合、”OSEdition”、”OSversion”で適用するルールを設定可能です。

設定内容に問題なければ、[作成]をクリックします。

作成後、自動で適用されますが、対象デバイスを手動同期させて強制的に反映させます。

構成プロファイルが適用されました。

対象端末を再サインインしてみましょう。

来ました。”お客様の組織ではWindows Helloが必須です”というセットアップ画面が表示されました。
※よくわからないですが、最近、AzureAD参加したタイミングでポリシーを適用していないのにこの画面が表示されるケースがあるようです。

[PINのセットアップ]をクリックすると、AzureAD認証ポップ画面が表示されます。ここでもし、入力せずにキャンセルすると、エラーとなり、スキップができます。
今回はちゃんと入力しました。
すると、追加のセキュリティを求められます。

よくある多要素認証(AzureMFA)のセットアップ画面が表示されます。
これはどうやら必須で登録する必要があります。しかもSMS認証なので、電話番号が必須で必要です。。

登録した電話番号の端末に確認コードが送られます。
送信されたコードを入力しましょう。

すると、PINセットアップが求められるので、入力します。
タイプミスのエラーなので無視してください。。。

これで設定完了です。
今回の検証環境は仮想であるため、顔/指紋認証が設定できませんでした。
近いうち、物理PCでの設定も検証してみたいとは思います。

AzureMFA(多要素認証)による条件付きアクセス許可を設定する

AzureAD条件付きアクセスのアクセス権の付与から、”多要素認証を要求する”にチェックを入れます。
なお、条件付きアクセスの対象はWindows Hello for Businessを設定したユーザーを選択しておきます。

多要素認証の要求がスキップされるかを確認する

操作目線では、スキップという表現になりますが、厳密にいうと、多要素認証の要求がスキップされているわけではなく、多要素認証としてアクセスしているとして、みなされることになります。

まずは、Windows Hello for Businessを設定していない端末でアクセスしてみます。当然、従来通りに多要素認証を要求され、下記のような画面に遷移します。Windows Hello for Business登録時に設定したSMS確認コードによる認証を求められていますね。

では、次に、Windows Hello for Businessを設定した端末でアクセスしてみます。
Windows Hello for Businessでログインすると、さっそく新しいEdgeを起動すると、サインインした旨、表示されました。
PCログイン時にトークンが取得され、新しいEdgeを起動した際に、SSOされました。 また、この状態でOffice365ポータルに接続すると、当然、SSOにより何もせずにログインが完了します。

多要素認証も求められず、ログインできていますね。( 別ブラウザでも同じ動作となりました。)

Windows Hello for Businessを設定している端末で多要素認証によるログイン操作をスキップできた

操作上、多要素認証によるログイン操作をスキップできました。
ただ、実際はWindows Hello for Businessにより、多要素認証としてログインしているから、しっかりアクセス許可を付与されているのです。
AzureADのサインインログにも出力されています。

■失敗時の認証ログ

■成功時の認証ログ

これまで長々とお話しましたが、あくまで自身の検証結果をもとに記載している内容になりますので、ご参考までにご愛読いただけますと幸いでございます。
誤っている点や更新があったものがありましたら、ご教示願います。

ではまた。