IP Library Granted Patent US 10,831,915
Granted Patent B2
US 10,831,915 · App. 16/028,107 · Granted Nov 10, 2020

Method and system for isolating application data access

Inventor: Shaoxiang Qiu (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F21/6218G06F2221/2105G06F2221/2141
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,831,915
App. No.
16/028,107
Granted
Nov 10, 2020
Kind
B2
Abstract

Isolating application data access is disclosed including receiving a request from a first application to access data of a second application, determining whether the first application is in a domain that has access authorization to the data of the second application, in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permitting the first application to perform the access operation, and in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, denying the first application permission to perform the access operation.

Claims (122)

1. A method, comprising:

respectively assigning a unique application identifier to each application;

respectively assigning a unique group to each preset domain, each group having a unique group identifier, wherein:

the unique group identifier is a group ID (GID);

the unique group identifier corresponds to the domain to which each application belongs; and

an identifier of each application is added into a group corresponding to the domain to which the application belongs, and the group corresponds to a parent domain of the domain;

receiving a request from a first application to access data of a second application;

determining whether the first application is in a domain that has access authorization to the data of the second application, comprising:

determining whether the first application is in a domain that is a child domain of the domain to which the second application belongs; and

in response to a determination that the first application is in a domain that is a child domain of the domain to which the second application belongs, determining that the first application has satisfied one of one or more application data access rules;

in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permitting the first application to perform the access operation; and

in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, denying the first application permission to perform the access operation; wherein:

the first application belongs to a first domain, and has one or more first domain attributes that identify the first domain;

the second application belongs to a second domain, and has one or more second domain attributes that identify the second domain; and

the first application accesses the data of the second application according to the one or more application data access rules that exist based on preset hierarchical relationships between the first domain and the second domain.

2. The method as described in claim 1 , wherein prior to the receiving of the request from the first application to access the data of the second application:

during an installation of one application of the applications, setting up domain attributes of the one application based on configuration information included in an installation package of the one application.

3. The method as described in claim 1 , wherein the domain attributes of applications are set up in advance based on preset rules.

4. The method as described in claim 1 , wherein:

the preset hierarchical relationships comprise: parent-child domain relationships; and

the one or more application data access rules based on the hierarchical relationships comprise:

one or more applications in a child domain are authorized to access data of one or more applications in a parent domain; and

other applications belonging to different domains are not authorized to access each other's data, the different domains not relating to the parent domain or the child domain.

5. The method as described in claim 4 , wherein the determining of whether the first application is in the domain that has access authorization to the data of the second application comprises:

determining whether the first application belongs to the same domain as the second application, or the first domain is a child domain of the second domain.

6. A method, comprising:

respectively assigning a unique application identifier to each application;

respectively assigning a unique group to each preset domain, each group having a unique group identifier, wherein the group identifier corresponds to the domain to which each application belongs, and wherein an identifier of each application is added into a group corresponding to the domain to which the application belongs, and the group corresponds to a parent domain of the domain;

receiving a request from a first application to access data of a second application;

determining whether the first application is in a domain that has access authorization to the data of the second application, comprising:

determining whether an application identifier of the first application is in a group corresponding to a group identifier of the data to be accessed;

in response to a determination that the application identifier of the first application is in a group corresponding to the group identifier of the data to be accessed, determining that the first application has satisfied one of one or more application data access rules; and

in response to a determination that the identifier of the first application is not in a group corresponding to the group identifier of the data to be accessed, determining that the first application has not satisfied one of the data access rules;

in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permitting the first application to perform the access operation; and

in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, denying the first application permission to perform the access operation; wherein:

the first application belongs to a first domain, and has one or more first domain attributes that identify the first domain;

the second application belongs to a second domain, and has one or more second domain attributes that identify the second domain;

the first application accesses the data of the second application according to the one or more application data access rules that exist based on preset hierarchical relationships between the first domain and the second domain;

the method is performed in a Linux-based software system;

the unique application identifier is a user ID (UID);

the unique group identifier is a group ID (GID); and

the determining of whether the identifier of the first application is in a group corresponding to the unique group identifier of the data to be accessed is achieved using a Linux authority control technique.

7. The method as described in claim 1 , wherein the application data comprises: data in preset directories corresponding to one application of the applications.

8. The method as described in claim 1 , wherein prior to the receiving of the request from the first application to access the data of the second application, the method further comprises:

dynamically adjusting domain attributes of the first application, domain attributes of the second application, or a combination thereof.

9. The method described in claim 8 , wherein the dynamically adjusting of the domain attributes of the first application, the domain attributes of the second application, or a combination thereof comprises:

adjusting the domain attributes of one application based on a received domain attribute adjustment command; or, adjusting the domain attributes of one application based on a preset periodic authorization technique.

10. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

respectively assign a unique application identifier to each application;

respectively assign a unique group to each preset domain, each group having a unique group identifier, wherein:

the unique group identifier is a group ID (GID);

the unique group identifier corresponds to the domain to which each application belongs; and

an identifier of each application is added into a group corresponding to the domain to which the application belongs, and the group corresponds to a parent domain of the domain;

receive a request from a first application to access data of a second application;

determine whether the first application is in a domain that has access authorization to the data of the second application, comprising to:

determine whether the first application is in a domain that is a child domain of the domain to which the second application belongs; and

in response to a determination that the first application is in a domain that is a child domain of the domain to which the second application belongs, determine that the first application has satisfied one of one or more application data access rules;

in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permit the first application to perform the access operation; and

in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, deny the first application permission to perform the access operation: wherein:

the first application belongs to a first domain, and has one or more first domain attributes that identify the first domain;

the second application belongs to a second domain, and has one or more second domain attributes that identify the second domain; and

the first application accesses the data of the second application according to the one or more application data access rules that exist based on preset hierarchical relationships between the first domain and the second domain.

11. The system as described in claim 10 , wherein prior to the receiving of the request from the first application to access the data of the second application, the processor is configured to:

during an installation of one application of the applications, set up domain attributes of the one application based on configuration information included in an installation package of the one application.

12. The system as described in claim 10 , wherein the domain attributes of applications are set up in advance based on preset rules.

13. The system as described in claim 10 , wherein the determining of whether the first application is in the domain that has access authorization to the data of the second application comprises to:

determine whether the first application belongs to the same domain as the second application, or the first domain is a child domain of the second domain.

14. A system, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

respectively assign a unique application identifier to each application;

respectively assign a unique group to each preset domain, each group having a unique group identifier, wherein the group identifier corresponds to the domain to which each application belongs, and wherein an identifier of each application is added into a group corresponding to the domain to which the application belongs, and the group corresponds to a parent domain of the domain;

receive a request from a first application to access data of a second application;

determine whether the first application is in a domain that has access authorization to the data of the second application, comprising to:

determine whether the identifier of the first application is in a group corresponding to the group identifier of the data to be accessed;

in response to a determination that the identifier of the first application is in a group corresponding to the group identifier of the data to be accessed, determine that the first application has satisfied one of the data access rules; and

in response to a determination that the identifier of the first application is not in a group corresponding to the group identifier of the data to be accessed, determine that the first application has not satisfied one of the data access rules;

in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permit the first application to perform the access operation; and

in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, deny the first application permission to perform the access operation: wherein:

the first application belongs to a first domain, and has one or more first domain attributes that identify the first domain;

the second application belongs to a second domain, and has one or more second domain attributes that identify the second domain;

the first application accesses the data of the second application according to one or more application data access rules that exist based on preset hierarchical relationships between the first domain and the second domain; and

the determining of whether the identifier of the first application is in a group corresponding to the group identifier of the data to be accessed is achieved using a Linux authority control technique.

15. The system as described in claim 10 , wherein prior to the receiving of the request from the first application to access the data of the second application, the processor is further configured to:

dynamically adjust domain attributes of the first application, domain attributes of the second application, or a combination thereof.

16. The system as described in claim 15 , wherein the dynamically adjusting of the domain attributes of the first application, the domain attributes of the second application, or a combination thereof comprises to:

adjust the domain attributes of one application based on a received domain attribute adjustment command; or,

adjust the domain attributes of one application based on a preset periodic authorization technique.

17. A computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

respectively assigning a unique application identifier to each application;

respectively assigning a unique group to each preset domain, each group having a unique group identifier, wherein:

the unique group identifier is a group ID (GID);

the unique group identifier corresponds to the domain to which each application belongs; and

an identifier of each application is added into a group corresponding to the domain to which the application belongs, and the group corresponds to a parent domain of the domain;

receiving a request from a first application to access data of a second application;

determining whether the first application is in a domain that has access authorization to the data of the second application, comprising:

determining whether the first application is in a domain that is a child domain of the domain to which the second application belongs; and

in response to a determination that the first application is in a domain that is a child domain of the domain to which the second application belongs, determining that the first application has satisfied one of one or more application data access rules;

in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permitting the first application to perform the access operation; and

in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, denying the first application permission to perform the access operation; wherein:

the first application belongs to a first domain, and has one or more first domain attributes that identify the first domain;

the second application belongs to a second domain, and has one or more second domain attributes that identify the second domain; and

the first application accesses the data of the second application according to the one or more application data access rules that exist based on preset hierarchical relationships between the first domain and the second domain.

18. A computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

respectively assigning a unique application identifier to each application;

respectively assigning a unique group to each preset domain, each group having a unique group identifier, wherein the group identifier corresponds to the domain to which each application belongs, and wherein an identifier of each application is added into a group corresponding to the domain to which the application belongs, and the group corresponds to a parent domain of the domain;

receiving a request from a first application to access data of a second application;

determining whether the first application is in a domain that has access authorization to the data of the second application, comprising:

determining whether an application identifier of the first application is in a group corresponding to a group identifier of the data to be accessed;

in response to a determination that the application identifier of the first application is in a group corresponding to the group identifier of the data to be accessed, determining that the first application has satisfied one of one or more application data access rules; and

in response to a determination that the identifier of the first application is not in a group corresponding to the group identifier of the data to be accessed, determining that the first application has not satisfied one of the data access rules;

in response to a determination that the first application is in a domain that has access authorization to the data of the second application, permitting the first application to perform the access operation; and

in response to a determination that the first application is not in a domain that has access authorization to the data of the second application, denying the first application permission to perform the access operation; wherein:

the first application belongs to a first domain, and has one or more first domain attributes that identify the first domain;

the second application belongs to a second domain, and has one or more second domain attributes that identify the second domain;

the first application accesses the data of the second application according to the one or more application data access rules that exist based on preset hierarchical relationships between the first domain and the second domain;

the method is performed in a Linux-based software system;

the unique application identifier is a user ID (UID);

the unique group identifier is a group ID (GID); and

the determining of whether the identifier of the first application is in a group corresponding to the group identifier of the data to be accessed is achieved using a Linux authority control technique.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: BANMA ZHIXING NETWORK (HONGKONG) CO., LIMITED
Reel/Frame 054384/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2019
From: QIU, SHAOXIANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051761/0697 →
Priority Claims (1)
CN 2016 1 0009961 · Jan 7, 2016 · national
Continuity (2)
Continuation In Part PCTCN2016112555 · Dec 28, 2016
Related Publication 20190005260A1 · Jan 3, 2019