Database Access Control for Multiple Parent Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems face computational challenges and inefficiencies when performing access control on objects with multiple parents, as existing limits on parent objects lead to increased complexity and cost, making it impractical to relax these limits without addressing the associated access control difficulties.
Innovation Solution
The method involves determining user access to database objects by employing a set of access control paths that first check for permissions independent of parent objects and then dependent on parent objects, utilizing numerical counts and references to parent objects to choose the appropriate access control path, thereby optimizing access control processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the limit on the number of parent objects is relaxed to allow multiple parents, then the versatility and expressiveness of database relationships are improved, but the computational cost and difficulty of performing access control significantly increases
Solution Approach 1:
The access control process is segmented into multiple distinct paths: a first set of access control paths that do not rely on parent object permissions, and a second set that does rely on parent object permissions. This segmentation allows the system to handle multiple parent objects without requiring all paths to perform expensive parent permission checks, thereby reducing overall computational cost while maintaining the ability to support multiple parents.
Solution Approach 2:
The system performs preliminary actions by maintaining a numerical count of parent objects and using this count to determine which access control path to take. By pre-calculating and storing the parent count, the system avoids performing expensive parent permission checks unless necessary, thus reducing computational overhead while still supporting multiple parent relationships.
2Ease of manufacture
If extra copies of database objects are created to work around the parent object limit, then the system can maintain single-parent relationships, but this leads to wasteful duplication of data
Solution Approach 1:
The database object structure is made universal by allowing a single object to have multiple parent objects directly, rather than requiring separate copies for different parent relationships. This multi-functionality enables one database object to serve multiple parent-child relationship instances without duplication, eliminating waste while maintaining ease of relationship management.
3Reliability
If access control checks are performed on all parent objects for every access request, then security is maintained, but system performance and response time deteriorate
Solution Approach 1:
The access control system dynamically adapts its behavior based on the number of parent objects. When an object has only one parent, the system uses a simplified access control path. When an object has multiple parents, the system selectively applies parent permission checks only when necessary, based on the specific access control path being evaluated. This dynamic approach maintains security while optimizing performance for different scenarios.
Solution Approach 2:
Instead of performing full access control checks on all parent objects for every access request, the system performs partial checks only when necessary. The numerical count of parent objects is used to determine whether to invoke the second set of access control paths that check parent permissions. This partial action approach maintains security where needed while avoiding unnecessary checks that would degrade performance.
Data Source
AI summary
The technology performs database access control in a manner that decreases computational cost of the database access control with an object type definition of a database object that permit multiple parent objects. The system determines whether to grant a user access to a database object via a first set of access control paths that do not rely on whether the user has permission to access a minimum number of parent objects of the database object. Responsive to a determination not to grant the user access via the first set of access control paths, the system determines whether to grant the user access to the database object via a second set of access control paths that determine whether the user has permission to access the minimum number of parent objects of the database object.


