Object Definition Hierarchy for Granular Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing object-level security in software applications with a large number of objects and users is cumbersome due to the need to assign permissions for each user-action combination, leading to inefficiencies in access control.
Innovation Solution
A method and system that utilize an object definition hierarchy to determine permissions by traversing a predefined hierarchy, where user authorization data grants permissions based on ancestor object definitions, reducing the need for explicit permission assignments for each user-action-object combination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If permissions are assigned for each user-action combination in a system with large number of objects and users, then access control precision is improved, but system complexity and time consumption increase
Solution Approach 1:
The patent segments the monolithic permission management system into a hierarchical structure where permissions are divided and assigned at multiple levels (parent objects and child objects). This allows the system to maintain precise access control by checking permissions at each level of the hierarchy, while reducing overall complexity by avoiding the need to manage every possible user-action-object combination explicitly.
Solution Approach 2:
The patent introduces a hierarchical dimension to permission management by organizing objects into parent-child relationships. Instead of managing permissions in a flat, two-dimensional user-action matrix, the system adds a third dimensional layer (object hierarchy levels) where permissions can be inherited and propagated, thereby reducing the complexity of managing permissions across large numbers of users and objects.
2Measurement precision
If permissions are assigned for each user-action combination in a system with large number of objects and users, then access control precision is improved, but processing time increases
Solution Approach 1:
The patent applies preliminary action by pre-establishing the hierarchical structure of objects and pre-defining permission rules at parent levels before actual access requests occur. When a user requests access to a child object, the system has already prepared the inheritance relationships and can quickly determine permissions by traversing the pre-built hierarchy, rather than computing permissions from scratch for each access request.
Solution Approach 2:
By segmenting the permission checking process into hierarchical levels, the system can stop the checking process early once permission is granted at any level, reducing the average time required compared to checking all possible user-action-object combinations regardless of hierarchy.
3Reliability
If explicit permission assignments are made for each user-action-object combination, then security control is improved, but ease of operation deteriorates
Solution Approach 1:
The patent makes the permission assignment mechanism universal by allowing a single permission assignment at a parent object level to automatically apply to multiple child objects. This multi-functionality enables administrators to manage permissions more easily by working at higher levels of the hierarchy, while the system maintains secure control by still evaluating permissions against the specific child object being accessed.
Solution Approach 2:
The patent merges the permission management of multiple child objects into a single parent object assignment. Instead of requiring separate explicit assignments for each child object, the system combines them through the hierarchical relationship, thereby improving ease of operation while maintaining security through the inheritance mechanism.
Data Source
AI summary
In one embodiment the present invention includes a computer-implemented method comprising receiving a request from a user to perform an action on a first object in a software application, accessing a predefined hierarchy of a plurality of different object definitions, accessing user authorization data, and granting the user permission to perform the action on said first object, wherein the permission is determined from the predefined hierarchy and the user authorization data, wherein determining the permission includes traversing the predefined hierarchy.


