皆さんこんにちは。国井です。
少し前になりますが、Microsoft Intuneによる更新プログラム管理の勉強会を開かせてもらいました。
その時にMicrosoft Intuneの構成プロファイルの割り当て対象にグループを指定する場合、Azure ADのグループを使うのではなく、Intuneで設定するのがパフォーマンス的に良いよという話をしました。出自はこちらです。
Intune grouping, targeting, and filtering: recommendations for best performance
この解説記事では構成プロファイルの割り当てをする際に重要な指摘をしているんだけど、他に説明記事がない!だから翻訳記事とか出てきてくれると嬉しいんだけど、そういうものはどうやらなさそうなので、自分なりにまとめたものを作って載せておきます。
自分への備忘録のつもりで作りましたが、お役に立てそうだったらご自由にどうぞ。
すべてのユーザー/すべてのデバイスからのフィルター活用を推奨
ひとことで言えば、Azure ADへのアクセスが必要になるような設定をしないほうが良いってことです。Intuneの割り当て設定ですべてのユーザー/すべてのデバイスってありますけど、あれはIntune上に作られたバーチャルグループです。だからIntuneにアクセスしてくるユーザー/デバイスを全員割り当て対象と勝手にみなします。そのため●●さんはすべてのユーザーに含まれているか?なんてAzure ADに問い合わせに行ったりしないんです。だからパフォーマンスが高いって言いたいんだと思います。
私はすべてのデバイスではなくて、一部のデバイスだけに構成プロファイルを割り当てたいんだという要望も当然ありますが、その時はフィルターを使うように説明しています。フィルター設定は管理センター画面のデバイス > フィルター から設定可能で、デバイスモデルがsurfaceだったらとか、製造元がMicrosoftだったら、みたいな設定もを定義できます。これで構成プロファイルの割り当て対象を定義できるなら、Azure ADは必要なくなりますよね。
こうやってフィルターを事前に作成しておけば、構成プロファイルの割り当て時にフィルターが選択できます。
ただ、この機能は現時点でプレビューなので、すべてのメニューで使えるわけではないです。
例えば、デバイス > 機能更新プログラムなどでは使えません。
ネストするなら段階的に行うべき
グループの中にグループを追加するネスト。ネストはAzure ADでも一部機能が使えないという制約があるのでAzure ADという文脈ではネストを使うこと自体、私はあまりお勧めしていません。ただIntuneとなると少し事情が異なるようです。
Intuneの割り当てでグループが割り当てられている場合、Azure ADにアクセスし、グループのメンバーシップ情報を同期し、Intuneに保持します。このとき、同期するグループメンバーの数が膨大だとパフォーマンスに影響するのでネスト構造になるようにグループを作ってくれと書かれていました。
例として挙げていたのはメンバーが誰も指定されていない親グループを最初に作り、そのあとで段階的に子グループ1、2、3と追加していくような運用をしてくださいと言うのです。それであれば、グループのメンバーが一気に増えることはなく、徐々にメンバーが増えていくからIntuneへの負担が少ないよね?という話です。確かにパフォーマンス面では良いかもしれないけど、運用は面倒ですね。
グループを使うなら使いまわしすべし
前の説明の繰り返しになりますが、Intuneの割り当てでグループが割り当てられている場合、Azure ADにアクセスし、グループのメンバーシップ情報を同期し、Intuneに保持します。そしてこの処理をグループごとに繰り返します。そのため、下の図のような構成なんかはすごく非効率なんですよね。
構成プロファイルごとに専用のグループを作って割り当てる。でもってグループのメンバーはみんな同じ…
Intune的に言えば、だったら1個のグループにまとめておいてくれよと。
だってグループが3つあれば3グループ分の同期をしなければならないけど、1つにまとめておいてくれれば同期しなければならないグループは1つで済むからです。
■ ■ ■
クラウドだからパフォーマンスなんて知ったことではないと思われるかもしれないですが、結局のところ自分たちへのデバイスへの設定の適用という形で反映されることを考えると、このあたりは推奨事項に沿って運用したいですよね。