Power Apps を使用してモデル駆動アプリと共有する
モデル駆動型アプリは、共有にロール ベースのセキュリティを使います。 ロールベースのセキュリティの基本概念は、セキュリティ ロールにはアプリ内でテーブル上で実行できる一連の操作を定義する特権が含まれるということです。 このアプローチは、2 人がアプリを使用できる一方で、1 人のユーザーがレコードまたは自分で作成したレコードしか読み取れない可能性があることを意味します。 他のユーザーは、すべてのレコードを表示し、それらのレコードを削除する権限を持っている可能性があります。
すべてのアプリ ユーザーは、1 つ以上の、定義済みまたはカスタムのセキュリティ ロールに割り当てる必要があります。 あるいは、セキュリティ ロールは、ユーザーまたはチームに割り当てることができます。 これらのロールのいずれかにユーザーまたはチームを割り当てると、そのロールに関連付けられた一連の特権がユーザーまたはチーム メンバーに付与されます。
モデル駆動型アプリを共有するプロセスは、キャンバス アプリを共有するプロセスとは異なります。 モデル駆動型アプリの共有は、Microsoft Dataverse データ テーブルの権限が、いかにアプリ内のテーブルに割り当てられているかによります。
アプリ共有特権とライセンス要件
モデル駆動型アプリをユーザーと共有する場合、いくつかの重要な環境とライセンスの前提条件が必要です。
- Power Platform 管理者権限またはグローバル管理者権限を持つ Microsoft 365 ユーザーが組織内に存在する必要があります。 Power Platform 管理者の権利を割り当てる方法について説明します。 これにより、すべての環境に対する管理者権限がユーザーに提供されます。
- アプリ共有者は、特定の環境に対する管理者権限を持っている (または Power Platform 管理者である) 必要があります。 アプリ共有者はアプリや他のユーザーに割り当てているセキュリティ ロールと同等以上の セキュリティ ロール 権限を持っていなければなりません。 通常、これはアプリ共有者が Dataverse システム管理者 または システムカスタマイザ のセキュリティ ロールを持つということになります。 これらの役割は、Power Platform 管理者 (すべての権限を持っている Dataverse 環境) によって割り当てられます。 システム管理者およびシステム カスタマイザーのセキュリティ ロールは、すべての Dataverse 環境内に存在する標準のロールです。
- ユーザーは、環境内にユーザーとして存在する必要があります。 Microsoft 365 ユーザーであるだけでは十分ではありません。 これは、環境内のすべてのユーザーが、環境内のテーブル内で説明および記述されているためです。 環境内でユーザーを追加する方法について
- ユーザーは、アプリを使用するための適切な ライセンス を持っている必要があります。 これは、アプリごとのプラン パス、ユーザーごとのライセンス、または従量課金制のライセンスを通じて割り当てることができます。 また、アプリをホストしているテナントでライセンスを割り当てる必要があります。 この前提条件の例外は、アプリが Microsoft Dataverse for Teams 環境でホストされた場合です。
モデル駆動型アプリを共有するための基本事項
アプリを共有する前に、次のモデル駆動型アプリ共有の基本を理解しておくと便利です。
- アプリには、Basic ユーザー など、少なくとも 1 つのセキュリティ ロールが関連付けられている必要があります。 ただし、アプリに 1 つ以上のカスタム テーブルがある場合、ユーザーがカスタム テーブルのレコードで作業できるようにするには、セキュリティ ロールでカスタム テーブルへの権限を構成する必要があります。 詳細: アプリで使用するセキュリティ ロールの作成または編集
- アプリ ユーザーには、使用可能な役割からセキュリティ ロールを割り当てる必要があります。 または、チームにセキュリティ ロールを割り当てて、ユーザーをチームのメンバーにすることもできます。 チームは、所有者、アクセス、Azure AD セキュリティ グループ、または Microsoft 365 グループにできます。 Dataverse チームの管理について。
モデル駆動型アプリへのセキュリティ ロールまたはユーザーの割り当て
モデル駆動型アプリを共有する場合、1 つ以上のセキュリティ ロールのすべてのメンバー、ユーザー、またはチームと共有できます。
Power Apps にサインインし、左のナビゲーション ウィンドウから アプリ を選択して、共有したいアプリの隣にある … を選択してから、共有 を選択します。
アプリ名を 共有する ウィンドウで、次のオプションから選択します。
- アプリを選択し、ドロップダウン リストを選択して、使用可能なすべてのセキュリティ ロールを表示します。 セキュリティ ロール ドロップダウン リストから必要なセキュリティ ロールを選択します。
重要
アプリに 1 つ以上のカスタム テーブルがある場合、ユーザーがカスタム テーブルのレコードで作業できるようにするには、セキュリティ ロールでカスタム テーブルへの権限を構成する必要があります。 詳細: アプリで使用するセキュリティ ロールの作成または編集
- 個々のユーザーやチームを割り当てる場合は、ユーザー リストからユーザー名またはチームを選択します。
- アプリを選択し、ドロップダウン リストを選択して、使用可能なすべてのセキュリティ ロールを表示します。 セキュリティ ロール ドロップダウン リストから必要なセキュリティ ロールを選択します。
共有 を選択します。
アプリ用にセキュリティ ロールを作成または編集する
モデル駆動型アプリには、多くの場合、カスタム テーブルやその他のカスタム構成が含まれています。 まず、アプリで使用されるすべてのコンポーネントに必要なレベルの特権を持つセキュリティ ロールを作成することが重要です。
注意
セキュリティ ロールで権限が割り当てられていないカスタム テーブルがアプリに含まれている場合、ユーザーがアプリ内のレコードにアクセスできるようにする必要があります。 ただし、既存のロールがアプリのテーブル データへのアクセスを許可している場合は、セキュリティ ロールを作成する必要はありません。
セキュリティ ロールの作成または構成
Dataverse データベースを持つ Power PlatformPower Apps 環境には、アプリの使用に必要な最小限のビジネス データへのアクセスを提供するというセキュリティのベスト プラクティス目標に一致するようにアクセス レベルが定義されている一般的なユーザー タスクを反映する 定義済みのセキュリティ ロール が含まれます。 標準のセキュリティ ロールの権限は、アカウントや連絡先などの標準のテーブルへの適切なアクセスを提供します。
既定では、カスタム テーブル、または環境に新しいテーブルには、それらに関連付けられた特権はありません。 カスタム テーブルの権限は、ユーザーがそれを使って作業する前に明示的に権限を指定する必要があります。 これを行うには、次のいずれかの操作を行うように選択します。
- 既存のセキュリティ ロールをコピーし、それに応じて権限を編集します。 特定のテーブルに特権を設定するだけでなく、有効なロールを作成するために設定する必要のある特権の範囲があるため、空白からセキュリティ ロールを作成するよりもコピーすることをお勧めします。 詳細: セキュリティ ロールをコピーして新規作成する
- アプリのユーザーに対する権限を管理するための新規カスタム セキュリティ ロールを初めから作成します。 ユーザーに関連するアプリのすべてのテーブルに新しい役割を構成します。 詳細: セキュリティ ロールの作成
- Basic ユーザー のような既存の事前定義されたセキュリティ ロールを編集し、カスタム テーブルに基づくレコードに対する権限 (読み取り、書き込み、削除など) が含まれるようにします。 詳細: セキュリティ ロールの編集
重要
新しいセキュリティ ロールを最初から作成する場合、ユーザーがモデル駆動型アプリを実行するには、セキュリティ ロール デザイナーの カスタマイズ タブにある モデル駆動型アプリ 権限に対するグローバル スコープを含む 読み取り 権限を付与する必要があります。 Basic ユーザー セキュリティ ロールには、すでにこの特権があります。
読み取り、作成、および 書き込み を モデル駆動型アプリ 権限に対して付与されたユーザーは、環境内のすべてのアプリにアクセスできます (アプリにアクセスできるロールの一部ではない場合でも)。
アクセス権とスコープ権限の詳細については、セキュリティ ロール を参照してください。
セキュリティ ロールをコピーして新規作成する
次の手順では、既存のセキュリティ ロールのコピーから新しいセキュリティ ロールを作成する方法について説明します。
Power Apps にサインインし、左のナビゲーション ウィンドウから アプリ を選択して、共有したいアプリの隣にある … を選択してから、共有 を選択します。
アプリを選択し、セキュリティ ロールのリストを展開します。
セキュリティ ロールの管理 を選択します。
環境で使用可能なセキュリティ ロールを一覧表示する新しいブラウザー タブが開きます。 Basic ユーザー など、セキュリティ ロールをコピーするユーザーを選択します。 次に、詳細アクション > ロールのコピー を選択します。
ロール名を入力し、OK をクリックします。
注意
すべてのロール ページで新しいロールが必要な場合、新規 を選択します。
コピーされたセキュリティ ロールは、新しいブラウザー ウィンドウのセキュリティ ロールデザイナーで開きます。 アクション (読み取り、書き込み、削除など) と、そのアクションを実行するためのスコープを選択します。 スコープにより、ユーザーが特定の処理を実行できる環境階層の高さが決まります。
ヒント
コピーしたロールがセキュリティ ロール デザイナーで開かない場合は、環境ドメインの Web ブラウザー ポップアップ ブロッカーを無効にしてください。
カスタム エンティティ タブを選び、使用するカスタム テーブルを検索します。
カスタム テーブルに必要な権限とスコープを選択します。 この例では、ペット スケジューラ セキュリティ ロールが、カスタム ペット テーブルでの組織による読み取り、書き込み、およびアペンド特権用に構成されていることを説明します。 各特権とスコープの詳細については、セキュリティ ロールと特権 へアクセスしてください
保存して閉じる を選択します。
カスタム セキュリティ ロールを作成し、適切な権限を構成したので、ユーザーをセキュリティ ロールに割り当てることができます。 詳細: ユーザーにセキュリティ ロールを割り当てる
ソリューションにセキュリティ ロールを追加する
アプリケーション ライフサイクル管理を確実にするために、カスタム セキュリティ ロールを Power Platform ソリューションの一部にすることをお勧めします。
ソリューションにセキュリティ ロールを追加するには、次の手順に従います。
- Power Apps に移動し、アンマネージド ソリューションを持つ環境を選択します。
- セキュリティ ロールを必要とするソリューションを開きます。
- 既存するものを追加 > セキュリティ > セキュリティ ロール の順に選択します。
- 提供されたリストから、新たに作成されたセキュリティ ロールを選択します。
- 追加 を選択します。
これにより、他の環境にインポートするためのセキュリティ ロールがソリューションに含まれるようになります。
アプリへのリンクの共有
キャンバス アプリの共有とは異なり、モデル駆動型のアプリを共有しても、現在は、アプリへのリンクを含むメールは送信されません。
アプリへの直接リンクを取得するには :
Power Apps に移動します。
左側のナビゲーション ウィンドウから、ソリューション を選択して、モデル駆動型アプリを含むソリューションを開きます。
モデル駆動型アプリを選択し、コマンドバーで 編集 を選択します。
クラシック デザイナーで、プロパティ タブをクリックし、統一インターフェイス URL をコピーします。

アプリ URL 場所に貼り付けて、SharePoint サイトでポイントしたり、メールで送信したりするなど、ユーザーがアクセスできるようにします。
定義済みのセキュリティ ロールについて
これらの定義済みロールは、Dataverse で使用できます。
| セキュリティ ロール | 特権1 | 説明 |
|---|---|---|
| 環境作成者 | なし | Power Automate を使用して、アプリ、つながり、カスタム API、ゲートウェイ、フローなど、環境に関連付けられた新しいリソースを作成できます。 ただし、環境内のデータにアクセスする特権はありません。 詳細: 環境の概要 |
| システム管理者 | 作成、読み取り、書き込み、削除、カスタマイズ、セキュリティ ロール | セキュリティ ロールの作成、変更、割り当てなど、環境をカスタマイズまたは管理するための完全なアクセス許可が付与されます。 環境内のすべてのデータを表示できます。 詳細情報: カスタマイズに必要な権限 |
| システムのカスタム担当者 | 作成 (本人)、読み取り (本人)、書き込み (本人)、削除 (本人)、カスタマイズ | 環境をカスタマイズするための完全なアクセス許可が付与されます。 ただし、ユーザーが作成した環境テーブルのレコードのみ表示できます。 詳細情報: カスタマイズに必要な特権 |
| Basic ユーザー | 読み取り、作成 (セルフ)、書き込み (セルフ)、および削除 (セルフ) | 環境内でアプリを実行して、自分が所有するレコードに対して一般的なタスクを実行できます。 |
| 代理人 | 別のユーザーの代わりに操作 | コードを別のユーザーとして実行するか、偽装するコードを実行できます。 通常、レコードへのアクセスを許可するために別のセキュリティ ロールとともに使用されます。 詳細情報: 他のユーザーを偽装する |
1特権は、特に指定されていない限り、グローバル スコープです。
Azure Active Directory グループを使用してアクセスを管理する
管理者は、組織の Azure Active Directory (Azure AD) グループを使って、ライセンスを持った Dataverse ユーザーのアクセス権を管理できます。 Microsoft 365 と Security の両方のタイプの Azure AD グループを使用して、ユーザーのアプリへのアクセス権のセキュリティを保護することができます。 詳細 : グループ チームについて
次の手順
ユーザーの作成とセキュリティ ロールの割り当てに関する詳細について
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示