Power Platformにおける環境戦略ベストプラクティス（既定環境の管理を含む）

# はじめに
みなさんこんにちは、マイクロソフト佐々木です。

Power Platformは、企業のデジタルトランスフォーメーションをサポートする強力なツールであり、適切な環境戦略を採用することで、リスクを最小化しつつ生産性を最大化することが可能です。本記事では、Power Platformの環境戦略に関するベストプラクティスを紹介し、特に大規模なテナントでの展開を効果的に行うためのポイントを解説します。

個々の設定項目は割愛します。あくまで概念ベースでの紹介となります。

# 参考にした公式リンク
主に以下の公式情報を要約：

https://learn.microsoft.com/ja-jp/power-platform/guidance/white-papers/environment-strategy

https://learn.microsoft.com/ja-jp/power-platform/guidance/adoption/manage-default-environment


:::note info
留意事項
環境戦略は企業の目的に応じてユニークなものであり、本ブログで紹介するのは独自の解釈を加えつつ、ブログ記事を要約したベストプラクティスとなります。
:::


# 環境戦略：リスクを最小化しながら生産性を最大化するために必要なこと

Power Platformにおける環境戦略とは、組織がPower Platformを効果的かつ安全に活用するために、環境の設計、管理、ガバナンスを計画的に行う方針や手法を指します。

Power Platformは、アプリケーションの開発、プロセスの自動化、データ分析などを行うためのツール群であり、これらの機能を最大限に活用するためには、適切な環境戦略が不可欠です。

# 環境戦略におけるポイント、ここだけは抑えましょう！

1. **目的別の環境を利用者に提供する**
   - 既定環境の利用方法を検討する（推奨：最小限の利用）
   - 環境ルーティングを利用し、開発者には個別の環境を提供
   - 利用者層、目的に合わせて環境を作成し、提供
   

2. **テナント、環境のセキュリティを保護する**
   - DLP ポリシーを事前定義してそれぞれの環境に適用し、データを保護する
   - 最小特権のセキュリティロールを利用者に割り当てる
   - マネージド環境をはじめとするセキュリティ機能を活用する
   

3. **エンタープライズ規模の環境戦略をサポートするマネージド環境の機能の活用**
   - より少ない労力で、より多くの制御、分類での分析を実現できる Power Platform の大規模な管理機能を提供
   - 環境ルーティング、環境グループを利用し、既定環境を保護する
   
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/c8f369b7-ae21-4238-f099-aefb3ba7a8a2.png)


# Power Platformのセキュリティ・ガバナンスのイメージ
5つのレイヤーで検討が必要です。後述の内容もこれらをイメージしていると理解しやすいと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/288d25fd-2241-f7e6-d884-a4f1fb2395b6.png)




# エンタープライズ規模の環境戦略のベストプラクティス
少し詳細です。
目指すべき姿と個々の検討タスクとしています。順々に説明します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/bb0f2123-9fe2-a286-e507-e46556a4cd2d.png)

## 既定環境を正しく利用する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/b8be8e61-7517-c2fe-88ea-9c52665f7462.png)

はい、永遠の課題からです。
こちら課題にされている企業様が多いのではないでしょうか？

### 既定環境の特徴
- 個人や小規模チームのために利用されることを推奨 → Power Platform 管理者によって適切に管理される
- テナントに必ず存在
- 削除、バックアップ不可
- すべての開発者で既定の環境で開発、活動可能（環境作成者のロールが割り当て）
- 既定環境には Dataverse 容量が割り当てされる（初期値：7GB / 最大：1TB）
- 既定の環境の Dataverse（データベース領域）に保存されるデータがある

### 既定環境のベストプラクティス
- 個人的な生産性のためにのみ使用され、重要または複雑なアプリケーション/ユースケースがない
- 利用者に既定環境の利用方針を通知する
- 既定環境の名称を適切に変更する（例：個人の開発環境）
- DLP ポリシーなどで制限する必要がある（Office365 コネクタのみ使用可能）
- 多くの人とアプリやフローを共有しない
- アプリやフローが多くのユーザーと共有されるようであれば、実装を検証するための定義されたプロセスが必要であり、より管理され監視された他の環境に移す必要がある
- Dataverse 容量を適切に管理する

## 【検討事項①】既定環境の利用を制御する方法を検討する
上述のとおり、自由に使えるという側面がありつつ、それが良い意味でも悪い意味でも働く側面があります。
そのため、本番的に稼働するリソースは作られないようにし、常にクリーンな状況を推奨しております。
Power Platform 管理者は、既定の環境を制御する方法を検討し、必要に応じて実装する必要があります。
考えられる検討タスクは下記のようなものが挙げられるかと思います。

| カテゴリ | アクション | 詳細 |
| --- | --- | --- |
| 設定 | DLPポリシーの設定 | コアとなるコネクタ（ブロックできないコネクタ）の解放 |
| 設定 | 全員との共有を制限する | 組織全体への共有を制限する |
| 設定 | 既定の環境の名前を変更する | 環境名を個人用検証環境などに変更する |
| 運用 | 使われていない、孤立したコンポーネントの検出 | CoE Starter Kit をインストール済みの場合は利用する（孤立したオブジェクトのクリーンアップを設定する） |
| 設定/運用 | 利用頻度の高いアプリの特定、運用環境へ移動（ミッションクリティカルなアプリを運用しない） | Power Platform 管理センターもしくは CoE Starter Kit をインストール済みの場合は利用する（広範に共有されているアプリを特定する） |
| 設定/運用 | ソリューションを利用して、既定の環境からアプリケーションを移動する | マネージド環境を利用し、Power Platform パイプラインを設定する |
| 運用 | Dataverse容量の管理 | 既定環境のDataverse容量（初期値：7GB / 最大：1TB）を管理する |
| 運用 | 既定環境のDataverse容量を消費するデータ例： | - 無償版Power Automate Desktop<br> - Microsoft Project<br> - Teams から作成されたクラウドフロー<br> - SharePoint フォーム（既定値）<br> etc... |


https://learn.microsoft.com/ja-jp/power-platform/admin/environments-overview#default-environment

https://learn.microsoft.com/ja-jp/power-platform/guidance/adoption/manage-default-environment

## 【検討事項②】開発者環境を利用し、開発者個別の環境を用意する
マネージド環境の機能となりますが、環境ルーティングを利用することで、新規または既存の開発者に対して、自動的に個人開発環境に作成・誘導することが可能です。
既定環境の利用を回避するという意味では、マイクロソフトが推奨している機能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/54e938bf-a485-1783-260e-104d0b769e36.png)

https://learn.microsoft.com/ja-jp/power-platform/admin/default-environment-routing?tabs=classic

## 目的に応じた環境を用意する
このあたりはイメージつく方が多いのではないでしょうか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/85d1ee44-bb54-cb81-142c-fa00930a838c.png)

### 環境とは
おさらいですが、
環境とは、アプリ、フロー、 データ、接続、その他リソースを管理するために使用するコンテナです。
EntraIDのセキュリティグループやセキュリティロールを利用（後述）することでユーザーにリソースを使用させるためのアクセス権（認証・認可機能）を付与する側面もあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/e156836b-be2c-87d2-b244-7a3375238a06.png)

https://learn.microsoft.com/ja-jp/power-platform/admin/environments-overview

### 環境種別
ざっくりこんな感じです。
既定環境は上述のとおり、自由に使える（使えてしまう）環境ですので、**利用目的に応じて適切に管理された**
個別環境や開発者環境の利用が推奨されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/f9f50529-61c5-9773-163b-04fb7857663f.png)


## 【検討事項③】環境戦略を検討し、目的別の環境を用意する
図示された左手は検討事項①~②で説明した通りです。既定環境の利用を制御しつつ、開発者環境にルーティングさせましょうの内容となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/90deffb1-a2c1-acc2-66da-73a434888f27.png)


環境を分ける基準は様々ありますが、下記のような基準で作成すると管理上適切かもしれまん。
- リソースやビジネスデータ（エンタープライズアプリ単位）
- アクセス制御
- ALMにおけるステージング（Prod→Test→Production）
- リソースの重要度（複雑さ、アプリの重要度、IT管理の関与）
- データ保護（DLP）
- ビジネスデータ（Dataverse）の保護やリソースの分類
- リソースの共有範囲、利用ユーザー数
- Dataverse容量の管理単位
- 開発者のレベル（ProDev / CitizenDev）
- チームや部署
- 地理的な分類（本社、支店、グローバル）
- 解放する機能単位
等を企業レベルで複合的に検討する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/676f6702-4062-4dbd-2ece-280a638aac61.png)

:::note info
留意事項
環境作成時（開発者環境や試用版環境を除く）に1GB Dataverse容量を消費する点や管理工数を考慮し、原則必要最低限の環境を用意します。
:::


### その他、目的別の環境を用意する際の考慮事項

■マネージド環境の機能を利用し、管理コストを最小化する
- 環境ルーティングを利用し、開発者個別の開発者環境の利用を検討する
- 環境が多く存在する場合、環境グループを利用し、一貫したDLPポリシーやルールを一括管理する
- Power Platform Pipelineの機能を利用し、ソリューションのインポート、エクスポートを一元管理する
- 共有制限

■環境の数
- 開発者環境を積極的に利用する一方、開発者環境を作成できるユーザーを制御する
- 必要最低限の共有環境を用意する→プロジェクトや事業単位ごとに環境を分けることが重要であるが、セキュリティと管理工数、実現可能性、コストのバランスから判断
- 特に既定環境での重要なソリューションのアプリ開発を避ける

■環境リクエスト
- 環境へのアクセスや作成をリクエストするプロセスを確立（CoE Starter Kitや管理コネクタの利用を検討


## 環境のリソースやDataverse容量を管理する
個別の環境を用意したあと、環境にあるリソースや活動を適切に管理する必要があります。
この辺りの手段はここで紹介しきれないほどありますが、あくまで代表的な内容を紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/31ae5cd3-d20a-f8e0-0ed2-35070d23feb4.png)

## 【検討事項④】リソースと容量を管理する - リソース管理
大前提、すべてのリソースがクラウドに保存されるため、監査から利活用状況の把握まで、管理者が必要とするデータをいくつかの方法で取得可能です。

標準機能としては、Power Platform管理センターで管理者は環境のリソースを管理・監視することが可能です。
CoE Starter kitなどのツールもありますが、徐々にマネージド環境の各種機能がその内容を担っていく可能性があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/3b226127-3269-a597-5378-84a4c2a3d2e9.png)

:::note info
新しい管理センター
Power Platform管理センターは刷新し、より統合的なインターフェースと機能を提供しています（予定を含む）
これらに横断するかたちでマネージド環境の機能が提供されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/7e802ead-2d8a-858b-d86c-91d02caefa39.png)
:::

## 【検討事項④】リソースと容量を管理する - Dataverse容量
環境にDataverseを作成した場合、Dataverseの容量管理も適切におこなう必要があります。
テナントや環境のDataverse利用状況は従来よりPower Platform管理センター上で確認可能です。

一方、事業部負担などのケースで、テナントの容量から個別環境に割り当てをしたいケースをよく耳にしてきました。
**こちら待望の機能ですが**、Power Platform管理センター上で環境ごとにDataverse容量割り当て、消費状況の確認・管理が可能となっております。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/ffb3c594-cf63-8da4-7594-9f9aaa61c15b.png)

https://learn.microsoft.com/ja-jp/power-platform/admin/capacity-storage#allocate-capacity-for-an-environment


## アクセス権（認証・認可）が正しく設定されている
個別環境には、EntraIDのセキュリティグループが設定され（認証、アクセス許可）ており、最小特権の範囲で環境下のリソース・Dataverseテーブルにアクセスできるように設計が必要となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/48ca040a-a7a2-d3d7-efbb-1d69507116be.png)

## 【検討事項⑤】環境に対するアクセス権を検討する
上述のとおり、
- 環境へのユーザー アクセスのコントロールはセキュリティグループで制御
- 特権、操作範囲をセキュリティロールで制御
していきます。セキュリティロールは語ると長くなりますが、イメージとしては↓の図を参考にしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/db8c81e2-9a28-a8e7-71bf-537a8781f991.png)


## データ保護
Power Platformの管理者タスクとして、非常に重要なのが、DLPポリシーの検討および設定となります。
DLPポリシーを定義することで、環境戦略に応じて、コネクタの利用範囲を制御、定義することが可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/eb24eb8a-9274-94f5-15fc-bdcb46002a93.png)

## 【検討事項⑥】環境戦略に応じたDLPポリシーを検討する
DLPポリシーは先人たちがたくさん発信しているので、あくまで環境設定のイメージのみになります。
和集合的に設定していく＆厳しいポリシーが採用されていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/10fb853e-6ec6-5746-7dbd-981a9f150e24.png)


https://learn.microsoft.com/ja-jp/power-platform/guidance/adoption/dlp-strategy


### 環境グループとDLPポリシーについて
マネージド環境の機能である環境グループを利用することで環境グループ内でルールを大規模に管理することが可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/1293e4bd-3991-e892-2d69-7f43e6527ee1.png)

### Power Automate DesktopアクションのDLPポリシーについて
こちらもマネージド環境の機能でPower Automate Desktopのアクション単位でDLPポリシーを設定することが可能となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/a4f1806e-3d30-6e5a-175f-006c07fb41c0.png)


https://learn.microsoft.com/ja-jp/power-automate/prevent-data-loss#data-loss-prevention-for-desktop-flows-preview

## 管理コスト最小化
Power Platformを大規模で展開するうえで重要なのが管理コストを最小化する策を検討することです。
CoE Starter kitや標準機能である管理センター、管理コネクタを活用いただくのも重要ですが、ここで紹介させていただきたいのが、**マネージド環境**の各種機能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/b168e68b-f5c5-8310-7551-bfd2f9aebb5d.png)

## 【検討事項⑦】マネージド環境の機能の利用を検討する
環境戦略をサポートするマネージド環境の機能の一覧です。
大規模なガバナンスを簡素化および合理化する機能を提供（要プレミアムライセンス）します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/8b82a0f2-d447-df81-a840-8c339356151c.png)

:::note info
マネージド環境
マネージド環境に各種機能は追加、削除、改変されております。あくまで執筆時点の機能として解釈ください。
:::

参考として、過去の記事となります。

https://qiita.com/tomoyasasaki1204/items/f90ffeeef55c0e588de4


一押しの機能をいくつか紹介していきます。

### アドバイザリー
マネージド環境の有効化により環境における推奨事項を自動的に検出し提案する機能です。
- プロアクティブに行動でき、ベスト プラクティスの推奨事項を提示
- 所有者が不在、過去60日間起動されていないPower Appsアプリを表示
- Power Platform テナントの全体的な正常性を向上	
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/5dc0b871-6950-c407-508a-f400fbb0e56f.png)

https://learn.microsoft.com/ja-jp/power-platform/admin/power-platform-advisor

### 共有制限
マネージド環境で活動するユーザー（主に開発者）キャンバス アプリ、フロー、エージェントを共有できる範囲を制限します。既定環境やトレーニング環境、開発者環境など小規模利用を想定した環境において、過度にリソースの共有がされないようにコントロールするために利用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975138/76649bfc-5c10-1589-f9ba-0105135fb4d4.png)


# おわりに
最後までお付き合いいただきありがとうございました。
ベストプラクティスを要約し独自の解釈を加えて共有させていただきました。
環境戦略は企業の目的ごとに検討し、最適な方法を選択いただくことが重要となりますので、あくまで検討の一助になれば幸いです。