アプリの登録の際の考慮事項
ALM Accelerator for Power Platform は必要なサービスと通信するために、Microsoft Entra アプリの登録に依存しています。 この記事では、ALM アクセラレータのアプリの登録戦略を設計する際に考慮すべき事項とアプローチについて説明します。
API アクセス許可が必要です
ALM アクセラレータが必要なサービスと通信できるようにするには、関連する API の使用を許可するようにアプリの登録を構成する必要があります。 これらのサービスへの通信の要件は、ALM アクセラレータの機能によって異なります。
次のテーブルは、ALM アクセラレータのさまざまな機能に必要な API アクセス許可を表しています。
機能 | API アクセス許可 | アクセス許可の種類 | Description |
---|---|---|---|
CustomAzureDevOps カスタム コネクタ | Azure DevOps - user_impersonation | 委任 | ALM アクセラレータのキャンバス アプリが Azure DevOps と通信するためには、Azure DevOps アクセス許可が必要です。 |
検証パイプラインの展開 | Dynamics CRM - user_impersonation | 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
検証パイプラインの展開 | Power Apps Advisor - Analysis.All | 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
テスト パイプラインの展開 | Dynamics CRM - user_impersonation | 委任 | テスト環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
運用パイプラインの展開 | Dynamics CRM - user_impersonation | 委任 | 運用環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
ソリューション パイプラインのエクスポート | Dynamics CRM - user_impersonation | 委任 | 作成者開発環境からソリューションをエクスポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
ソリューション パイプラインのインポート | Dynamics CRM - user_impersonation | 委任 | Azure Git ソース管理からソリューションをインポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
ソリューション パイプラインの削除 | Dynamics CRM - user_impersonation | 委任 | 作成者開発環境からソリューションを削除するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
アプリの登録戦略に関する考慮事項
ALM アクセラレータ用のアプリの登録を作成および管理する方法を設計するときは、セキュリティとメンテナンスの両方を考慮する必要があります。
最小権限の原則
セキュリティの観点から見て、最小特権の原則を検討する必要があります。 どのアプリの登録の場合でも、必要な操作を実行するために最小限必要な特権を保持するべきということです。
メンテナンスの簡素化
メンテナンスの観点から見ると、アプリの登録とそれらを使用するサービスを維持管理するための作業を最小限にする戦略を考慮する必要があります。 たとえば、アプリの登録の維持管理に関連するタスクの 1 つがシークレット ローテーションです。現在のシークレットを無効にして、新しいシークレットを作成します。 アプリ登録を使用する各サービスは、シークレットがローテーションされるときに再構成する必要があります。 アプリの登録を使用するケースが多くなるほど、管理するために必要な作業が増えることを意味します。
Azure アプリ登録戦略
ALM アクセラレータで使用するためにアプリを Microsoft Entra ID に登録するための戦略は、非常に単純なものから非常に詳細なものまで多岐にわたります。
1 つのアプリ登録ですべてが完了
最も簡単な戦略は、すべてのニーズに対応する 1 つのアプリ登録を作成することです。 この方法では、CustomAzureDevOps カスタム コネクタと、Power Platform 環境へのアクセスに必要なすべての Azure DevOps サービス接続に対して、同じアプリの登録を使用します。
この戦略は管理がかなり簡単ですが、最小特権の原則に違反します。 1 つのアプリ登録には、カスタム コネクタと構成したすべての Azure DevOps サービス接続を使用して、必要なすべての操作を実行するアクセス許可があります。
アプリの登録 | API アクセス許可と種類 | Description |
---|---|---|
あらゆる目的で使用できる 1 つのアプリの登録 | Azure DevOps - user_impersonation - 委任 | ALM アクセラレータのキャンバス アプリが Azure DevOps と通信するためには、Azure DevOps アクセス許可が必要です。 |
あらゆる目的で使用できる 1 つのアプリの登録 | Dynamics CRM - user_impersonation - 委任 | 作成者開発環境と展開ソリューションから、検証、テスト、運用環境にソリューションをエクスポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を実行するためのアクセス許可が必要です。 |
あらゆる目的で使用できる 1 つのアプリの登録 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Azure DevOps 用のアプリ登録 1 つと、Power Platform 用のアプリ登録 1 つ
さらに詳細な戦略では、CustomAzureDevOps カスタム コネクタ用と、Power Platform 環境と通信するためのパイプライン用のアプリの登録を 1 つずつ用意します。
この戦略は、最小特権の原則にさらに合わせています。 CustomAzureDevOps カスタム コネクタのアクセスに使用されるアプリの登録のみが Azure DevOps API にアクセスでき、Power Platform への接続に使用されるアプリの登録のみが Power Platform (Dynamics CRM) API を使用できます。
アプリの登録 | API アクセス許可と種類 | Description |
---|---|---|
Azure DevOps のアプリの登録 | Azure DevOps - user_impersonation - 委任 | ALM アクセラレータのキャンバス アプリが Azure DevOps と通信するためには、Azure DevOps アクセス許可が必要です。 |
Power Platform のアプリの登録 | Dynamics CRM - user_impersonation - 委任 | 作成者開発環境からソリューションをエクスポートし、検証環境にソリューションを展開するためのパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Azure DevOps 用のアプリ登録 1 つと、Power Platform 用のいくつかのアプリ登録
更に詳細な戦略では、異なる Power Platform 環境にアクセスするためのアプリの登録を作成します。 ALM アクセラレータ パイプラインを使用してアクセスする必要がある環境ごとに 1 つのアプリ登録を作成できます。 または、ALM Accelerator を使用してサポートする Power Platform プロジェクトごとに 1 つのアプリの登録を作成します。
この戦略は、最小特権の原則にさらに合わせています。 ただし、メンテナンスについても考慮する必要があります。 各環境でどのアプリ登録が使用されているかを識別するための構造化された方法を必ず維持してください。 この情報は、アプリの登録のシークレットをローテーションするときに役立ちます。
次のテーブルでは、Power Platform プロジェクトごとにアプリの登録を作成して、関連する環境にのみアクセスするように制限する方法を表示しています。
アプリの登録 | Power Platform の範囲 | API アクセス許可と種類 | Description |
---|---|---|---|
Azure DevOps のアプリの登録 | 該当なし | Azure DevOps - user_impersonation - 委任 | ALM アクセラレータのキャンバス アプリが Azure DevOps と通信するためには、Azure DevOps アクセス許可が必要です。 |
Power Platform のアプリの登録 | プラットフォーム プロジェクト 1 | Dynamics CRM - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 1 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 2 | Dynamics CRM - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 2 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | 作成者開発環境 1 | Dynamics CRM - user_impersonation - 委任 | 作成者開発環境からソリューションをエクスポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | 作成者開発環境 2 | Dynamics CRM - user_impersonation - 委任 | 作成者開発環境からソリューションをエクスポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です |
次のテーブルでは、Power Platform 環境ごとにアプリの登録を作成することで、最小特権の原則にさらに合わせる方法が表示されています。
アプリの登録 | Power Platform の範囲 | API アクセス許可と種類 | Description |
---|---|---|---|
Azure DevOps のアプリの登録 | 該当なし | Azure DevOps - user_impersonation - 委任 | ALM アクセラレータのキャンバス アプリが Azure DevOps と通信するためには、Azure DevOps アクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 1 - 検証環境 | Dynamics CRM - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 1 - 検証環境 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 1 - テスト環境 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 1 - 運用環境 | Dynamics CRM - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 2 - 検証環境 | Dynamics CRM - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 2 - 検証環境 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 2 - テスト環境 | Power Apps Advisor - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Apps Advisor サービスを使用してソリューション チェッカー タスクを実行するためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | プロジェクト 2 - 運用環境 | Dynamics CRM - user_impersonation - 委任 | 検証環境にソリューションを展開するパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | 作成者開発環境 1 | Dynamics CRM - user_impersonation - 委任 | 作成者開発環境からソリューションをエクスポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |
Power Platform のアプリの登録 | 作成者開発環境 2 | Dynamics CRM - user_impersonation - 委任 | 作成者開発環境からソリューションをエクスポートするパイプラインには、Power Platform (Dynamics CRM) API を使用してソリューション操作を行うためのアクセス許可が必要です。 |