Resource-Centric Authorization Scheme for Granular Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional access control mechanisms like discretionary access control and role-based access control do not effectively manage resource-centric authorization in operating environments, failing to provide granular control over resource access and operations.

Innovation Solution

A resource-centric authorization scheme is implemented, using REST-compatible APIs to associate users with resources and operations, allowing granular permission management through role-based and resource-based permission databases, enabling users to specify access rights and permissions like READ, WRITE, or DELETE, and allowing administrators to grant or revoke permissions and roles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional access control mechanisms (DAC/RBAC) are used, then user identity-based authorization is provided, but granular resource-centric control is lost

Engineering Contradiction:
Improveresource-centric authorization controlVSAvoidaccess control mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent inverts the conventional access control approach by shifting the authorization focus from user identity to resource identity. Instead of asking 'what can user X do?', the system asks 'who can access resource Y and what operations are permitted?'. This inversion is implemented through resource-centric authorization records that store permissions associated with resources rather than users, allowing granular control over specific resources while simplifying the authorization model for resource-centric environments.

Inventive Principle:
Principle #13The other way round (Inversion)

2Measurement precision

If granular permission management is implemented, then access control precision is improved, but system complexity increases

Engineering Contradiction:
Improveaccess control granularityVSAvoidpermission management system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the authorization system into distinct components: resource records with embedded authorization information, role definitions, and permission records. Each resource can have its own authorization record containing specific permissions (read, write, delete, etc.), while roles group multiple permissions together. This segmentation allows granular control at the resource level while managing complexity through modular organization of authorization data and operations.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If role-based authorization is added to resource-based authorization, then authorization flexibility is improved, but processing overhead increases

Engineering Contradiction:
Improveauthorization flexibilityVSAvoidauthorization processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-defining roles with associated permission sets before authorization decisions are needed. When a user is assigned a role, their permissions are determined in advance through role assignment rather than evaluating individual permissions at access time. This pre-computation of authorization relationships reduces processing overhead during actual access operations while maintaining flexibility through the ability to assign multiple roles and combine their permissions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9602517B2Resource-centric authorization schemes
Publication Date: 2017.03.21 RED HAT INC
  • US9602517B2 patent drawing
  • US9602517B2 patent drawing
  • US9602517B2 patent drawing

AI summary

A method includes receiving a request of a user to perform an operation with respect to a first resource, in response to the request, determining, in view of a resource-based master data structure, a first resource-based permission data structure associated with the first resource, and accessing the first resource-based permission data structure to identify a first resource entry associated with the user. The method further includes upon determining that the first resource entry does not indicate that the user has a permission to perform the requested operation with respect to the first resource, determining a second resource-based permission data structure associated with a second resource that is a parent of the first resource, accessing the second resource-based permission data structure to identify a second resource entry associated with the user, and upon determining that the second resource entry indicates that the user has a permission to perform the requested operation with respect to the second resource, allowing the user to perform the requested operation with respect to the first resource.