Edge-Based Access Control for GraphQL Data Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional access control methods for GraphQL and similar query languages are inadequate as they cannot accommodate access restrictions that vary based on the data path, leading to limited data protection, as they primarily apply restrictions to fields or fragments rather than the paths used to access data.

Innovation Solution

Implementing edge-based access control that contextualizes requests by applying restrictions to the data path within the graph-like structure of the query, allowing for granular access control based on user profiles and roles, and enabling the processing of only accessible parts of a query while blocking inaccessible parts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional access control methods are used that apply restrictions to fields or fragments, then the implementation is simple, but the data protection is limited and cannot accommodate access restrictions that vary based on data path

Engineering Contradiction:
Improvedata protectionVSAvoidaccess control implementation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the GraphQL query into individual data paths and applies access control rules to each path separately. The system identifies distinct data paths in the query and evaluates access control rules for each path independently, enabling fine-grained control over data access based on the specific path taken to retrieve the data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension for access control by shifting from field-based or fragment-based restrictions to data path-based restrictions. This dimensional change allows access control to vary based on the path taken through the GraphQL schema, providing more nuanced and context-aware access control capabilities.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If access control rules are applied to all parts of a query, then comprehensive security is achieved, but processing time increases due to validation of inaccessible parts

Engineering Contradiction:
ImprovesecurityVSAvoidquery processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary identification and classification of data paths in the GraphQL query before executing access control validation. By pre-processing the query to identify which data paths are accessible and which are not, the system can then selectively validate only the necessary paths, avoiding redundant validation of inaccessible data paths and reducing overall processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies access control validation only to the necessary portions of the query rather than uniformly validating all parts. By identifying and validating only the data paths that are both accessible and requested, the system performs partial validation that is sufficient for security while avoiding the overhead of validating inaccessible or irrelevant parts of the query.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If edge-based access control is implemented that processes only valid query parts, then throughput improves, but the complexity of determining valid parts increases

Engineering Contradiction:
ImprovethroughputVSAvoidquery validation logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the GraphQL query into discrete data paths and evaluates access control rules for each segment independently. This segmentation allows the system to process only the valid, accessible portions of the query, improving throughput by avoiding unnecessary processing of inaccessible data paths while maintaining manageable validation logic through modular evaluation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer that acts as a mediator between the incoming GraphQL query and the data retrieval system. This intermediary component is responsible for identifying valid data paths, applying access control rules, and filtering the query before execution, thereby improving throughput while centralizing the complexity of validation logic in a dedicated component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240411918A1Edge-based access control for data queries
Publication Date: 2024.12.12 INIGO LABS INC
  • US20240411918A1 patent drawing
  • US20240411918A1 patent drawing
  • US20240411918A1 patent drawing

AI summary

The application relates to edge-based access control for data queries. In one embodiment, a processing device receives, from a user device, a request comprising a query for data stored on a server. The request is associated with a user profile. The processing device identifies a part of the query. The identified part of the query is associated with an access path. Based on a rule associated with the user profile, the processing device determines whether the access path is valid. Responsive to determining that the access path is valid, the processing device removes the part of the query from the request, and sends, to the user device, an indication that the access path is not valid.