演習 - モデル駆動型アプリを共有する場合にセキュリティを制御する
Dataverse テーブルにアクセスするには、ユーザーにセキュリティ ロールを割り当てる必要があります。 セキュリティ ロールの割り当てによって、モデル駆動型アプリの制限付きデータや機密データにアクセスできるユーザーを制御します。 セキュリティ ロールでは、さまざまな種類のレコードに対するユーザーのアクセスを定義します。 データやリソースへのアクセスを制御するには、セキュリティ ロールを作成または変更して、ユーザーに割り当てる必要があります。
すべてのテーブルにセキュリティ ロールを定義してアクセスを制御することが重要になります。 セキュリティ ロールを作成して構成すると、そのロールを複数のテーブルに使用できます。 同様に、ユーザーに複数のセキュリティ ロールを割り当てることもできます。セキュリティ ロールは、すべてのアプリ ユーザーに少なくとも 1 つ割り当てる必要があります。
セキュリティ ロールは、個人のユーザーまたは複数のユーザーで構成されるチームに割り当てることができます。 ユーザーまたはチームにロールを割り当てると、そのユーザーまたはそのチームのすべてのメンバーに対して、そのロールに関連付けられた権限が付与されます。
このユニットでは、他のユーザーが使用できるように、モデル駆動型アプリを共有する方法を学習します。
具体的には、次の操作を行う方法を学習します。
- セキュリティ ロールの作成。
- ユーザーをセキュリティ ロールに割り当てます。
- ユーザーとアプリを共有します。
アプリを共有するには、環境管理者ロールまたはシステム管理者ロールが必要です。
シナリオ
注
このシナリオは、前のユニットからの概念とアイデアを基に作成されます。 この演習を最大限に活用するには、このモジュールの前のユニットの説明に従って最初にアプリを作成し、「Dataverse サービスを使い始める」モジュールの「Microsoft Dataverse でテーブルを作成する」ユニットの説明に従って Pet テーブルを作成しておく必要があります。
このユニットでは、犬猫用のペット美容室のビジネスを行っている、Contoso という会社の例を使用します。 ペット美容室のビジネスを追跡するためのカスタム テーブルを含むアプリは、既に作成されて公開されています。
ペット美容室のスタッフが使用できるように、アプリを共有する必要があります。 アプリを共有するには、管理者またはアプリ開発者が、1 つ以上のセキュリティ ロールをユーザーやテーブル、アプリに割り当てます。
セキュリティ ロールの詳細
Power Apps 環境には事前定義されたセキュリティ ロールが含まれています。事前定義されたこれらのロールは、環境内の標準テーブルでのみ使用できます。 これらはカスタマイズできません。 これらのロールは、一般的なユーザー タスクを反映します。 定義されるアクセス レベルは、アプリを使うために必要な最小限のビジネス データへのアクセスを提供するというセキュリティのベスト プラクティスに従います。
Contoso のペット美容室アプリがカスタム テーブルに基づいていることに注意してください。 テーブルがカスタム テーブルであるため、ユーザーがデータにアクセスできるようにするためには、明示的に特権を付与する必要があります。 アプリ ユーザーの特権を管理するためには、カスタム セキュリティ ロールを作成する必要があります。
ペット美容室アプリが含まれている環境には、他の Contoso アプリも含まれています。 ペット美容室アプリには、特定の 2 つのセキュリティ ロールが必要です。それぞれのセキュリティ ロールには、次のように異なるアクセス特権を定義する必要があります。
- ペット美容室のトリマーは、行の読み取りと更新に加え、別の行への関連付けができる必要があります。 そのため、トリマーのセキュリティ ロールには読み取り、書き込み、追加の特権を含めます。
- ペット美容室のスケジュール管理者には、ペット美容室のトリマーが持つすべての特権が必要です。 さらに、行の作成、追加、削除、共有を実行できる必要があります。 そのため、スケジュール管理者のセキュリティ ロールには、作成、読み取り、書き込み、追加、削除、割り当て、追加先、および共有の特権を含めます。
セキュリティ ロールに含まれるさまざまな特権レベルを以下の表に示します。
権限 | 説明 |
---|---|
作成 | 新しいレコードを作成するために必要です。 |
読み取り | 既存のレコードを開いて内容を表示するために必要です。 |
書き込み | レコードを変更するために必要です。 |
削除 | レコードを完全に削除するために必要です。 |
追加 | 現在のレコードを別のレコードに関連付けるために必要です。 たとえば、ユーザーがメモに対する追加特権を持つ場合、営業案件にメモを追加することができます。 多対多のリレーションシップがある場合は、関連付けまたは関連付け解除の対象となる両方のテーブルに対する追加特権を持つ必要があります。 |
追加先 | レコードを現在のレコードに関連付けるために必要です。 たとえば、ユーザーが営業案件に対する追加特権を持つ場合、そのユーザーは営業案件に注を追加することができます。 |
割り当て | レコードの所有権を別のユーザーに付与するために必要です。 |
共有 | 自分のアクセスを保持しながら別のユーザーがレコードにアクセスするために必要です。 |
セキュリティ ロールの作成
Power Platform 管理センターにサインインし、環境を選択します。
設定>ユーザー + アクセス許可>セキュリティ ロール を選択します。
セキュリティ ロール画面のコマンド バーから + 新しいロール を選択します。
新しいロールの作成ペインに次の値を入力します。
ロール名 -
Pet Grooming Technicians
事業単位 - [ドロップダウンから 1 つ選択します。 環境ごとに 1 つ以上の事業単位が必要です。]
メンバーの特権継承 - チームの特権の場合に限る
ロールを保存します。
ロールを保存すると、新しいロールの詳細画面が表示され、 ロールの設定に関する情報が示されます。また、環境に含まれるすべてのテーブルが一覧で表示されるため、テーブルごとに特権を設定することができます。 右上にある検索フィールドに
pet
と入力して、テーブルの一覧をフィルター処理すると、 タイトルに "Pet" を含むすべてのテーブルが、フィルター処理された一覧に表示されます。Pet テーブルを探して選択します (このテーブルが表示されていない場合は、テーブルの一覧の上にあるドロップダウンで 割り当てられているテーブルのみを表示 を選択し、値を すべてのテーブルを表示 に変更します)。テーブルを選択すると、テーブル オプションのフィールド (作成、読み取り、書き込み、削除、追加 の各列) の横にドロップダウン ボックスが表示されることが分かります。 このテーブルで美容室のトリマーに必要なのは、読み取り、書き込み、そして追加 のアクセス許可だけです。 各ドロップダウンをクリックして、各フィールドのアクセス許可を なし から 組織 に変更します。
ペット美容室アプリには、Account テーブルとのリレーションシップもあります。 右上にあるテーブルの検索フィールドに
account
と入力し、Account テーブルを選択します。Account テーブルでペット トリマーが必要とする操作は、このテーブルのデータを読み取ることのみです。 読み取り の下のドロップダウンをクリックして、アクセス許可を なし から 組織 に変更します。
コマンド バーで 保存して閉じる を選択して保存し、セキュリティ ロール 画面に戻ります。
次に、2 つ目のセキュリティ ロールを作成しましょう。 + 新しいロール を選択します。
右側の新しいロールの作成ペインに次の情報を入力します。
ロール名 -
Pet Grooming Schedulers
事業単位 - [ドロップダウンから 1 つ選択します]
メンバーの特権継承 - チームの特権の場合に限る
ロールを保存します。
しばらくすると、Pet Grooming Schedulers のロール ビューアーが表示されます。 前に行ったのと同じように、画面の右上にある検索フィールドに
pet
と入力し、Pet テーブルを検索します。Pet テーブルを選択してから、作成、読み取り、書き込み、削除、追加、追加先、割り当て、共有のすべてのドロップダウンで なし を 組織 に変更します。 (すべてのフィールドを表示するために、右にスクロールすることが必要な場合があります。)
ペット トリマーに対して行ったのと同じ方法で、スケジュール管理者の Account テーブルへのアクセスを定義する必要がありますが、 ペット美容室のスケジュール管理者には、より高いレベルのアクセス許可が必要になります。 テーブルの検索フィールドに
account
と入力します。Account テーブルを選択します。
作成、読み取り、書き込み、削除、追加、追加先、割り当て、共有のすべてのドロップダウンでなしを組織に変更します。
コマンド バーで 保存して閉じる を選択します。
以上で、2 つのセキュリティ ロールが作成されました。続いてユーザーにロールを割り当てましょう。
ユーザーへのセキュリティ ロールの割り当て
セキュリティ ロールは、アクセス レベルとアクセス許可を通じて、データに対するユーザーのアクセスを制御します。 セキュリティ ロールに含まれるアクセス レベルとアクセス許可の組み合わせにより、ロール割り当て済みユーザーがそのデータを表示および操作できる範囲が制限されます。
ペット美容室のトリマーへのセキュリティ ロールの割り当て
Power Platform 管理センターで環境 を選択し、自分の環境 を選択します。
設定>ユーザー + アクセス許可>セキュリティ ロール を選択します。
画面の右上にある検索フィールドに
pet
と入力して、Pet Grooming Technicians ロールを検索します。 そのロール を選択して、コマンド バーからメンバー を選択します。コマンド バーから + ユーザーの追加 を選択します。
画面右の ユーザーの追加 パネルで、追加する組織内のユーザーを検索します。 ユーザーを見つけたら、ドロップダウンから選択します。 検索を繰り返して、他のユーザーを追加することができます。 名前を選択するたびに、ユーザーが追加されます。 一覧からユーザーを削除するには、ユーザー名の右にある x を選択します。
ユーザーの選択が終了したら、ペイン下部にある 追加 を選択します。
選択したメンバーが、Pet Grooming Technicians のメンバーとして一覧表示されます。
Pet Grooming Schedulers へのセキュリティ ロールの割り当て
セキュリティ ロールの一覧に戻って、Pet Grooming Schedulers セキュリティ ロールを検索し、選択します。
コマンド バーから メンバー を選択します。
+ ユーザーの追加ボタンを選択し、名前を検索して選択する操作を繰り返して、ユーザーを数人追加します。
追加 を選択します。
特定のユーザーをセキュリティ グループに割り当て、アプリの適切なテーブルへのアクセス許可をユーザーに付与しました。これで、アプリをこれらのユーザーと共有することができます。
アプリをユーザーと共有する
make.powerapps.com に戻ります。
左側のナビゲーションで アプリ を選択し、ペット美容室 アプリを検索および選択して、コマンド バーから 共有 ボタンを選択します。
アプリを共有するグループまたはユーザーを追加します。 アプリを共有するときに、セキュリティ ロールを割り当ててアプリへのアクセスを有効にすることもできます。
共有 を選択します。
ユーザーがアプリの環境に属しており、適切なライセンスを持っていれば、作成したセキュリティ ロールに従ってアプリを使用することが可能になります。