#PowerAutomate セキュリティグループのメンバー追加・削除をトリガーする

Power Automate で、セキュリティグループのメンバーが追加、あるいは削除されたら発火するフローが組めたら便利じゃあないですか？Microsoft 365 管理者業務を Power Automate で自動化したい！という場面でシバシバ思ってたんですよね。

やり方、見つけました。

# はじめに あるいは おことわり
公式情報に利用の是非が明確に記載されていないため、当記事のテクニックが今後の Update で利用不可となる可能性があります。予めご了承ください。加えて、当記事のテクニックは自己責任でご利用ください。
おそらく、とうぶん大丈夫なんじゃないかなー、などと希望的観測を当方はもっておりますが、将来どんな Update があるかわからないので念のため書いておく次第です(汗

# Azure AD コネクター はトリガーが無い！
Power Automate で提供されている Azure AD (以降、AAD) のコネクターには、記事投稿時点でトリガーがありません。つまり、セキュリティグループどころか、AAD で操作した何かしらでフローを起動＝発火するコトができない！という衝撃の事実なんです。

●Azure AD コネクター

https://docs.microsoft.com/ja-jp/connectors/azuread/?WT.mc_id=BA-MVP-5004053

では、セキュリティグループに関連するトリガーがあるか？を調べてみようと思います。そのものズバリ”セキュリティグループ”でコネクターを検索してみましょう。
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/e56b904d-f31b-3667-4434-ec44f6f5a72f.png)
はい、何も見つかりません。


え？ホントにセキュリティグループのメンバー追加・削除をトリガーできるの？？？

ワイ「できらぁッ！！」

# Microsoft 365 Groups コネクターを使う！
フローで有償コネクターを利用せず HTTP を（限定的に）叩ける、Microsoft 365 Groups（M365グループ）コネクターだったら、もしかして・・・と思ったんですよ。もしかしたら、もしかしました。なお、Power Automate 上で検索する際は「Office 365 Groups」で探してください。

●Office 365 Groups コネクター

https://docs.microsoft.com/ja-jp/connectors/office365groups/?WT.mc_id=BA-MVP-5004053

なお、Power Automate 上のコネクター表記は「Office 365 Groups」となっています。これは古い表記です。M365 上では ”Microsoft 365 Groups” が現在正しい表記です。つまり、Power Platform のコネクター名称が古いまま、ってコトですね。

https://docs.microsoft.com/ja-jp/microsoft-365/admin/create-groups/office-365-groups?view=o365-worldwide&WT.mc_id=BA-MVP-5004053

## セキュリティグループをトリガーする方法
表記の新・旧が統一されていない箇所があって非常にややこしいので Power Automate 側の説明は、以降すべて「Office 365 コネクター」と表記します。フローを新規作成して、Office 365 コネクターを追加しましょう。トリガーは2つしかありません。
![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/c5f545d8-cdea-5811-e6a3-a113bf2bba3c.png)
ユーザー追加・削除をトリガーしたい場合は、読んで字のごとく、の「グループ メンバーが追加または削除されたとき」を選択しましょう。ドロップダウンの項目にはテナント上に作成済みの Microsoft 365 Groups のみ表示されます。セキュリティグループを指定する場合は［グループ ID］へカスタム項目の追加で直接 ID を指定する必要があります。
![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/510a2db9-0523-efe5-c5cc-67e04c043263.png)

セキュリティグループの ID（＝オブジェクト ID）は Power Shell 等でも確認可能です。イチバン簡単なのは Azure AD 管理センターの画面からコピー＆ペーストだと思います。
![画像4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/e98a78e8-b05e-6459-26dd-b1180e16f78f.png)

これだけで、トリガーアクションへ ID を指定したセキュリティグループへユーザー追加・削除が行われた際に発火するフローを作っていけるようになります！

## サンプル フロー全体像
セキュリティグループをトリガーに指定した下図のフローを作成しました。前述のトリガーを設定して、フローがトリガーされた対象のユーザー ID を確認しているだけ、の簡単なフローです。
![画像5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/97d787ed-513a-43b5-9a7a-49682c0fea42.png)

## 動作イメージ
実際に該当のセキュリティグループへユーザーの追加、削除をしてみましょう。

### ユーザー追加
セキュリティグループへユーザー追加します。Azure AD 管理画面で操作していますが、Microsoft 365 管理画面でオペレーションしても同様の結果が得られます。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Add user to security group. Trigger Power Automate. <a href="https://t.co/cVuy8CfaSd">pic.twitter.com/cVuy8CfaSd</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1543729633811918849?ref_src=twsrc%5Etfw">July 3, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

動画内ではフローをテスト実行をしてから、セキュリティグループのメンバー操作を実施しています。その理由は『デモ用にフローの発火タイミングを可能な限り早くしたかった』からです。通常利用の場合は、テスト実行せずともトリガー発火しますのでご安心ください。
※メンバー変更などはタイムラグが大きい場合があるので、のんびりとした気持ちを構える心の広さを持つようお願いします。

### ユーザー削除
セキュリティグループからユーザーを削除して追い出します。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">セキュリティグループからユーザーを削除する。Power Automateをトリガーします。 <a href="https://t.co/YoV8Omfssd">pic.twitter.com/YoV8Omfssd</a></p>&mdash; やま（やま） (@yamad365) <a href="https://twitter.com/yamad365/status/1543729741815226368?ref_src=twsrc%5Etfw">July 3, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

バッチリ、意図した動作をしてますね。

# まとめ

- セキュリティグループのユーザー追加・削除は「Office 365 Groups コネクター」でトリガー可能
    - Azure AD コネクターは、現状ではそもそもトリガーが無い
- セキュリティグループのオブジェクト ID で指定する必要アリ
    - グループの ID を指定できれば、実はセキュリティグループに限らない！
- 「Office 365 Groups コネクター」のトリガーは”ユーザー追加・削除”まとめて発火する

このテクニックを活用すると、セキュリティグループと期待通りに連動してくれないヤツらに対して、Power Automate による自動化が実現可能です。しかも、有償ライセンスの追加無しで！！
動的グループでアレコレしないとアレなヤツとかね。活用事例は、次の記事で書こうかな、と思っていますので、気になる方は暫しお待ちあれ。
 → 書きました（2022/07/11）。下記、記事を参照されたしです。

https://qiita.com/yamad365/items/37d116a85e9cf161700c

それでは、皆さま、素晴らしい Power Platform Life を！