Dataverse のロジックとセキュリティ

完了

Microsoft Dataverse には、データ ストアだけでなく、ビジネス ロジックをデータに適用してデータへのアクセスを保護する機能が用意されています。

Dataverse 内のテーブルでは、サーバー側の豊富なロジックと検証機能を使用して、データの品質を確保できます。 また、テーブル内のデータを作成して使用する各アプリの反復コードを減らすこともできます。

  • ビジネス ルール: ビジネス ルールは、データの作成に使用されたアプリに関係なく、テーブル内の複数の列間でデータを検証し、警告メッセージとエラー メッセージを提供します。

  • ビジネス プロセス フロー: ビジネス プロセス フローでは、ユーザーが確実にデータを入力し、毎回同じ手順を実行するようにユーザーに指示します。 ビジネス プロセス フローは現在、モデル駆動型アプリでのみサポートされています。

  • リアルタイム ワークフロー: ワークフローは、ユーザーの対話を必要とすることなくビジネス プロセスを自動化します。

  • コードを使用するビジネス ロジック: ビジネス ロジックは、コードを使用してアプリケーションを直接拡張する高度な開発シナリオをサポートします。

ビジネス ルール

ビジネス ルールは、次のように多くの一般的なシナリオにおいて、テーブル行を作成および更新する際に使用できます。

  • テーブル列の値を設定する。

  • テーブル列の計算を実行する。

  • データを検証する。

  • データ要件を適用する。

  • テーブル列へのデータ入力をユーザーに求める。

ビジネス ルールは、モデル駆動型アプリのフォームにおける JavaScript などのコードのニーズを置き換えるために使用され、Dataverse の重要なローコード機能です。

ビジネス ルールは、ルールを実装して管理するためのシンプルなドラッグ アンド ドロップ宣言型インターフェイスを提供します。 ビジネス ルール デザイナーを使用すると、ルールを適用するタイミングを定義する条件と、ルールによって実行されるアクションを指定できます。

次のスクリーンショットは、予定日時を強制的に表示して日付を選択する、ペット テーブルのビジネス ルールを示しています。

ビジネス ルール デザイナーのスクリーンショット。

ビジネス ルールは、Power Apps Maker Portal で作成および管理されます。 ビジネス ルールは、Dataverse テーブルに対して定義され、ルールのスコープの設定に基づいて適用されます。

  • 個々のフォーム: ルールは、モデル駆動型アプリの特定のフォームにのみ適用されます。

  • すべてのフォーム: ルールは、モデル駆動型アプリのすべてのフォームに適用されます。

  • エンティティ: ルールは、Dataverse テーブルで行が作成または更新されたときに、モデル駆動型アプリのすべてのフォームに適用されます。 これが既定の設定です。

アクション

ビジネス ルールでは、条件とアクションを組み合わせることにより、次のいずれも実行できます。

  • 列の値を設定する。

  • 列の値をクリアする。

  • 列の要件レベルを設定する。

  • 列を表示または非表示にする。

  • 列を有効化または無効化する。

  • データを検証し、エラー メッセージを表示する。

  • ビジネス インテリジェンスに基づいてビジネス レコメンデーションを作成する。

詳細については、テーブルのビジネス ルールの作成を参照してください。

キャンバスとモデル駆動型アプリの違い

アプリでテーブルが使用されている場合、テーブルに対して定義されたビジネス ルールは、キャンバス アプリとモデル駆動型アプリの両方に適用されます。

モデル駆動型アプリではビジネス ルールで利用できるすべてのアクションを使用できますが、キャンバス アプリでは一部のビジネス ルール アクションしか使用できません。 次のアクションは、キャンバス アプリでは使用できません。

  • 列を表示または非表示にする。

  • 列を有効化または無効化する。

  • ビジネス インテリジェンスに基づいてビジネス レコメンデーションを作成する。

Dataverse のセキュリティ

Dataverse には、環境、テーブル、テーブル行、Dataverse の他の機能 (データのインポートとエクスポートなど) へのアクセスを制御する総合的なセキュリティ モデルがあります。

Dataverse 内のデータは安全に保存されているため、ユーザーはアクセスを許可された場合にのみデータを参照できます。 Dataverse のデータへのアクセスは、ロールベースのアクセス制御 (RBAC) を使用して制御されます。 Dataverse のセキュリティ ロールは、権限とアクセス レベルのコレクションです。 各権限をユーザーに割り当てる代わりに、1 つ以上の Dataverse セキュリティ ロールをユーザーに割り当てます。 この結果、ユーザー アクセスの管理が簡略化されます。

ユーザーは、Dataverse にアクセスしてそのアプリを実行できるように、少なくとも 1 つのセキュリティ ロールに割り当てられている必要があります。

次のような標準セキュリティ ロールの 1 つを割り当てることができます。

  • システム管理者: 環境をカスタマイズまたは管理するフル アクセス許可があります。

  • 環境作成者: アプリ、フロー、接続など、環境に関連付けられた新しいリソースを作成できます。

  • 基本ユーザー: 環境内でアプリを実行し、Account や Contact などの組み込みテーブルの行に対して一般的なタスクを実行できます。

ただし、アプリに必要な最小限の権限セットを提供するため、通常、作成した任意のアプリに対してカスタム セキュリティ ロールを作成する必要があります。 標準セキュリティ ロールは、テーブル用にカスタマイズできません。 カスタム セキュリティ ロールを変更することのみできます。

セキュリティ ロールは、Power Platform 管理センターから管理されます。 環境を選択して、設定 を選択し、ユーザーとアクセス許可 を展開して、セキュリティ ロール を選択します。

カスタム セキュリティ ロール内では、各テーブルの各権限のアクセス レベルを指定できます。 次のスクリーン ショットでは、このカスタム ロールを持つユーザーがテーブル内のデータに完全にアクセスできる、Pet テーブルの作成、読み取り、書き込み、削除、追加、追加先、割り当て、および削除の特権が割り当てられます。

セキュリティ ロールのスクリーンショット。

権限の設定は、各オプションの下のドロップダウンを調整して簡単に変更できます。

詳細については、「Microsoft Dataverse のセキュリティ概念」を参照してください。