演習 - モデル駆動型アプリを共有する場合にセキュリティを制御する

完了

Microsoft Power Apps では、共有のためのロールベースのセキュリティが使用されます。 セキュリティ ロールには、アプリ内で実行できる一連のアクションを定義する特権が含まれます。 すべてのアプリ ユーザーは、1 つ以上の、定義済みまたはカスタムのセキュリティ ロールに割り当てる必要があります。

ロールは、個々のユーザーまたはチームに割り当てることができます。 ユーザーまたはチームがロールに割り当てられると、そのユーザーまたはそのチームのすべてのメンバーに対して、そのロールに関連付けられた一連の特権が付与されます。

このユニットでは、他のユーザーが使用できるように、モデル駆動型アプリを共有する方法を学習します。

具体的には、次の操作を行う方法を学習します。

  • カスタム セキュリティ ロールを作成します。
  • ユーザーをカスタムのセキュリティ ロールに割り当てます。
  • セキュリティ ロールをアプリに割り当てます。

アプリを共有するには、環境管理者ロールまたはシステム管理者ロールが必要です。

シナリオ

注意

このシナリオは、前のユニットからの概念とアイデアを基に作成されます。 この演習を完了するには、このモジュールの前のユニットの説明に従って最初にアプリを作成し、Dataverse サービスの開始方法モジュールMicrosoft Dataverse テーブルの作成 ユニットの説明に従ってペット テーブルを作成しておく必要があります。

このユニットでは、犬猫用のペット美容室のビジネスを行っている、Contoso という会社の例を使用します。 ペット美容室のビジネスを追跡するためのカスタム テーブルを含むアプリは、既に作成されて公開されています。

ペット美容室のスタッフが使用できるように、アプリを共有する必要があります。 アプリを共有するために、管理者またはアプリ開発者が、1 つ以上のセキュリティ ロールをユーザーおよびアプリに割り当てます。

セキュリティ ロールの作成または設定

Power Apps 環境には、定義済みのセキュリティ ロールが含まれています。 これらのロールは、一般的なユーザー タスクを反映します。 定義されるアクセス レベルは、アプリを使うために必要な最小限のビジネス データへのアクセスを提供するというセキュリティのベスト プラクティスに従います。

Contoso のペット美容室のアプリがカスタム テーブルに基づいていることに注意してください。 テーブルがカスタムであるため、ユーザーが作業する前に明示的に特権を指定する必要があります。 特権を指定するには、次の方法のいずれかを使用できます。

  • 既存の事前定義されたセキュリティ ロールを拡張し、カスタム テーブルに基づく行の特権が含まれるようにします。
  • カスタム セキュリティ ロールを作成して、アプリのユーザーの特権を管理します。

ペット美容室の行が保持される環境は、Contoso 社が実行する他のアプリでも使用されます。 そのため、ペット美容室のアプリに固有のカスタム セキュリティ ロールが作成されます。 さらに、2 つの異なるアクセス特権のセットが必要です。

  • ペット美容室のトリマーの操作は、その他の行の読み取り、更新、アタッチを実行するだけです。 したがって、セキュリティ ロールには読み取り、書き込み、追加の特権が含まれます。
  • ペット美容室のスケジュール管理者には、ペット美容室のトリマーが持つすべての特権が必要です。 さらに、行の作成、追加、削除、共有を実行できる必要があります。 したがって、セキュリティ ロールには、作成、読み取り、書き込み、追加、削除、割り当て、追加先、および共有の特権が含まれます。

アクセスとさまざまな特権のスコープについての詳細については、セキュリティ ロール をご覧ください。

カスタム セキュリティ ロールの作成

  1. 自分の組織のアカウントを使用して Power Apps にサインインします。 アカウントをまだ持っていない場合は、無料で始める を選択します。

  2. 新しいアプリで、名前の右側にある ... を選択して、共有 を選択します。

  3. 共有 ダイアログ ボックスの左上でアプリを選択して、右側の環境の横にあるドロップダウンを選択します。 セキュリティ ロールの管理 を選択します。

    セキュリティ ロールの管理が選択された「共有」ダイアログ ボックスのスクリーンショット。

  4. すべてのロール ページで、新規 を選択します。

  5. ロール名 ボックスに、ペット美容室のトリマー と入力します。

  6. セキュリティ ロール デザイナーの カスタム テーブル タブで、ペット テーブルを探します。

  7. ペット 行で、読み取り書き込み追加 をそれぞれのスコープが 組織 に設定されるまで 4 回クリックして設定します。

    スコープがグリーンに設定された「読み取り」、「書き込み」、および「追加」のスクリーン ショット。

  8. ペット美容室のアプリには、アカウント テーブルとのリレーションシップもあります。 コア行 タブの アカウント 行で、組織 スコープに設定されるまで、読み取り 特権を 4 回選択します。

  9. 保存して閉じる を選択します。

  10. セキュリティ ロール デザイナーで 新規 を選択し、ロール名 ボックスに ペット美容室のスケジュール管理者 と入力します。

  11. カスタム テーブル タブで、ペット テーブルを探します。

  12. ペット 行で、組織 スコープが選択されるまで、作成読み取り書き込み削除追加追加先割り当て、および 共有 の特権をそれぞれ 4 回クリックします。

  13. ペット美容室のアプリにはアカウント テーブルとのリレーションシップも含まれ、スケジュール管理者はアカウント行の作成と変更を実行できる必要があります。 そのため、コア行 タブの アカウント 行で、組織 スコープが選択されるまで、作成読み取り書き込み削除追加追加先割り当て共有 の特権をそれぞれ 4 回選択します。

  14. 保存して閉じる を選択します。

ユーザーへのセキュリティ ロールの割り当て

セキュリティ ロールは、一連のアクセス レベルとアクセス許可により、ユーザーのデータへのアクセスをコントロールします。 特定のセキュリティ ロールに含まれるアクセス レベルとアクセス許可の組み合わせにより、ユーザーが表示できるデータおよびそのデータとの対話の制限が設定されます。

ペット美容室のトリマーへのセキュリティ ロールの割り当て

  1. 前のユニットで作成したモデル駆動型アプリを選択し、共有 を選択します。

  2. 共有 ダイアログ ボックスの左側でアプリを選択し、右側の環境名の横にあるドロップダウンを選択して、 ペット美容室のトリマー ロールを選択します。

    [セキュリティ ロールの管理] ドロップダウンのスクリーンショット。

  3. アプリの下の一覧で、何人かのユーザーをペット トリマーとして選択します。

  4. 環境名の横のドロップダウンを選択し、ペット美容室のトリマー のセキュリティ ロールを選択してそのユーザーに割り当てます。

  5. 完了したら、下部にある 共有 を選択します。

ペット美容室のスケジュール管理者へのセキュリティ ロールの割り当て

  1. 共有 ダイアログ ボックスで、左側のアプリを選択し、右側の環境名の横にあるドロップダウンを選択してから ペット美容室のスケジュール管理者 のロールを選択します。

  2. アプリの下の一覧で、何人かのユーザーをペット美容室のスケジュール管理者として選択します。

  3. 環境名の横のドロップダウンを選択し、ペット美容室のスケジュール管理者 のセキュリティ ロールを選択してそのユーザーに割り当てます。

  4. 完了したら、下部にある 共有 を選択します。

定義済みのセキュリティ ロールについて

PowerApps 環境には、以下の定義済みロールがあります。 特に記載がない限り、すべての権限はグローバル スコープを持ちます。

セキュリティ ロール 権限 説明
環境作成者 なし このロールを持つユーザーは、環境に関連付けられた新しいリソースを作成できます。 たとえば、アプリ、接続、カスタム アプリケーション プログラミング インターフェイス (API)、ゲートウェイ、Microsoft Flow を使用するフローがあります。 ただし、これらのユーザーが環境内のデータにアクセスすることはできません。 環境の詳細については、Power Apps 環境についてのお知らせを参照してください。
システム管理者 作成、読み取り、書き込み、削除、カスタマイズ このロールには、セキュリティ ロールの作成、変更、割り当てなど、環境をカスタマイズまたは管理するための完全なアクセス許可が付与されます。 このロールを持つユーザーは、環境内のすべてのデータを表示できます。 詳細については、カスタマイズに必要な権限 を参照してください。
システムのカスタム担当者 作成 (本人)、読み取り (本人)、書き込み (本人)、削除 (本人)、カスタマイズ このロールには、環境をカスタマイズするための完全なアクセス許可があります。 ただし、このロールを持つユーザーは、自身が作成した環境テーブルの行のみを表示できます。 詳細については、カスタマイズに必要な権限を参照してください。
Basic ユーザー 読み取り、作成 (セルフ)、書き込み (セルフ)、および削除 (セルフ) このロールを持つユーザーは、環境内でアプリを実行し、所有する行に対して一般的なタスクを実行できます。
代理人 別のユーザーに代わって実行します このロールでは、コードを他のユーザーとして実行したり、他のユーザーを偽装したりできます。 通常このロールは、行へのアクセスを提供するために、別のセキュリティ ロールと共に使用されます。 詳細については、他のユーザーを偽装する を参照してください。