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

完了

Dataverse テーブルにアクセスしようとするユーザーは、割り当て済みのセキュリティ ロールを持つ必要があります。 セキュリティ ロールの割り当ては、モデル駆動型アプリの一部である制限付きデータまたは機密データに誰がアクセスできるかを制御するための基本的な管理です。 セキュリティ ロールはユーザーにレコードへのアクセスを可能にする方法を定義します。 データやリソースへのアクセスは、セキュリティ ロールを作成または更新して変更し、ユーザーに適切に割り当てることで管理します。

注意すべき重要な点は、作成するテーブルにはアクセスのためのセキュリティ ロールが定義されている必要があるということです。 セキュリティ ロールを作成/構成すると、そのロールを複数のテーブルに使用できます。 ユーザーは複数のセキュリティ ロールを持つことができますが、すべてのアプリ ユーザーには少なくとも 1 つ (または複数) の割り当て済みセキュリティ ロールを持つ必要があります。

セキュリティ ロールを単一のユーザーまたはユーザーのチームに割り当てることができます。 ユーザーまたはチームにロールを割り当てると、そのユーザーまたはそのチームのすべてのメンバーに対して、そのロールに関連付けられた権限が付与されます。

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

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

  • セキュリティ ロールの作成。
  • ユーザーをセキュリティ ロールに割り当てます。
  • ユーザーとアプリを共有します。

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

シナリオ

このシナリオは、前のユニットからの概念とアイデアを基に作成されます。 この演習を最大限に活用するには、このモジュールの前のユニットの説明に従って最初にアプリを作成し、「Dataverse サービスを使い始める」モジュールの「Microsoft Dataverse でテーブルを作成する」ユニットの説明に従って Pet テーブルを作成しておく必要があります。

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

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

セキュリティ ロールの詳細

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

Contoso のペット美容室アプリがカスタム テーブルに基づいていることに注意してください。 テーブルがカスタムであるため、ユーザーが作業する前に明示的に特権を付与する必要があります。 権限を指定するには、カスタム セキュリティ ロールを作成して、アプリのユーザーの権限を管理する必要があります。

ペット美容室の行を保持する環境は、Contoso 社が運営する他のアプリでも使用されるため、 次のような 2 つのセキュリティ ロールをペット美容室アプリ用に作成する必要があり、アクセス許可の特権をそれぞれに定義します:

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

これらのセキュリティ ロールに付与する特権を表に示すと次のようになります。

特権 説明
作成 新しいレコードを作成するために必要です。
読み取り レコードを開いて内容を表示するために必要です。
書き込み レコードを変更するために必要です。
削除 レコードを完全に削除するために必要です。
追加 現在のレコードを別のレコードに関連付けるために必要です。 たとえば、ユーザーがメモに対する追加特権を持つ場合、営業案件にメモを追加することができます。 多対多のリレーションシップがある場合は、関連付けまたは関連付け解除の対象となる両方のテーブルに対する追加特権を持つ必要があります。
追加先 レコードを現在のレコードに関連付けるために必要です。 たとえば、ユーザーが営業案件に対する追加特権を持つ場合、そのユーザーは営業案件に注を追加することができます。
割り当て レコードの所有権を別のユーザーに付与するために必要です。
共有 自分のアクセスを保持しながら別のユーザーがレコードにアクセスするために必要です。

セキュリティ ロールの作成

  1. Power Platform 管理センターにサインインし、環境を選択します。

  2. 設定>ユーザー + アクセス許可>セキュリティ ロール を選択します。

  3. セキュリティ ロール画面のコマンド バーから + 新しいロール を選択します。

  4. 新しいロールの作成ペインに次の値を入力します。

    • ロール名 - Pet Grooming Technicians

    • 事業単位 - [ドロップダウンから 1 つ選択します。 環境ごとに 1 つ以上の事業単位が必要です。]

    • メンバーの特権継承 - チームの特権の場合に限る

    ロールを保存します。

  5. ロールを保存すると、新しいロールの詳細画面が表示され、 ロールの設定に関する情報が示されます。環境に含まれるすべてのテーブルが一覧で表示され、テーブルごとに特権を設定することができます。 右側の検索フィールドに pet と入力してフィルター処理すると、 タイトルに "Pet" を含むすべてのテーブルに一覧が絞り込まれて表示されます。

  6. Pet テーブルを探して選択します。 このテーブルが表示されていない場合は、割り当てられているテーブルのみを表示と示されているフィールドを選択し、値をすべてのテーブルを表示に変更します。 テーブル オプションのフィールドの下に表示されるドロップダウン オプション ボックスに注目してください。 このテーブルで美容室のトリマーに必要なのは、読み取り書き込み、そして追加のアクセス許可だけです。 これら 3 つのアクセス許可を、なしから組織に変更します。

    Pet テーブルに対するセキュリティ ロールの Power Platform 管理センターのスクリーンショット。読み取り、書き込み、追加の権限があり、組織オプションが表示されています。

  7. ペット美容室アプリには、Account テーブルとのリレーションシップもあります。 右上にあるテーブルの検索フィールドに account と入力し、Account テーブルを選択します。

  8. Account テーブルで読み取りを見つけ、組織 を選択します。 ペットのトリマーにはこのテーブルの読み取りを許可する必要がありますが、他の操作は許可しません。

  9. コマンド バーで保存して閉じる を選択し、セキュリティ ロールの画面に戻ります。

  10. 次に、2 つ目のセキュリティ ロールを作成しましょう。 + 新しいロール を選択します。

  11. 右側の新しいロールの作成ペインに次の情報を入力します。

    • ロール名 - Pet Grooming Schedulers

    • 事業単位 - [ドロップダウンから 1 つ選択します]

    • メンバーの特権継承 - チームの特権の場合に限る

    ロールを保存します。

  12. しばらくすると、Pet Grooming Schedulers のロール ビューアーが表示されます。 画面の右上にある検索フィールドに pet と入力し、Pet テーブルを検索します。

  13. Pet テーブルを選択してから、作成、読み取り、書き込み、削除、追加、追加先、割り当て共有のすべてのドロップダウンでなし組織に変更します。 (すべてのフィールドを表示するために、右にスクロールすることが必要な場合があります。)

  14. ペット トリマーに対して行ったのと同じ方法で、スケジュール管理者の Account テーブルへのアクセスを確実に定義する必要がありますが、 今度はより多くのアクセス許可を付与する必要があります。 テーブルの検索フィールドに account と入力します。

  15. Account テーブルを選択します。

  16. 作成、読み取り、書き込み、削除、追加、追加先、割り当て、共有のすべてのドロップダウンでなし組織に変更します。

  17. コマンド バーで保存して閉じる を選択します。

以上でセキュリティ ロールが 2 つ完成しました。続いてユーザーにロールを割り当ててみましょう。

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

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

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

  1. Power Platform 管理センターで環境 を選択し、自分の環境 を選択します。

  2. 設定>ユーザー + アクセス許可>セキュリティ ロール を選択します。

  3. 画面の右上にある検索フィールドに pet と入力して、Pet Grooming Technicians ロールを検索します。 そのロール を選択して、コマンド バーからメンバー を選択します。

  4. コマンド バーから+ ユーザーの追加 を選択します。

  5. 画面右のユーザーの追加ペインで、組織の誰かを検索します。 そのユーザーを検索結果のドロップダウンから探して選択します。 同じ操作を繰り返してユーザーを追加します。 名前を選択するたびに、ユーザーが追加されていきます。 ユーザーを削除するには、名前の右に表示される x を選択します。

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

  6. ユーザーの追加の一覧に名前をいくつか追加したら、パネル下部の追加ボタンを選択します。

  7. 選択したメンバーが Pet Grooming Technicians の一覧に表示されます。

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

  1. セキュリティ ロールの一覧に戻って、Pet Grooming Schedulers セキュリティ ロールを検索し、選択します。

  2. コマンド バーから メンバー を選択します。

  3. + ユーザーの追加ボタンを選択し、名前を検索して選択する操作を繰り返して、ユーザーを数人追加します。

  4. 追加 を選択します。

以上でセキュリティ グループへのユーザーの割り当てが完了したので、アプリをユーザーと共有する操作に進みます。

アプリをユーザーと共有する

  1. make.powerapps.com に戻ります。

  2. 左側のナビゲーションでアプリを選択し、ペット美容室アプリを検索および選択して、コマンド バーから 共有 ボタンを選択します。

  3. アプリを共有するグループまたはユーザーを追加します。 アプリを共有するときに、セキュリティ ロールを割り当ててアプリへのアクセスを有効にすることもできます。

  4. 共有 を選択します。

共有するユーザーはその環境のユーザーであり、適切なライセンスを所有していること、作成された新しいセキュリティ ロールを使用してアプリの使用を許可されていることが必要です。