条件付きアクセスで[デバイスのフィルター]を使う

皆さんこんにちは。国井です。
Azure ADの条件付きアクセスで[デバイスのフィルター]というメニューが登場してから(プレビュー)という文字も消えたみたいなので、そろそろ使ってみたいと思います。

デバイスのフィルターとは?

Azure ADのアクセス制御機能である条件付きアクセスでデバイスに割り当てられた属性情報に基づいてアクセス制御設定ができる機能です。
例えば、デバイスの名前、Azure ADへのデバイス登録種別(Azure AD登録、Azure AD参加など)、デバイスのモデルなどを条件にできる特徴があります。

image

設定画面には、Azure AD管理センター > Azure Active Directory > セキュリティ > 条件付きアクセスからポリシーを作成し、ポリシー内にある条件 > デバイスのフィルターからアクセスできます。

image

[デバイスの状態]を使っている人はお早めに!

ここからはいくつかの利用シナリオを考えてみます。
最初に話をしておかなければならないのは条件付きアクセスで[デバイスの状態]を使っているケースです。[デバイスの状態]メニューは

デバイスは準拠としてマーク済みでなかったら多要素認証を有効にする」
Hybrid Azure AD Join を使用したデバイスでなかったら多要素認証を有効にする」

のような条件(黄色で塗った部分の条件)を設定するときに使用します。
しかし上の画面にも書いてあるように[デバイスの状態]メニューは非推奨になっているので、なくなるのは時間の問題です。
早めに[デバイスのフィルター]で代替の設定をしましょう。

■デバイスは準拠としてマーク済みでなかったら..
この設定をデバイスのフィルターで定義するときは

isCompliant 次の値に等しい True

と設定すれば、Intuneのコンプライアンスポリシーの結果に基づくアクセス制御ができます。

image

ちなみにこんな感じで設定しても結果は一緒です。違いがわかりますか?

image

■Hybrid Azure AD Join を使用したデバイスでなかったら..
この設定をデバイスのフィルターで定義するときは

TrustType 次の値に等しい Hybrid Azure AD joinを使用した

と設定すれば、ハイブリッドAzure AD joinであるかに基づくアクセス制御ができます。

image

Azure AD参加であればアクセスを許可

これまでの条件付きアクセスだとAzure AD参加だったら.. という条件は書けませんでした。
そのため、会社支給のデバイスだったら.. という条件設定は

・ハイブリッドAzure AD join
・Intuneに登録されたデバイス

のいずれかになり、Active Directoryを持っていない会社で「社給デバイス」を定義しようと思ったらIntuneを買うしかないという罠になっていたりします。
デバイスのフィルターでは新しくAzure AD参加だったら.. という条件が書けるようになったので、Azure AD Premiumのライセンスしか持っていない会社でもライトに社給デバイスの定義ができるようになりました。

image

ただしAzure AD参加の条件はEdgeでのみ有効で、ChromeではWindows 10 Accounts拡張機能を入れてもAzure AD参加を認識しなかったんですよね..

OSバージョンに基づくアクセスの許可

機能更新プログラムのxxxxまでがインストールされていなければアクセスさせない!のようなアクセス制御もコンプライアンスポリシーで定義する必要があったのでIntuneを買うしかないという罠になっていたのですが、デバイスのフィルターで

OperatingSystemVersion 次の値に等しい 10.0.xxxxx.xxxx

と設定すれば定義できるようになっています。

image

Windows 10/11のバージョンは機能更新プログラムとして、どこまでがインストールされているかによってバージョンが変わってきます。バージョンごとのバージョン番号は以下のとおりですので、この文字列が含まれるように条件を設定してください。

OSバージョン バージョン番号
Windows 11 10.0.22000
Windows 10 21H1 10.0.19043
Windows 10 20H2 10.0.19042
Windows 10 2004 10.0.19041
Windows 10 1909 10.0.18363
Windows 10 1903 10.0.18362

ただしIntuneのコンプライアンスポリシーと違って、バージョンがxxxx以上という設定ができないのでそこが面倒なところではあります。

image
やっぱりIntuneを買うしかないのか..

デバイスの属性情報をどうやって確認するのか?

ここまで紹介した方法以外にも様々な属性を条件に設定できます。MSのdocsサイトで紹介されているのでご参考ください。

ところでOSのバージョンで気がついた人もいると思いますが、そもそもデバイスの属性情報ってどうやって確認するのでしょうか?
これはAzure AD管理センターから[デバイス]をクリックして情報を参照します。

image

これで事前にデバイスの属性情報を調べて登録していくようなことをすればよいでしょう。
なお、デバイスのフィルターから設定可能な属性にはIntuneで保有している情報も一部あります。上の画面で[管理]をクリックするとIntuneの画面に移動して、ご覧のような画面を参照できます。

image

image

デバイスのフィルターで定義されている属性のほとんどはこちらで確認できるのですが、mdmAppIdだったり、extensionAttribute1-15 (オンプレから同期して使うのかな?)などは残念ながら確認することはできません。
ちなみに私はいまextensionAttributeにどうやって値を入れるのかというところで苦しんでいるところなので、実装できた方いらしたら共有していただけると嬉しいです!
12月14日追記
extensionAttributeの登録方法について投稿しました。

条件付きアクセスで[デバイスのフィルター]を使う (2) | 国井 傑のブログ (azuread.net)

■参考URL
Windows 365 の Cloud PC を「条件付きアクセス」で許可する (zenn.dev)