Microsoft 365関連で調査、検証した内容をブログにしています。
かなり久しぶりの投稿となります。
今回はEntra IDの動的メンバーシップについて検証した内容となります。
■はじめに
動的メンバーシップについて簡単に説明すると、グループへのメンバー登録/削除を自動で行ってくれる機能となります。
動きとしては、グループ作成時にメンバーへ追加するユーザーの属性をクエリとして条件定義し、その条件にマッチするユーザーのみを登録してくれるようなものとなります。
例としては、「営業部」というグループを作成し動的にメンバーの出し入れをしたい場合、[部署]の属性が[営業部]というユーザーのみを登録するというクエリを定義するようなイメージです。
■検証した理由
Microsoft 365ではライセンスの種類が多様化しているため、テナント内で複数のライセンスを契約しているパターンは少なくないと思っています。
そのような状況を想定し、特定ライセンスが付与されているユーザーのみに絞った形で動的メンバーシップが組めるのかを確認してみました。
上手く活用できれば、特定のサービスプランが含まれているライセンスでないと使えない機能(例えば条件付きアクセスなど)の利用グループとして使えるのではないかと考えています。
■条件定義可能な範囲について
条件として定義可能な範囲は以下に記載されているものとなります。
Microsoft Entra ID のグループの動的メンバーシップ ルール
■「assignedPlans」条件
リンクの内容を見ていただくと分かるのですが、残念ながら定義できる条件にライセンスはありませんでした…
しかしながら、ライセンスに含まれているサービスプランを条件として定義する「assignedPlans」というものがありました。
使い方によっては今回やりたかったことと近しい制御ができるのではないかと思い検証してみました。
■検証内容
テナント内に「Microsoft 365 Apps for business」、「Microsoft 365 Business Premium」という2つのライセンスを適用し、Business Premiumが付与されているユーザーのみが属する動的グループが作成できるかを検証します。
以下は設定手順です。
①グループの作成画面を開きます。
※動的グループの作成はEntra ID管理センターからのみ可能となります。
②メンバーシップの種類に[動的ユーザー]を指定し、[動的クエリの追加]をクリックします。
③動的メンバーシップの設定画面が開くので、[編集]をクリックします。
④以下のクエリを入力し、[OK]をクリックします。
今回はApps for businessには無く、Business Premiumには有るサービスを指定したいのでEntraID P1を条件として定義します。
user.assignedPlans -any (assignedPlan.servicePlanId -eq "対象サービス名のフレンドリ名" -and assignedPlan.capabilityStatus -eq "Enabled")
※EntraID P1の場合「41781fb2-bc02-4b7c-bd55-b576c07bb09d」
各サービスのフレンドリ名については以下のリンクから確認できます。
ライセンスのための製品名とサービス プラン 識別子
⑤グループを保存します。Entra ID側の設定としてはこれで完了です。
⑥ユーザーを作成して動的メンバーシップが動くかを確認します。
赤枠にユーザーのみBusiness Premiumのライセンスを付与しているので、このユーザー達がメンバーに登録されれば上手く動作したことになります。
⑦対象ユーザーのみがメンバーに登録されていることが確認できました。
■最後に
「assignedPlans」条件を代用することでやりたいことがどうにか実現できました。
こちらを活用することで例に挙げた条件付きアクセスの割り当てグループやIntuneのポリシーの割り当てにも利用できると思うので、結構使う場面は多そうです。
ただ、あくまでライセンスではなくサービスプランの差異を確認したうえで対象とするサービスを指定している形ですので、事前にライセンスの差異確認はしっかりと行った方がいいと思います。
本記事の内容が何かの参考になれば嬉しいです。
今後もMicrosoft 365関連で調査、検証した内容はブログに残していこうと思います。