「ブロック解除できないコネクタの一覧」アクションを使ってみた

※ この記事は、[Microsoft Power Automate Advent Calendar 2024](https://qiita.com/advent-calendar/2024/powerautomate) 12月4日 担当分の記事です。


# ブロックできないコネクタとは？
Power Platform for Admin（管理者向け Power Platform） コネクタに「ブロック解除できないコネクタの一覧」アクションを見つけたので、どのような動きをするのか検証してみました。

その前に、そもそもブロックできないコネクタについて、簡単に説明をしておきたいと思います。
Power Platformには、データ損失保護ポリシー（Data Loss Prevention Policy）というコネクタの利用可否を制御する機能があります。DLPポリシーとも言います。

DLPポリシー自体は、一般的に利用される用語ではありますが、Power Platformにおいても適用されるものです。

Power PlatformのDLPポリシーについては、以下に詳しい記事がありますので、こちらを参照してください。

＜参考＞
公式ドキュメント：[データ損失防止（DLP）ポリシー - Power Platform  Microsoft Learn](https://learn.microsoft.com/ja-jp/power-platform/admin/wp-data-loss-prevention?WT.mc_id=DX-MVP-5005072)
[しおりん](https://x.com/_skuramoto)さんの[【まとめ】Power Platform DLPポリシー #PowerAutomate - Qiita](https://qiita.com/skuramoto/items/abc1eb4626be7de5229b)
[じゅんじゅん](https://x.com/KodamaJn)さんの[DLPの素朴な疑問を勝手に妄想して勝手に答えてみた | ドクセル](https://www.docswell.com/s/KodamaJn/KWWV8Y-2024-10-26-134423)


DLPポリシーでは、コネクタをブロックして、ユーザーが利用できないようにするという機能が備わっています。しかし、一部のコネクタは、ブロックすることができません。
公式ドキュメントにも「ブロックできないコネクタのリスト」として掲載されています。
以下のドキュメントを確認すると、現時点（2024年12月）では、24個のコネクタがブロックできないとされています。
公式ドキュメント：[コネクタの分類 - Power Platform | Microsoft Learn](https://learn.microsoft.com/ja-jp/power-platform/admin/dlp-connector-classification#list-of-connectors-that-cant-be-blocked)

![nonblockedconnector02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/6c0c2f1e-2b12-0c33-e83d-5dd07a176baa.png)


# DLPポリシーで確認する
そもそも、DLPポリシーを作成する際に、ブロックできないコネクタを確認することができます。
以下の図のとおり、「ブロック可能」が「いいえ」となっているコネクタを確認することができます。
これは、公式ドキュメントの内容と一致しています。
![nonblockedconnector01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/1e6b11cd-95b8-b2ce-54c5-b1f8dc853892.png)

ただし、現時点（2024年12月）の情報であり、今後、ブロックができないコネクタは、増減する可能性があります。

# 「ブロック解除できないコネクタの一覧」アクション
実際に動作させてみます。
![nonblockedconnector03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/28d88e38-96df-0ccd-c1de-ab5b7b52c666.png)

出力結果は以下となりました。
コネクタのIDと、"unblocable:true"、つまり「ブロックできない」という情報が取得できました。
![nonblockedconnector04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/c9a60058-1d3e-891e-3c7f-12bc64f10674.png)

出力結果から、length()を利用し、コネクタの数を取得すると「24」個であることが分かりました。
また、コネクタのid部分を '/' split()し、出力結果をlast()で抽出した結果、以下のような値を取得することができました。
![nonblockedconnector05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/288695d9-ff5b-0bb9-8c35-619331f06333.png)

加えて、ブロックできないコネクタを非ビジネスに分類し、そのほかをビジネスに分類したDLPポリシーを作成したのち、以下のサポートブログに記載されているPowerShellを実行しました。
これで、コネクタIDとコネクタ名を確認し、ドキュメントと一致していることも確認できました。
[DLP ポリシーに設定されているコネクタの一覧を出力する | Japan Dynamics CRM & Power Platform Support Blog](https://jpdynamicscrm.github.io/blog/powerplatform/Output-dlp-policy-connector-list/)


結果をまとめたのが以下となります。

| No.| 出力結果| コネクタ名 | 
|:-----------|:-----------|:------------|
|01|shared_approvals|承認|
|02|shared_cloudappsecurity|Defender for Cloud Apps|
|03|shared_commondataservice|Microsoft Dataverse |
|04|shared_commondataserviceforapps|Microsoft Dataverse |
|05|shared_excelonlinebusiness|Excel Online (Business)|
|06|shared_flowpush|通知|
|07|shared_kaizala|Microsoft Kaizala|
|08|shared_microsoftformspro|Dynamics 365 Customer Voice|
|09|shared_office365|Office 365 Outlook|
|10|shared_office365groups|Office 365 グループ|
|11|shared_office365groupsmail|Office 365 グループ メール|
|12|shared_office365users|Office 365 ユーザー|
|13|shared_onedriveforbusiness|OneDrive for Business|
|14|shared_onenote|OneNote (Business)|
|15|shared_planner|Planner|
|16|shared_powerappsnotification|Power Apps の通知|
|17|shared_powerappsnotificationv2|Power Apps の通知V2|
|18|shared_powerbi|Power BI|
|19|shared_sharepointonline|SharePoint |
|20|shared_shifts|Microsoft Teamsのシフト|
|21|shared_skypeforbiz|Skype for Business Online|
|22|shared_teams|Microsoft Teams|
|23|shared_todo|Microsoft To-Do (仕事) |
|24|shared_yammer|Viva Engage|

# さいごに
「ブロック解除できないコネクタの一覧」アクションでどのような情報が取得できるかまでは確認できましたが、結局、このアクションを活用できるシーンが思いつきませんでした。コネクタの分類を表示するようなアプリを作る場合かなーくらい？

こんなシーンで使えるよって思いついた方がいらっしゃいましたら、ぜひ、教えてください。