Multi-Tenant Shared Data Access via Relationship Policies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multi-tenant software environments face challenges in securely sharing data files between tenants, leading to multiple versions and unreliable data access, especially in networked environments where data integrity and security are crucial, and managing third-party access is cumbersome.
Innovation Solution
A relationship-driven access control mechanism is implemented, using a shared data database to store data items with metadata specifying relationships between entities, and a policy database to define access rules based on these relationships, ensuring secure access only to authorized parties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data access is strictly limited to the tenant themselves in conventional multi-tenant environments, then data security and data integrity are ensured, but data sharing with third entities becomes awkward and requires copying data files which consumes more data communication and storage resources
Solution Approach 1:
The patent introduces a shared data database as an intermediary between tenants and third entities. Instead of direct access or copying, the shared database serves as a mediator that stores data files in a controlled manner, allowing third entities to access the single definitive version while maintaining security through centralized access control policies.
Solution Approach 2:
The shared data database provides multiple functions: it serves as a storage location for the single definitive version of data files, an access control mechanism through policies, and a communication bridge between tenants and third entities. This universal mechanism replaces multiple separate copying and access management processes.
2Ease of operation
If data files are exchanged between tenants and other software applications as copies, then data access is enabled, but multiple versions of the same data files are created making third entity processes less reliable and secure
Solution Approach 1:
The patent merges all data file versions into a single definitive version stored in the shared data database. Instead of maintaining multiple separate copies across different tenants and applications, the system consolidates the authoritative version in one location, ensuring all entities access the same consistent data.
Solution Approach 2:
The patent inverts the conventional copying approach. Rather than copying data from tenant databases to third entities (which creates multiple versions), the system establishes a single source in the shared database that third entities access directly, eliminating the need for repetitive copying and version management.
3Adaptability or versatility
If a tenant manages third entity access to their data partition, then data sharing is enabled, but administrative difficulties arise particularly when user credentials change
Solution Approach 1:
The patent implements self-service access management through automated access control policies. The system automatically evaluates access requests against defined policies and relationship structures, eliminating the need for manual tenant intervention when credentials change. The policies self-adjust based on the current state of relationships and permissions.
Solution Approach 2:
The patent establishes access control policies in advance that define the rules for third entity access. These preliminary policies automatically apply when credentials or relationships change, eliminating the need for reactive manual management. The system proactively evaluates access based on pre-defined criteria rather than requiring tenant intervention.
4Reliability
If conventional multi-tenant data access security techniques are used, then data partition security is maintained, but it is difficult to provide third entities with systematic guarantees that data access will not be unilaterally withdrawn
Solution Approach 1:
The patent introduces dynamic access control policies that can be configured to provide systematic guarantees. Access permissions are defined through policies that specify conditions under which third entities can access data, creating enforceable guarantees rather than static tenant-controlled permissions. The system dynamically evaluates these policies while maintaining security.
Solution Approach 2:
The shared data database acts as an intermediary that enforces access guarantees. Instead of tenants directly controlling access (which can be unilaterally withdrawn), the system mediates access through policies that provide systematic guarantees to third entities while maintaining security through centralized control.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Disclosed herein is a method of controlling data access to data items generated by tenants of a multi-tenant software application which have been selectively written to a shared data item database on the basis that access to the data items is to be shared with third-entity software applications, each data item stored in association with data item metadata specifying at least one property of the data item and a relationship identifier associated with a relationship connecting an entity associated with the tenant that generated the data item and a further entity, said method comprising: receiving an access request to access one or more data items stored in the shared data item database from a software application associated with a requesting entity, said access request including a requester identifier identifying the requesting entity and data item property data specifying at least one data item property; selecting, based on the at least one data item property, an access policy from a plurality of access policies, each access policy defining a relationship structure type; querying a relationship database using the requester identifier and the relationship structure defined in the access policy to identify any relationship structures to which the requesting entity is party and which conform to the relationship structure type defined in the access policy, said relationship database having stored thereon relationship data indicative of a plurality of relationship structures corresponding to relationships between a plurality of entities, each relationship structure including a relationship identifier; and, if one or more relationship structures are identified: identifying the relationship identifier associated with each identified relationship structure, and granting access to any data items stored in the shared data item database which are associated with a relationship identifier that matches the identified relationship identifier and that are associated with at least one data item property that matches the at least one data item property specified in the access request.