Microsoft Dataverse は、データの整合性とプライバシーを保護し、効率的なデータ アクセスとコラボレーションをサポートするセキュリティ モデルを提供します。 モデルの目的は次のとおりです。
- ユーザーが各自の業務の実行に必要となる相応のレベルの情報にのみアクセスできるようにします。
- ユーザーをロールによって分類し、ロールに基づいてアクセスを制限します。
- ユーザーおよびチームが所有していないレコードに指定された共同作業の目的としてアクセスできるように、データの共有をサポートします。
- ユーザーが所有または共有していないレコードへのアクセスを禁止します。
開発者は、コード内のデータ操作がユーザーのコンテキストで実行されることを知っている必要があります。 コードがユーザーに実行を許可されていない操作を実行しようとすると、例外がスローされます。 コードは、セキュリティ ロールまたはチーム メンバーシップを通じてユーザー アカウントに割り当てられた特権に基づいてのみ操作を実行できます。 セキュリティに関連するエラーがコードに影響しないようにするにはどうすればよいですか?
- 同期 プラグイン (イベント ハンドラー) を開発している場合、データ操作でエラーが発生すると、処理されているデータ トランザクション全体が失敗します。 try/catch のエラーを無視することはできません。 ロジックが成功するように、現在のユーザーが操作を実行する権限とレコードへの適切なレベルのアクセス権を持っているかどうかをテストするにはどうすればよいですか?
- ユーザー インターフェイスを使用してアプリケーションを開発する場合は、ユーザーが実行できないコマンドを無効または非表示にすることが必要な場合があります。
最初の手順は、データ アクセスに適用されるセキュリティの概念を理解することです。 コードをテストするときにセキュリティ ロールを適用する必要があるため、セキュリティ ロールを構成して管理する方法を理解しておく必要があります。 ただし、これはこのトピックの範囲外です。 セキュリティの一般的な概念とセキュリティ構成タスクの詳細については、Microsoft Dataverse のセキュリティの概念を参照してください。
以降のセキュリティ関連のトピックでは、Microsoft Dataverse のセキュリティの概念と管理に関する基本的な知識があることを前提としています。そのため、プラグインまたはアプリケーションで使用する必要があるセキュリティ API とデータ アクセス API の対処を進めることができます。