Power Automate 「テナント分離」機能(プレビュー)

Microsoft 365 の Power Automate は SharePoint Online や Teams、Planner、 Exchange など各サービスを自動処理で連携し、仕事を効率化することができる優れた仕組みですが、ともすれば「繋げられすぎる」点が悩みの種です。

データー損失防止(DLP)を設定し、ユーザーが利用できるコネクタを制限することはできます。しかし、自社業務での活用を前提にするならどうしてもブロックできないコネクタがありますし、そもそも Microsoft 365 サービス関連コネクタは DLP の対象外です。

すると懸念が生じます。ある不心得な従業員が自身で Microsoft 365 を契約し、そのテナントに対して Power Automate で SharePoint や Teams 上の情報を自動コピーするようなフローを設計できてしまうのではないか?残念ながらこの答えは Yes です。容易にできます。

厳密には、これには二つのパターンがあり 1)従業員が自社の Power Automate 環境に他テナントのアカウントを接続として登録して接続するケースと、2)従業員が、他テナントに自社アカウントを接続として登録して自社テナントから情報を引き抜くケースがあります。後者の場合には Power Platform 管理者であってもフローの存在に気づけませんし、DLP の制限すら適用されないため、より深刻な問題だとと言えるでしょう。

テナント分離を管理センターから設定できるように

さて、前置きが長くなりましたが、もちろん Power Automate には勿このような「穴」を塞ぐ機能があります。それがテナント分離です。

テナント間のインバウンドとアウトバウンドを制限する
https://docs.microsoft.com/ja-jp/power-platform/admin/cross-tenant-restrictions

詳細は上記 Docs で確認できますが、テナント分離には「一方向」と「双方向」があり、「一方向」の場合は前述の (2) のケースのみ、「双方向」なら (1) と (2) 両方のケースをブロックすることができます。

ただ、これまでこのテナント分離機能を利用するには管理センターから設定することができませんでした。サポートに有効化を依頼する必要があり、少々使いにくい機能でした。しかし、Microsoft 365 のアップデートで、これが Power Platform 管理センターから設定できるようになり、またそれと同時に、制限の対象外となるドメインやテナントをホワイトリスト指定できるになる、とのアナウンスがありました。2021年9月以降、順次パブリックプレビューとして展開されます。

tenant isolation support along with the ability to specify allow list of tenants
https://docs.microsoft.com/en-us/power-platform-release-plan/2021wave1/power-platform-governance-administration/power-platform-tenant-isolation-support-along-ability-specify-allow-list-tenants

実際にテナント分離(プレビュー)を設定してみた結果

という訳で、実際に設定してみます。管理センターで「オン」にすることですべてのテナントに対して双方向の制限が有効化されます。その上で一方向または双方向の許可、という形でホワイトリストを登録する方式ですね。

なお、テナントIDを確認する方法はいくつかありますが、一番マットウ(?)なのは Azure AD 管理センターの「プロパティ」を参照する方法でしょうか。

さて、実際にテナント分離を有効した自社テナントで、他テナントの SharePoint Online にアクセスするための「接続」を設定しようとすると、下図のようなエラーが表示され登録できませんでした。他テナント側に自社テナントへの「接続」を設定しても同様です。もちろん、他テナントがホワイトリスト登録されている場合にはこのエラーは発生しません。きちんと分離が機能していますね。

プレビュー時点での懸念点

ただ、ひとつだけ懸念点があります。テナント分離を設定する前に既に登録されていた「接続」に対して分離の有効性を確認したところ、自社テナント上の他社接続(前述のケース1)についてはそのまま動作してしまいました。他社テナント上の自社接続(ケース2)については「無効な接続」としてエラーになったのですが。

もちろん、これはあくまで「プレビュー」段階での、かつ私が試した範囲での話です。実際の仕様について確実なことは言えません。単純に、自社→他社のケースはまだ認証 Token が残っていたため接続が動作してしまった、という可能性もあります。

いずれにせよ、Power Automate の業務活用を前提に考えたとき、テナント分離は情報セキュリティ面でとても重要な機能になると思いますので、はやく一般リリースして欲しいものです。