Azure ADの動的なグループメンバーシップ設定

皆さんこんにちは。寝ても覚めてもAzure ADを使い続ける日が続く、国井です。

前回に引き続き、セミナーでいただいたQ&AからAzure ADのグループ設定について。
Azure ADによるグループ管理機能に「動的メンバーシップ」という機能が登場しました。
動的メンバーシップとは、ユーザーの属性に基づいて、グループのメンバーを自動的に構成する方法で、例えば、部署が営業部になっているユーザーだけを自動的にSalesグループのメンバーにする、ような構成が可能になります。

これって、人事異動のたびにSalesグループのメンバーを手動で入れ替えるみたいな面倒なことをしなくて済むんですよね。その意味でとても画期的な機能だと思います。(なにせ、Active Directoryドメインサービスにだって、そんな機能ないのですから!)

設定方法

ここでは、管理者のグループとしてAdminsというグループを用意し、
グループのメンバーに部署名(Department)が管理者のユーザーが追加されるように構成します。まずはユーザーのプロパティに「IT管理者」と入れておきましょう。

image

続いてグループですが、グループのプロパティを開き、構成タブから
動的メンバーシップを有効にし、条件として department –contains 管理者
と設定します。

image

これにより、管理者の文字が含まれるユーザーがメンバーになりますので、部門がIT管理者のAdminユーザーはAdminsグループのメンバーになります。

ところが、Azure管理ポータルからは
動的メンバーシップによって、だれがメンバーなのかは確認できません!

そのため、グループのメンバーを確認したければ、Powershellを使わなければなりません。
Azure 用 Powershell モジュールを起動し、Azure ADの管理者アカウントで接続して(Connect-MsolServiceコマンドレット)、
Get-MsolGroupコマンドレットとGet-MsolGroupMemberコマンドレットを使って調べます。

調べ方は最初にGet-MsolGroupコマンドレットで特定のグループのObjectIdを調べ、

image

調べたIDをGet-MsolGroupMemberコマンドレットで指定して実行します。
すると、グループのメンバーにAdminユーザーが登録されていることが確認できます。

image

複数条件の設定

動的メンバーシップの設定で、複数の条件を設定したい場合には、[高度なルール]を使います。ただし、高度なルールはクエリを書かなければなりません。

image

画面でも確認できるように

オブジェクト種類.属性 接続詞 属性の値

の要領で書きます。
ですので、department属性に管理者という値が含まれる場合だったら、

user.department –contains “管理者”

となるわけです。
いよいよ本題ですが、これを利用して複数の条件を設定する場合、-and や –or の接続詞を使うことができるので、

(user.department –contains “全体管理者”) –or (user.department –contains “部門管理者”)

のような書き方が使えます。

あとは、属性の値に何も入っていない場合という表現を使うときは、値として $null を使うこともできるようですね。

お試しあれ!

参考
Dynamic memberships for groups in Azure AD – Public Preview
https://msdn.microsoft.com/en-us/library/azure/dn913807.aspx