ドメインセパレーションでのデータベースクエリーの仕組み
顧客のアプリケーションでドメインセパレーションを利用してデータベースクエリーを使用すると、顧客のデータを保護するのに役立ちます。これらのクエリーにより、構成とビルドのプロセスが迅速化されます。
ドメインセパレーションによるデータ保護方法
次の図には、インシデントテーブル [incident] に、インシデントのタスクから継承されたドメインフィールドがあります。このドメインフィールドが表示されている場合は、テーブル内のレコードにドメインが割り当てられていることがわかります。
ユーザーがログインすると、アクセス可能なドメインのセットとともにホームドメインが表示されます。これは、ユーザーのセッションコンテキストと呼ばれます。セッションコンテキストの詳細については、「コンテキストとドメインセパレーション」を参照してください。
ドメインセパレーションでのデータベースクエリー
- ブラウザで、Acme 社のユーザーがオープンインシデントモジュールを選択し、active=true に設定されているすべてのインシデントを表示します。
- active=true フィルターがアプリケーションに送信されます。
- アプリケーションは、active=true に WHERE 句を追加して、データベースにクエリーを送信します。WHERE 句は、返されるインシデントレコードを、ユーザーのドメイン内にあるレコードまたはユーザーがアクセスできるドメインに制限します。これらのドメイン内のレコードのみが処理のためにアプリケーションに返されます。
- コンテキストセキュリティが適用され、ユーザーに返されるデータがさらに制限されます。インシデントレコードがオープンインシデントリストに表示されます。 注:コンテキストセキュリティを適用すると、ユーザーに返されるデータが制限されます。これらの制限は、ユーザーに表示しない他のコンテンツを保護します。
コンテキストセキュリティの詳細については、「コンテキストとドメインセパレーション」を参照してください。
注:
この処理ロジックは、統合を使用してトリガーされるクエリーを含む、データベースに対するすべてのクエリーに適用されます。