Intune フィルターで、iOS と iPadOS を区別してポリシー適用する！

先日ユーザーグループ割り当てのポリシーにおいて iOS と iPadOS を区別して適用したいなと思い、Intune のフィルターを使ったところ、見事理想通りに小回りを利かせることができました！

## ポリシー割り当て基本動作
基本的に Intune ではプラットフォーム (OS) ごとにポリシーを作成するため、各ポリシーは該当する OS のデバイスにのみ適用されます。例えば Windows プラットフォームのポリシーは iOS/iPadOS デバイスには適用されません。
ただし、Intune 上で iOS と iPadOS はほとんどの機能でひとくくりにされており、「iOS/iPadOS」というのがひとつのプラットフォームカテゴリになっており iOS と iPadOS は OS として区別されません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/0507a9ef-8d2d-79a0-944b-a5ae9e7f2c6e.png)

このため、iOS/iPadOS プラットフォームの設定 (ポリシーやアプリなど) がユーザーグループに割り当てられると、グループメンバーのユーザーが使用する Intune 登録済みの iOS および iPadOS に設定が一律適用されます。

もちろん、iOS 専用 / iPadOS 専用のデバイスグループをそれぞれ用意して、iOS と iPadOS を区別してポリシー適用したい場合はその専用デバイスグループを割り当て先にするという手もあります。
ただ、企業環境を想定すると「Entra Connect (Azure AD Connect) を使って Windows Server AD と Entra ID を統合しており、グループ管理運用は基本的に Windows Server AD で継続実施したい」というお客様が圧倒的に多い印象があります。
そこで、割り当て先として同期されたユーザーをメンバーとするセキュリティグループがファースト チョイスになるという前提で設計する場合、フィルターを活用するとデバイスグループを増やすことなく簡単に目的を達成できます！

## 1. フィルターを作る
**参考：** 
- [Use filters when assigning your apps, policies, and profiles in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/filters)
- [App and device properties, operators, and rule editing when creating filters in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/filters-device-properties)

今回はフィルターの種類としてマネージド デバイスを選択して作成しました。
登録済みデバイスに対するポリシー割り当てのフィルタリングをすることが目的のためです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/961cb526-4bf6-7184-2510-8367ab211526.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/cfcb2fb2-419f-79cb-df50-58dc0e6eced8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/45404faa-997c-3926-4eac-d9ca78207986.png)

以下が当テナントで使っている設定です。
| # | 大項目 |中項目   | 値 |
|:-:|:-:|:-:|:-:|
|1   |作成   |フィルターの種類   |マネージド デバイス   |
|2   |基本   |フィルター名   |iPad   |
|3   |基本   |説明   |(空白)   |
|4   |基本   |プラットフォーム   |iOS/iPadOS   |
|5   |規則   |および/または   |(未選択)   |
|6   |規則   |プロパティ   |model (モデル)   |
|7   |規則   |演算子   |StartsWith   |
|8   |規則   |値   |iPad   |
|9   |スコープタグ   |－   |既定   |

ちなみにこの記事記載時点でテナントに登録済みの iOS と iPadOS の情報を改めて比較してみると、iOS デバイスのモデル名は「iPhone ~ 」で、iPadOS デバイスのモデル名は「iPad ~ 」となっています。

▼ iOS
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/dea15ca0-4fc8-b74e-7a45-ee5a3c80dc48.png)

▼ iPadOS
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/86298aee-b78a-6a26-7e7d-128126580f23.png)

## 2. 割り当て時にフィルターを使う
**参考：**[List of platforms, policies, and app types supported by filters in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/filters-supported-workloads)

早速ポリシー割り当て時にフィルターを活用します。
ポリシー割り当て設定にて、グループ選択後にフィルターを選択します。
(フィルター単体で使うことはできず、「すべてのユーザー」「すべてのデバイス」といった Intune バーチャル グループ or 特定の Entra ID グループ選択後にフィルターの設定を追加します。)

フィルターを使えるポリシーオブジェクトは上の公開情報をご参考ください。
(登録の種類のプロファイルなどはフィルターサポート外のオブジェクトです。)

今回当テナントでは構成プロファイルやアプリ割り当てでフィルターを利用しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/a094198c-d5db-5ebc-7aa8-5d7544b2c88a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/03c1b8aa-ee83-f9dc-73eb-d91201f6ae32.png)

今回は該当設定を「iPhone には適用せず、iPad に適用する」のが理想なので、先ほど作成した「iPad」フィルターを「含める」設定にしています。
もしも理想挙動が逆 (iPhone に適用し、iPad には適用しない) であれば、フィルターの動作を「除外する」にすると実現可能です。

ちなみに今回フィルターを使ったグループ「IT Admins」は同期グループで、グループ メンバーの Smith 氏は iPhone も iPad も Intune に登録しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/bacd6f79-d357-3ad1-8011-1c511162a6a0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/e124a17f-282b-b6eb-6a4d-356d17a64e51.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/997349f0-5b4f-6f39-4ea6-c2a259f2a43c.png)


## 3. 適用結果確認
**参考：** [Filter reports and troubleshooting in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/filters-reports-troubleshoot)

理想通り、「iPhone には適用せず、iPad に適用する」を実現できました！

### i. 構成プロファイル
#### a) iPhone：適用されない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/35a03917-d9fd-066f-8ec2-dd2cc84b87fc.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/30990df8-6400-9924-0b8b-bf0a42ca2232.png)

#### b) iPad：適用される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/ce4a8c58-f048-ce4a-1d9f-83763e2946ea.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/c22f35c3-fb55-17ac-844d-1c5583cf06ba.png)

### ii. アプリ
#### a) iPhone：適用されない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/77056c53-a5c3-2cda-9cc7-3d27d5428661.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/b45e9420-b3a3-a21b-acf7-a3380e0f3cc1.png)

#### b) iPad：適用される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/63006771-c3c6-bf0a-61c5-27445fd69998.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659465/cd425159-9ed3-fdea-a699-a71f4d72c7f8.png)

## フィルター 一考。フィルターは革命だ！
iOS と iPadOS を区別したい要件がある場合、「iPhone」・「iPad」両方のフィルターをそれぞれ作成するのではなく、どちらか 1 つのフィルターを作成して必要に応じて割り当て設定上で「含める」/「除外する」動作を設定するのがおすすめです。

フィルターは 1 テナントに 200 個までという作成可能数に上限があるため、「含める」/「除外する」フィルター割り当て設定を賢く使い、できるだけ少ない数のフィルターで要件を実現するように設計するのがいいと思います。
(スコープタグもできるだけ「既定」を使って各スコープでフィルターを共有するといいと思います。フィルターの編集権限が気になる場合は面倒ですが可能であればロールでアクセス権を絞れるとベストです。)
ざっと考え得るフィルターのデメリットは、この数上限かなと思います。

Entra ID の動的グループだと 1 テナントに 5,000 個まで作成可能なため、今回想定しているような「同期グループメインで運用する」ような前提・制約が無い場合は動的グループを積極活用するのも手かもしれません。
(参考：[Microsoft Entra service limits and restrictions](https://learn.microsoft.com/en-us/entra/identity/users/directory-service-limits-restrictions))

ただし、Intune のパフォーマンス観点では動的グループのメンバー処理よりもフィルター処理の方が早く、「動的メンバーシップを使いたいがラグがクリティカル」といったシナリオではフィルターの利用が推奨されています。
(参考：[Performance recommendations for Grouping, Targeting and Filtering in large Microsoft Intune environments](https://learn.microsoft.com/en-us/mem/intune/fundamentals/filters-performance-recommendations))

また、本来ユーザーグループ割り当てだとデバイスグループで除外設定することはできませんが、フィルターを使うとデバイスのプロパティをもとに適用先を振り分けることができるのは、圧倒的な革命です。
(参考：[Assign policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/configuration/device-profile-assign))

これも念頭に、今後積極的にフィルターを設計に組み込んでいきたいと思っています！

Now let's use the filter to its fullest and have a fulfilling Intune life!