WO2018095326A1 - 访问权限的确定方法和装置、终端 - Google Patents

访问权限的确定方法和装置、终端 Download PDF

Info

Publication number
WO2018095326A1
WO2018095326A1 PCT/CN2017/112344 CN2017112344W WO2018095326A1 WO 2018095326 A1 WO2018095326 A1 WO 2018095326A1 CN 2017112344 W CN2017112344 W CN 2017112344W WO 2018095326 A1 WO2018095326 A1 WO 2018095326A1
Authority
WO
WIPO (PCT)
Prior art keywords
security identifier
security
account
identifier
target
Prior art date
Application number
PCT/CN2017/112344
Other languages
English (en)
French (fr)
Inventor
童遥
彭勇
莫海宁
申光
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP17874886.9A priority Critical patent/EP3547634B1/en
Publication of WO2018095326A1 publication Critical patent/WO2018095326A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Definitions

  • the present invention relates to the field of data security, and in particular, to a method, device, and terminal for determining access rights.
  • SaaS Software as a Service
  • a stand-alone database model a shared database separate model
  • a shared database sharing model a shared database sharing model
  • security issues generally include network security access, system permissions model and other issues.
  • network security access the interaction information is generally encrypted to prevent the user information from being stolen.
  • system permission model the role of the tenant interaction is mostly used to achieve secure access control.
  • the shared database feature of the tenant data makes the data isolation between the tenants poor and affects the security of the data. Therefore, there is a need for a secure access control model or method for a data center multi-tenant scenario, such that the model or method has both the most Low hardware and maintenance costs while maintaining data center tenant data security.
  • the embodiments of the present invention provide a method, a device, and a terminal for determining access rights, so as to at least solve the technical problem that data security in the related art is poor.
  • a method for determining an access right includes: when a target user accesses target data by using a first account, acquiring a security identifier of the first account and a security identifier of the target data; In the case where the security identifier of the first account matches the security identifier of the target data, it is determined that the target user has the right to access the target data.
  • the obtaining the security identifier of the first account includes: obtaining the target role of the first account from the role forest, where the role forest includes the correspondence between the account and the role; and obtaining the security identifier corresponding to the target role as the first account Security logo.
  • the method further includes: acquiring a role forest set by the first object as a plurality of accounts, wherein each of the plurality of accounts has one or more Roles; assign multiple accounts to the corresponding users.
  • the obtaining the security identifier corresponding to the target role as the security identifier of the first account includes: acquiring the first security identifier assigned by the first object as the target role; acquiring the second object authorized to the first object and allowing the target role to be used.
  • the second security identifier wherein the security identifier of the first account includes the first security identifier and the second security identifier.
  • acquiring the second security identifier that is authorized by the second object to the first object and allowed to be used by the target role includes: acquiring a third security identifier used by the target object authorized by the second object to obtain the second object; and acquiring the target role in the role forest A fourth security identifier of the parent node of the node, wherein the fourth security identifier is a security identifier used by the second object to be used by the node of the first object and allowed to be passed to the child node of the node.
  • obtaining the security identifier of the target data includes: obtaining the target number from the identifier forest
  • the security identifier of the node is a security identifier of the target data, wherein the identifier forest includes a plurality of nodes and a security identifier possessed by each node.
  • determining whether the security identifier of the first account matches the security identifier of the target data includes at least one of: determining whether there is a security identifier associated with the security identifier of the target data in all the security identifiers of the first account; determining target data Whether the security identifier is a preset security identifier, where the preset security identifier is a security identifier that allows any account to perform data access; and determining whether there is a security identifier associated with the security identifier of the target node in all the security identifiers of the first account,
  • the target node is the parent node of the node where the target data is located, and the security identifier is allowed to be inherited to the parent node used by the child node; wherein, when at least one of the following multiple determination results is obtained, the security identifier of the first account is determined.
  • the security identifier of the target data is matched, and the multiple determination results include: determining that the security identifier associated with the security identifier of the target data exists in all the security identifiers of the first account; determining that the security identifier of the target data is the preset security identifier; Exists in all security IDs of the first account Security identity security identity associated with the destination node.
  • a device for determining access rights includes: an obtaining unit, configured to acquire a security identifier of the first account when the target user accesses the target data by using the first account. a security identifier of the target data; the determining unit is configured to determine that the target user has the right to access the target data if the security identifier of the first account matches the security identifier of the target data.
  • the acquiring unit includes: a first acquiring module, configured to acquire a target role of the first account from the character forest, where the role forest includes a correspondence between the account and the role; and the second acquiring module is configured to acquire and target The security identifier corresponding to the role is the security identifier of the first account.
  • the obtaining unit includes: a third acquiring module, configured to acquire a role forest set by the first object as a plurality of accounts, wherein each of the plurality of accounts has one or more roles; and an allocation module is configured to Multiple accounts are assigned to the corresponding users.
  • the second obtaining module includes: a first acquiring submodule, configured to acquire the first pair a second security identifier that is assigned to the target role; the second acquisition sub-module is configured to obtain a second security identifier that is authorized by the second object to the first object and that is allowed to be used by the target role, where the security identifier of the first account includes A security identity and a second security identity.
  • the second obtaining sub-module is further configured to acquire a third security identifier used by the target object authorized by the second object, and obtain a fourth security identifier of the parent node of the node where the target role is located in the role forest, where The four security identifier is a security identifier that is used by the second object to be granted to the node of the first object and allowed to be passed to the child node of the node.
  • the obtaining unit includes: a fourth acquiring module, configured to obtain, from the identifier forest, a security identifier of the node where the target data is located as a security identifier of the target data, where the identifier forest includes multiple nodes and a security identifier of each node .
  • the device further includes a determining unit, the determining unit is configured to determine whether the security identifier of the first account matches the security identifier of the target data, wherein the determining unit comprises: a first determining module, configured to determine all security identifiers of the first account Whether there is a security identifier associated with the security identifier of the target data; the second determining module is configured to determine whether the security identifier of the target data is a preset security identifier, wherein the preset security identifier is a security for allowing any account to perform data access.
  • the third judging module is configured to determine whether there is a security identifier associated with the security identifier of the target node in all the security identifiers of the first account, where the target node is a security identifier of all the parent nodes of the node where the target data is located.
  • the parent node is inherited by the child node; wherein, when at least one of the following plurality of determination results is obtained, determining that the security identifier of the first account matches the security identifier of the target data, and the plurality of determination results include: determining the first account The presence of the target data in all security identifiers Safety associated identifications; is judged that the security target data identifying a preset security identification; security identity is determined that all the security identifier of the first account identifier of the target in the presence of security associated with the node.
  • a terminal comprising: a processor; a memory configured to store processor-executable instructions; and a transmission device configured to perform information transceiving communication according to control of the processor;
  • the processor is configured to perform the following operations: when the target user accesses the target data by using the first account, acquiring the security identifier and the target number of the first account According to the security identifier; in the case that the security identifier of the first account matches the security identifier of the target data, it is determined that the target user has the right to access the target data.
  • a storage medium configured to store program code configured to perform the following steps: obtaining security of a first account when a target user accesses target data using a first account The security identifier of the identifier and the target data; if the security identifier of the first account matches the security identifier of the target data, determining that the target user has the right to access the target data.
  • the security identifier of the first account and the security identifier of the target data are obtained; and the security identifier of the first account matches the security identifier of the target data.
  • FIG. 1 is a schematic diagram of an alternative computer terminal in accordance with an embodiment of the present invention.
  • FIG. 2 is a schematic illustration of an optional guest identification in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an optional character forest in accordance with an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of an optional security identity association in accordance with an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for determining an access right according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of an alternative system architecture in accordance with an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for determining an optional access right according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of an optional security identification in accordance with an embodiment of the present invention.
  • FIG. 9 is a flowchart of a method for determining an optional access right according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of an apparatus for determining access rights according to an embodiment of the present invention.
  • the method embodiment provided in Embodiment 1 of the present application can be executed in a mobile terminal, a computer terminal or the like.
  • the computer terminal may include one or more (only one shown) processor 101 (the processor 101 may include, but is not limited to, a microprocessor MCU or programmable A processing device such as a logic device FPGA, a memory 103 for storing data, and a transmission device 105 for communication functions.
  • processor 101 may include, but is not limited to, a microprocessor MCU or programmable A processing device such as a logic device FPGA, a memory 103 for storing data, and a transmission device 105 for communication functions.
  • FIG. 1 is merely illustrative and does not limit the structure of the above electronic device.
  • the memory 103 can be used to store software programs and modules of application software, such as program instructions/modules corresponding to the control method of the device in the embodiment of the present invention, and the processor 101 executes each of the software programs and modules stored in the memory 103.
  • a functional application and data processing, that is, the above method is implemented.
  • the memory can include high speed random access memory and can also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • the memory can further include memory remotely located relative to the processor, which can be connected to the computer terminal over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the storage medium ie, the memory
  • the storage medium may be configured to store program code for performing the following steps: acquiring the security identifier of the first account and the security identifier of the target data when the target user accesses the target data using the first account; In the case where the security identifier of an account matches the security identifier of the target data, it is determined that the target user has the right to access the target data.
  • the transmission device is for receiving or transmitting data via a network.
  • the above-described network specific examples may include a wireless network provided by a communication provider of a computer terminal.
  • the transmission device includes a Network Interface Controller (NIC) that can be connected to other network devices through the base station to communicate with the Internet.
  • the transmission device can be a Radio Frequency (RF) module for communicating with the Internet wirelessly.
  • NIC Network Interface Controller
  • RF Radio Frequency
  • Object security identification Use the hierarchical identification model to identify the object. As shown in Figure 2, before using the service, the internal management of the tenant according to the requirements, according to certain criteria (such as region, department, security level, access type) Etc.) Divide the company and construct a forest of identifiers composed of many trees based on this information. Each tree is called the Security Mark Tree (SMT). Each node on the tree represents a controllable inside the company.
  • Security identification, object identification is defined as follows: O: (tenant, SMS) or (tenant, mark1, mark2..., markn), SMS (Security Mark Set) represents the security identity set. Differently shaped images (such as triangles, heptagons, circles) in Figure 2 are used to represent different objects.
  • the subject security identifier the principal is the visitor whose security identifier is obtained through the role it has, that is, the principal obtains the corresponding security identifier through the role it has.
  • the role security identifier definition is similar to the object: R: (tenant, SMS) or (tenant, mark1, mark2..., markn). All roles of the tenant enterprise are represented by the role forest (as shown in Figure 3, which can be divided into multiple role levels, such as role level 1, role level 2, role level n). To meet the security needs of each company, Each company needs to establish its own role forest before using the service.
  • the main body identifier is defined as follows: S: (tenant, RS) or (tenant, role1, role2..., rolen), RS (Role Set) indicates that the user has The set of characters. Each role is labeled with a corresponding security ID to indicate its responsibilities in the system.
  • SMS Security Mark Set
  • x indicates the set of security identifiers that an object has, represented by SMS(x).
  • x indicates the object.
  • the delivery identifier and non-delivery identifier of the tenant authorization, and the non-delivery security identifier granted by the tenant is represented by SMS(t).
  • ASMS Attibute Security Mark Set
  • Extended Security Mark Set Indicates the set of all security identifiers that the user has, including the tenant's, and other tenant authorization bindings. Indicates that m represents the number of authorized tenants, and ESMS (U) consists of three parts:
  • SMS(t) The delivery security identifier and its sub-identifications authorized by other tenants are indicated by SMS(t);
  • X>Y indicates that X is higher in level than Y in the security identification tree, or X is an ancestor of Y, and Xa indicates that security identifier X is from tenant A.
  • Xa->Yb can also be written as (Xa, Yb) ⁇ Tab, indicating that the security identifier is associated, then there is As shown in FIG. 4, there is an association from Global A to Global B , indicating that tenant A grants his own Global Identity to the user with the identifier Global in Tenant B, which can be represented by (Global A , Global B ) ⁇ Tab. Association.
  • Non-transfer association The security administrator may want to associate the tenant's security identity with the other tenant's security identity, but not the ancestor of the other tenant's identity to inherit this delivery association, for example, in Figure 4, tenant A's The security administrator wants to bind the Japan A logo to the tenant B's France B logo and negates the inheritance of this association between Europe B and France B. Therefore, this application introduces the concept of non-transfer association, and the non-transfer association can represent to make: In Figure 4, Japan A and France B are such associations. This mapping is expressed as:
  • tenant A can provide a default security access identifier.
  • the data marked by the identifier is insensitive and accessible to anyone, so that Inter-domain access is secure and easy to manage.
  • Direct strategy compared with the default policy, the direct strategy is to bind the identifiers that tenant B may need to access the system, fully satisfying the user's secure access requirements, but this assignment cannot be satisfied.
  • Different user access requirements, identity assignment and management will be a thorny issue, and in some cases, the security identity does not want to have the same permissions as the parent identity of the identity it is bound to, in which case the tenant The administrator needs to establish a non-delivery security identity binding.
  • the tagged ordered pair can be represented as (X A , Y B )NT.
  • T B have a secure identity tenant a B, a B is the parent of b B identifies security identification, identification and a corresponding binding (c A, b B), the tenant has the identified T B T A in a tenant
  • the user of B can directly obtain the data of the A tenant with the security identifier c A without requiring the A tenant to specify the identity binding (c A , b B ) again.
  • the row-level security identifier controls the user's access to R by binding the security identifier set to the relationship R. Since the overall labeling of R is performed, the user can only access or not access the two cases. It can be represented by ((A 1 , A 2 ... A n ), (SM 1 , SM 2 ... SM m )), and SM 1 , SM 2 ... SM m are each a different security identification tree, then
  • the control rule of the row-level security identifier can be expressed as follows: (T, SMS, R, Q), T indicates the tenant to which the rule belongs, SMS (Security Mark Set) indicates the identifier set, R indicates the relationship object of the SMS action, and Q indicates Prior access control constraints.
  • Column-level security identifiers in order to achieve more granular access control, can be achieved by security identification of the attributes of the relationship, that is, each attribute of the relationship R can achieve the effect of secure access by means of security labeling.
  • security identification of the attributes of the relationship that is, each attribute of the relationship R can achieve the effect of secure access by means of security labeling.
  • SM 1 , ... SM m can be used to indicate that the control rules of the column-level security identifier can be expressed as follows: (T, AMS , SMS, R, Q), T represents the tenant to which the rule belongs, AMS represents the set of (A, SM) dual groups, and SMS represents the row-level security identity set for making attributes that are not included in the AMS.
  • Identification label, R means the relation object of AMS and SMS, and Q means the access control constraint.
  • a method embodiment of a method for determining access rights is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings may be executed in a computer system such as a set of computer executable instructions. Also, although logical sequences are shown in the flowcharts, in some cases the steps shown or described may be performed in a different order than the ones described herein.
  • FIG. 5 is a flowchart of a method for determining an access right according to an embodiment of the present invention. As shown in FIG. 5, the method includes the following steps:
  • step S501 when the target user accesses the target data by using the first account, the security identifier of the first account and the security identifier of the target data are obtained.
  • Step S502 If the security identifier of the first account matches the security identifier of the target data, determine that the target user has the right to access the target data.
  • the security identifier of the account and the security identifier of the target data when the target user accesses the target data by using the first account, The security identifier of the account and the security identifier of the target data; when the security identifier of the first account matches the security identifier of the target data, determining that the target user has the right to access the target data, and determining the authority of the user by using the security flag, whereby, the technical problem of poor security of data in the related art is solved, and the technical effect of improving the security of data is realized.
  • the execution body of the foregoing steps may be a data management terminal, a management terminal for a user access request, or the like, but is not limited thereto.
  • the obtaining the security identifier of the first account includes: obtaining the target role of the first account from the role forest, where the role forest includes the correspondence between the account and the role; and obtaining the security identifier corresponding to the target role is The security ID of an account.
  • the role forest of the first object set to multiple accounts may be acquired, where each account of the multiple accounts has one or more roles; Assign multiple accounts to the corresponding users.
  • a control method for multi-tenant access based on security identifier is proposed.
  • the user is accessing
  • it is determined whether the user has the right to access the data by comparing the security identifier of the role and the security identifier required to access the data, thereby achieving the effect of access control and ensuring secure access of the tenant data.
  • the obtaining the security identifier corresponding to the target role as the security identifier of the first account includes: acquiring the first security identifier assigned by the first object as the target role; acquiring the second object authorization to the first object and allowing the target role to be used The second security identifier, wherein the security identifier of the first account includes the first security identifier and the second security identifier.
  • acquiring the second security identifier that is authorized by the second object to the first object and allowed to be used by the target role may be implemented by: acquiring a third security identifier used by the target object authorized by the second object to the first object; acquiring the role A fourth security identifier of the parent node of the node where the target role is located in the forest, wherein the fourth security identifier is a security identifier used by the second object to be authorized by the node of the first object and allowed to be passed to the child node of the node.
  • the above objects can be tenants.
  • the obtaining the security identifier of the target data includes: obtaining the security identifier of the node where the target data is located from the identifier forest as the security identifier of the target data, wherein the identifier forest includes a plurality of nodes and a security identifier possessed by each node.
  • determining whether the security identifier of the first account matches the security identifier of the target data includes at least one of: determining whether a security identifier associated with the security identifier of the target data exists in all the security identifiers of the first account; determining the target Whether the security identifier of the data is a preset security identifier, where the preset security identifier is a security identifier that allows any account to perform data access; and determining whether there is a security identifier associated with the security identifier of the target node in all the security identifiers of the first account
  • the target node is a parent node of the node where the target data is located, allowing the security identifier to be inherited to the parent node used by the child node; wherein, when at least one of the following multiple determination results is obtained, determining the security identifier of the first account Matching the security identifier of the target data, the multiple determination results include: determining that the security identifier associated with the security identifier of the
  • the system architecture diagram is as shown in FIG. 6, and mainly includes two modules, a security information definition module and an access control module.
  • Security information definition module This module is responsible for completing the definition of the security identification forest and the security identification of the access subject and the access object in the system, and is responsible for the integrity and consistency check of the subject and object security identification.
  • This module is responsible for controlling the access of the user, and based on the security identifier of the access host and object, combined with the existing access control rule information, the final access control result is made.
  • FIG. 7 is a flow chart of the access control selected by the system according to different access types of the user.
  • Step S701 Receive an access request sent by a user of the tenant. Then obtain the corresponding security identity set based on the access request.
  • step S702 the type of access is determined.
  • Access to resources can be divided into the following two categories: the first is access to the database, and the second is service or other access. If it is the first type, step S703 is performed, and in the second type, step S707 is performed.
  • Step S703 When the access type is access to the database, the access control rule is obtained according to the query statement.
  • the database fields that can be accessed and the specific operations on the database are also different.
  • the unified access statement is rewritten according to different permissions of the user, so that it is convenient to obtain all the information that the user can access in a certain table. Therefore, the corresponding access control rule needs to be obtained when the user accesses.
  • Step S704 rewriting the access statement according to the access control rule.
  • Step S705 accessing the database.
  • Step S706 returning the access result, and the user accepts the requested data.
  • tenant B in the system authorizes tenant A, the authorization information is the binding of Markb and Marka, and Markb enables the user in tenant B to access the a attribute of tableX, and finally tenant A
  • Step S707 obtaining an access host and object security identifier.
  • Step S708 comparing the rights of the host and object security identifiers.
  • For access to a service or other resource (such as a file), first obtain the host-object security identifier of the access, and then determine whether the subject has corresponding access rights to the target object according to the security level identified in the security identifier forest.
  • resources can be divided into database resources and other general resources, represented by the ResType attribute in the Resource table, and different control strategies are implemented for the two types of resources. This will be described in detail below in conjunction with FIG.
  • the main database tables include role hierarchy table Role, resource table resource, security identifier hierarchy table Mark, and role and identity binding table RoleMark, resource and identity binding table MarkResource, as shown in FIG.
  • the definition of system security information includes the definition of the security identification forest, the definition of the role hierarchy forest, and the security identification of the subject and object. It can also be used for the integrity and consistency check of the security identification of the host and object.
  • the definition of the security identifier forest it is very important for the system security of the tenant.
  • the system distinguishes which tenant the Mark belongs to according to the TenantID.
  • the ParentMark indicates the parent identifier of the Mark. When the ParentMark is NULL, the identifier is indicated as
  • the tenant security identifies the root node of a certain identifier tree in the forest.
  • the key methods createMarkTree and createMark involve the creation of a new identifier forest and identity.
  • Labeling of the security label After the identification system and the role system are established, the main task is to bind the corresponding security identifier to the host and object of the system, mainly involving two parties. Method: bindMarkToRole and bindMarkToRes, respectively, to identify the role and resources respectively.
  • Integrity and consistency check of the subject and object security ID In order to ensure the completeness of the system access control rules, in order to ensure the integrity of the tenant security identity, after the tenant's application is passed, the tenant's system administrator needs to be based on the needs of the tenant. Customize the corresponding security identifier forest, and give the minimum permission identifier of each security identification tree. The system will call the integrity check method to automatically mark all the resources of the tenant with all the minimum permission identifiers to meet the integrity of the security identifier. At the same time, in order to ensure the consistency of the tenant security identification, when the security label is marked for the resource, the system uses the consistency detection method, and the identifier of each label needs to be compared with the security identifier already possessed by the resource.
  • the identifier is added.
  • the administrator is notified, and after the administrator agrees, the new identifier is replaced.
  • the old identity can meet the consistency requirements of the resource security identity.
  • Three main modules are defined in the system, the database server process startup module, the access monitor module, and the back-end database operation module.
  • Database server process startup module This module is responsible for receiving requests from tenants to access data and starting database server processes after the tenant logs in successfully.
  • Access monitor module This module is responsible for controlling the access of the user. Based on the security identifier of the access host and object, combined with the existing access control rule information, the final access control result is made, and the tenant login and database are recorded. Operation for subsequent auditing.
  • Backend database operations module This module is responsible for performing specific database operations and optimization of access statements.
  • the access control process is described in detail below with reference to FIG. 9.
  • the access monitor module records the tenant login information for subsequent auditing; when the tenant performs the query, the system automatically submits an SQL query. Statement, at this time, the access monitor module should review the security identifiers of related subjects and objects to determine whether the operation is consistent.
  • the access control rule if it is met, sends the access to the backend database operation module, and the backend database operation module further optimizes the database operation and then performs the corresponding database operation.
  • Step S901 receiving a user access request of the tenant. Check user security ID and system security rule data.
  • step S902 it is determined whether the login is successful. If yes, go to step S904, otherwise go to step S903.
  • the user access statement is generated according to the existing information, and the database is submitted for access, thereby determining whether the login is successful.
  • Step S903 rejecting the user access request.
  • the access control module checks the user's request, and determines the user's access result according to the rule information already stored in the system. It is implemented by converting the access statement according to the rule information, as follows:
  • tenant T has user U at this time
  • access statement query submitted by it is as follows:
  • the security identifier of T to R qi is row-level, that is, the object security identifier of R qi is (T, AMS qi , SMS qi , R qi , Q qi ), then When the condition Qi is true, the user can make a current visit to a qi .
  • the security identifier of T to R qi is column-level, that is, the object security identifier of R qi is (T, AMS qi , SMS qi , R qi , Q qi ), then At this time, the user can make a visit to a qi .
  • step S904 the database server process is started.
  • Step S905 implementing access control based on the security identifier.
  • Step S906 the backend database operates.
  • Step S907 accessing the monitor.
  • R q (R q1 , R q2 ....R qm ), Where R(r i ) represents the relationship involved in the rule r i .
  • the access statement conversion is completed, and the statement conversion of the data of other tenants to be accessed is the same, and for a certain query statement, the converted result is a statement.
  • each tenant can freely define the hierarchical subject role and the object identification forest.
  • the user and the object can be freely identified to meet the different access control requirements of the tenant; the data between the tenants is controlled and efficiently shared, and the tenant is The mutual purpose of security identification is used to achieve the purpose of sharing, so that authorized tenants can conveniently and efficiently access the shared data while completely blocking illegal access.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • An apparatus for determining access rights is also provided in the embodiment of the present invention.
  • the device is used to implement the above embodiments and preferred embodiments, and the description thereof has been omitted.
  • the term "module" may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 10 is a schematic diagram of an apparatus for determining access rights according to an embodiment of the present invention. As shown in FIG. 10, the apparatus may include an acquisition unit 101 and a determination unit 103.
  • the obtaining unit 101 is configured to acquire a security identifier of the first account and a security identifier of the target data when the target user accesses the target data by using the first account;
  • the determining unit 103 is configured to determine that the target user has the right to access the target data if the security identifier of the first account matches the security identifier of the target data.
  • the acquiring unit acquires the security identifier of the first account and the security identifier of the target data when the target user accesses the target data by using the first account; the determining unit matches the security identifier of the first account with the security identifier of the target data. In this case, it is determined that the target user has the right to access the target data, thereby solving the technical problem that the data in the related art is less secure, and achieving the technical effect of improving the security of the data.
  • the obtaining unit includes: a first acquiring module, configured to be from the character forest The target role of the first account is obtained, wherein the role forest includes a correspondence between the account and the role; and the second obtaining module is configured to obtain the security identifier corresponding to the target role as the security identifier of the first account.
  • the obtaining unit includes: a third acquiring module, configured to acquire a role forest set by the first object for multiple accounts, where each account of the multiple accounts has one or more roles; and an allocation module is set to Assign multiple accounts to the corresponding users.
  • the second obtaining module includes: a first acquiring submodule, configured to acquire a first security identifier assigned by the first object as a target role; and a second acquiring submodule configured to obtain a second object authorization And a second security identifier of the first object that is allowed to be used by the target role, where the security identifier of the first account includes the first security identifier and the second security identifier.
  • the second obtaining sub-module is further configured to acquire a third security identifier that is used by the target object that is authorized by the second object, and obtain a fourth security identifier of the parent node of the node where the target role is located in the role forest, where The fourth security identifier is a security identifier that is used by the second object to be granted to the node of the first object and allowed to be passed to the child of the node.
  • the obtaining unit includes: a fourth acquiring module, configured to obtain, from the identifier forest, a security identifier of the node where the target data is located as a security identifier of the target data, where the identifier forest includes multiple nodes and each node has security Logo.
  • the device further includes a determining unit, the determining unit is configured to determine whether the security identifier of the first account matches the security identifier of the target data, wherein the determining unit comprises: a first determining module, configured to determine all of the first account Whether the security identifier associated with the security identifier of the target data exists in the security identifier; the second determining module is configured to determine whether the security identifier of the target data is a preset security identifier, wherein the preset security identifier is to allow any account to perform data access.
  • the third identification module is configured to determine whether there is a security identifier associated with the security identifier of the target node in all the security identifiers of the first account, wherein the target node is allowed in all the parent nodes of the node where the target data is located,
  • the security identifier is inherited to the parent node used by the child node; wherein, when at least one of the following plurality of determination results is obtained, determining that the security identifier of the first account matches the security identifier of the target data, and the plurality of determination results include: determining the An account There is a security identifier associated with the security identifier of the target data in the security identifier; the security identifier of the target data is determined to be a preset security identifier; and it is determined that all the security identifiers of the first account are associated with the security identifier of the target node.
  • Safety signs are provided.
  • each tenant can freely define the hierarchical subject role and the object identification forest.
  • the user and the object can be freely identified to meet the different access control requirements of the tenant; the data between the tenants is controlled and efficiently shared, and the tenant is The mutual purpose of security identification is used to achieve the purpose of sharing, so that authorized tenants can conveniently and efficiently access the shared data while completely blocking illegal access.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are in any combination.
  • the forms are located in different processors.
  • Embodiments of the present invention also provide a storage medium.
  • the foregoing storage medium may be configured to store program code for performing the following steps:
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the processor executes according to the stored program code in the storage medium. Line: when the target user accesses the target data by using the first account, obtains the security identifier of the first account and the security identifier of the target data; and if the security identifier of the first account matches the security identifier of the target data, determining that the target user has Permission to access target data.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the security identifier of the first account and the security identifier of the target data are obtained; and the security identifier of the first account matches the security identifier of the target data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种访问权限的确定方法和装置、终端。其中,该方法包括:在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。本发明解决了相关技术中数据的安全性较差的技术问题。

Description

访问权限的确定方法和装置、终端 技术领域
本发明涉及数据安全领域,具体而言,涉及一种访问权限的确定方法和装置、终端。
背景技术
在云计算数据中心领域,SaaS(Software as a Service)是一种新的软件应用模式,它极大地减少了企业在信息基础设施上的投入。目前,SaaS系统的数据模型有三种:独立数据库模型、共享数据库单独模型和共享数据库共享模型。其中,在第一种模型中,每个客户物理上有自己的一整套数据,单独存放,但这种数据模型的最大问题是对应的部署和维护成本非常高,硬件资源的消耗将明显高于其它两种方案,一台服务器将只能支持有限数量的客户;在第二种数据模型下,客户使用独立模式的方式在数据共享和隔离之间获得了一定的平衡,但这种解决方案的不利之处就是当系统出现异常情况需要将历史备份的数据重新恢复的话,流程将变得相对复杂;第三种数据模型具有最低的硬件成本和维护成本,而且每台服务器可以支持最大数量的客户,但由于所有客户使用同一套数据表,因此可能需要在保证数据安全性上花费更多额外的开发成本,以确保一个客户永远不会因系统异常而访问到其它客户的数据。
在传统多租户访问控制的研究中,为了实现不同组织、租户间的资源共享和信息交互的安全性,保证合法性的访问,通常通过把各个租户的控制策略整合在全局访问控制策略下,实现租户间的安全性互操作,其安全问题一般包括网络安全访问、系统权限模型等问题。在网络安全访问方面,一般采用对交互信息进行加密来达到防止用户信息被窃取的危险,而对于系统权限模型,大多是通过租户间角色转换来达到安全访问控制的目的。
但是在使用第三种数据模型时,租户数据的共享数据库特性使得租户间的数据隔离性很差,影响数据的安全性。因此,需要一种针对数据中心多租户场景下的安全访问控制模型或方法,使得这种模型或方法既具有最 低的硬件成本和维护成本,又能保证数据中心租户数据的安全性。
针对相关技术中数据的安全性较差的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种访问权限的确定方法和装置、终端,以至少解决相关技术中数据的安全性较差的技术问题。
根据本发明实施例的一个实施例,提供了一种访问权限的确定方法,该方法包括:在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
进一步地,获取第一账号的安全标识包括:从角色森林中获取第一账号所具有的目标角色,其中,角色森林包括账号与角色的对应关系;获取与目标角色对应的安全标识为第一账号的安全标识。
进一步地,在从角色森林中获取第一账号所具有的角色之前,该方法还包括:获取第一对象为多个账号设置的角色森林,其中,多个账号中的每个账号具有一个或多个角色;将多个账号分配给对应的用户使用。
进一步地,获取与目标角色对应的安全标识为第一账号的安全标识包括:获取第一对象为目标角色分配的第一安全标识;获取第二对象授权给第一对象的且允许目标角色使用的第二安全标识,其中,第一账号的安全标识包括第一安全标识和第二安全标识。
进一步地,获取第二对象授权给第一对象的且允许目标角色使用的第二安全标识包括:获取第二对象授权给第一对象的目标角色使用的第三安全标识;获取角色森林中目标角色所在节点的父节点的第四安全标识,其中,第四安全标识为第二对象授权给第一对象的节点使用且允许传递给该节点的子节点使用的安全标识。
进一步地,获取目标数据的安全标识包括:从标识森林中获取目标数 据所在节点的安全标识为目标数据的安全标识,其中,标识森林包括多个节点和每个节点所具有的安全标识。
进一步地,判断第一账号的安全标识与目标数据的安全标识是否匹配包括以下至少之一:判断第一账号的所有安全标识中是否存在与目标数据的安全标识相关联的安全标识;判断目标数据的安全标识是否为预设安全标识,其中,预设安全标识为允许任何账号进行数据访问的安全标识;判断第一账号的所有安全标识中是否存在与目标节点的安全标识相关联的安全标识,其中,目标节点为目标数据所在节点的所有父节点中,允许安全标识继承给子节点使用的父节点;其中,在得到以下多个判断结果中的至少之一时,确定第一账号的安全标识与目标数据的安全标识匹配,多个判断结果包括:判断出第一账号的所有安全标识中存在与目标数据的安全标识相关联的安全标识;判断出目标数据的安全标识为预设安全标识;判断出第一账号的所有安全标识中存在与目标节点的安全标识相关联的安全标识。
根据本发明实施例的另一个实施例,提供了一种访问权限的确定装置,该装置包括:获取单元,设置为在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;确定单元,设置为在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
进一步地,获取单元包括:第一获取模块,设置为从角色森林中获取第一账号所具有的目标角色,其中,角色森林包括账号与角色的对应关系;第二获取模块,设置为获取与目标角色对应的安全标识为第一账号的安全标识。
进一步地,获取单元包括:第三获取模块,设置为获取第一对象为多个账号设置的角色森林,其中,多个账号中的每个账号具有一个或多个角色;分配模块,设置为将多个账号分配给对应的用户使用。
进一步地,第二获取模块包括:第一获取子模块,设置为获取第一对 象为目标角色分配的第一安全标识;第二获取子模块,设置为获取第二对象授权给第一对象的且允许目标角色使用的第二安全标识,其中,第一账号的安全标识包括第一安全标识和第二安全标识。
进一步地,第二获取子模块还设置为获取第二对象授权给第一对象的目标角色使用的第三安全标识;获取角色森林中目标角色所在节点的父节点的第四安全标识,其中,第四安全标识为第二对象授权给第一对象的节点使用且允许传递给该节点的子节点使用的安全标识。
进一步地,获取单元包括:第四获取模块,设置为从标识森林中获取目标数据所在节点的安全标识为目标数据的安全标识,其中,标识森林包括多个节点和每个节点所具有的安全标识。
进一步地,装置还包括判断单元,判断单元设置为判断第一账号的安全标识与目标数据的安全标识是否匹配,其中,判断单元包括:第一判断模块,设置为判断第一账号的所有安全标识中是否存在与目标数据的安全标识相关联的安全标识;第二判断模块,设置为判断目标数据的安全标识是否为预设安全标识,其中,预设安全标识为允许任何账号进行数据访问的安全标识;第三判断模块,设置为判断第一账号的所有安全标识中是否存在与目标节点的安全标识相关联的安全标识,其中,目标节点为目标数据所在节点的所有父节点中,允许安全标识继承给子节点使用的父节点;其中,在得到以下多个判断结果中的至少之一时,确定第一账号的安全标识与目标数据的安全标识匹配,多个判断结果包括:判断出第一账号的所有安全标识中存在与目标数据的安全标识相关联的安全标识;判断出目标数据的安全标识为预设安全标识;判断出第一账号的所有安全标识中存在与目标节点的安全标识相关联的安全标识。
根据本发明实施例的另一个实施例,提供了一种终端,该终端包括:处理器;设置为存储处理器可执行指令的存储器;设置为根据处理器的控制进行信息收发通信的传输装置;其中,处理器设置为执行以下操作:在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数 据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
根据本发明的另一个实施例,提供了一种存储介质,存储介质可以被设置为存储设置为执行以下步骤的程序代码:在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
在本发明实施例中,通过在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。从而解决了相关技术中数据的安全性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的可选的计算机终端的示意图;
图2是根据本发明实施例的可选的客体标识的示意图;
图3是根据本发明实施例的可选的角色森林的示意图;
图4是根据本发明实施例的可选的安全标识关联的示意图;
图5是根据本发明实施例的访问权限的确定方法的流程图;
图6是根据本发明实施例的可选的系统架构的示意图;
图7是根据本发明实施例的可选的访问权限的确定方法的流程图;
图8是根据本发明实施例的可选的安全标识的示意图;
图9是根据本发明实施例的可选的访问权限的确定方法的流程图;
图10是根据本发明实施例的访问权限的确定装置的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,如图1所示,计算机终端可以包括一个或多个(图中仅示出一个)处理器101(处理器101可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器103、以及用于通信功能的传输装置105。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。
存储器103可用于存储应用软件的软件程序以及模块,如本发明实施例中的设备的控制方法对应的程序指令/模块,处理器101通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
例如,存储介质(即存储器)可以被设置为存储用于执行以下步骤的程序代码:在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
客体安全标识:使用层次化的标识模型对客体进行标识,如附图2所示,在使用服务之前,由租户内部的管理人员根据需求,按照一定准则(如地域、部门、安全级、访问类型等)对公司进行划分,根据这些信息构造成由很多树构成的标识森林,每个树叫做安全标识树SMT(Security Mark Tree),树上的每个节点即代表这个公司内部的一个可控的安全标识,客体标识定义如下:O:(tenant,SMS)或(tenant,mark1,mark2…,markn),SMS(Security Mark Set)表示安全标识集。图2中的不同形状的图像(如三角形、七角形、圆形)用于表示不同的客体。
主体安全标识:主体即访问者,其安全标识是通过其具有的角色获取的,即主体通过其具有的角色获取相应的安全标识,角色安全标识定义与客体类似:R:(tenant,SMS)或(tenant,mark1,mark2…,markn)。租户企业所有角色以角色森林的方式表示(如附图3所示,可以分为多个角色层次,如角色层次1、角色层次2、角色层次n),为满足每个公司各自安全需求,则每个公司在使用服务前都需要各自建立自己的角色森林,主体标识定义如下:S:(tenant,RS)或(tenant,role1,role2…,rolen),RS(Role Set)表示该用户所具有的角色集。每个角色都会有相应的安全标识进行标注,表示其在系统中的职责。
安全标识集(SMS,Security Mark Set):表示对象所具有的安全标识集合,用SMS(x)表示,当x为客体(如关系或属性)时,表示该客体 所具有的安全标识集合;当x为主体时,如用户,表示该主体所具有的安全标识;当x为租户时,表示该租户授予当前租户的安全标识及其子标识的集合,同时为区分租户授权的传递标识与非传递标识,将租户授予的非传递安全标识用SMS(t)表示。
属性安全标识集(ASMS,Attibute Security Mark Set):表示对属性进行标注的标识集合,可用ASMS(x)表示。
扩展安全标识集(ESMS,Extended Security Mark Set):表示用户所具有的所有安全标识的集合,包括本租户的,以及其它租户授权绑定的,用
Figure PCTCN2017112344-appb-000001
表示,m表示授权租户的个数,ESMS(U)由三部分的并集组成:
(1)用户U所属租户分配给他的安全标识及其子标识,用SMS(u)表示;
(2)其它租户授权给他的传递安全标识及其子标识用SMS(t)表示;
(3)其他租户授权给他的非传递安全标识,用
Figure PCTCN2017112344-appb-000002
表示。
为了便于对本申请的理解,在对本发明实施例进行描述的过程中出现的部分逻辑表达方式适用于如下解释:
X>Y:表示X在安全标识树中层次比Y高,或者X是Y的祖先,Xa表示安全标识X来自租户A。
Xa->Yb:也可写成(Xa,Yb)∈Tab,表示安全标识关联,则有
Figure PCTCN2017112344-appb-000003
Figure PCTCN2017112344-appb-000004
如附图4中所示,有从GlobalA到GlobalB的关联,表示来自租户A将自己的Global标识授予租户B中具有标识Global的用户,可用(GlobalA,GlobalB)∈Tab表示这种关联。
传递关联:假设存在关联XA→aB
Figure PCTCN2017112344-appb-000005
如果YB>aB,则YB>XA,因为YB包含了对aB的映射,所以YB也是XA的祖先,从附图4中可以看出MinA->MinB的关联,因此租户B中具有Min标识的用户将可以访问A 中具有Min标识的资源,这也意味着所有MinB的祖先都可以访问租户A中具有Min标识的资源。
非传递关联:安全管理员可能想把本租户的安全标识与其它租户的安全标识相关联,而不想另一租户的标识的祖先继承这种传递关联,例如,在附图4中,租户A的安全管理员想把JapanA标识与租户B的FranceB标识进行绑定,并且否定EuropeB和FranceB的这种关联的继承,因此,本申请引进了非传递关联的概念,非传递关联可表示成:
Figure PCTCN2017112344-appb-000006
在附图4中,JapanA和FranceB就是这种关联。这种映射表示成:
Figure PCTCN2017112344-appb-000007
关于标识关联策略,有如下几种:
(1)缺省策略,当租户B的用户需要对租户A进行访问时,租户A可以提供默认的安全访问标识,比如标识所标定的数据都是不敏感的、任何人都可以访问的,使得域间访问很安全且管理方便。
(2)直接策略,与缺省策略比,直接策略就是对租户B可能要访问该系统而需要使用的标识都一一绑定,充分地满足了用户的安全访问需求,但这种指派不能满足不同用户不同的访问需求,标识的指派及管理将是棘手问题,并且在某些情况下,安全标识并不希望被与其绑定的标识的父标识拥有相同的权限,在这种情况下,租户管理员就需要建立非传递安全标识绑定,此时可以将标识绑定有序对表示为(XA,YB)NT。
(3)部分策略,为了安全,对两租户之间的安全标识的绑定需要系统管理员一一指派,使用非传递关联,但在其他一些情况下,既有继承关系的标识可以指派到同样的标识集,此时可以使用传递关联,来减少系统中指派关系的复杂程度,使得标识绑定更加容易管理。例如,租户TB具有安全标识aB,aB是安全标识bB的父标识,并且在租户TA中有相应的标识绑定(cA,bB),则租户TB中拥有标识aB的用户可以直接得到A租户的具有安全标识cA的数据,而无需A租户再次指定标识绑定(cA,bB)。
关于安全标识分类,包括如下两种形式:
(1)行级安全标识,通过给关系R绑定安全标识集,来控制用户对R的访问,由于是对R的整体标注,则用户只有可以访问或不可以访问两种情况,对其标注可以用((A1,A2...An),(SM1,SM2...SMm))表示,SM1,SM2...SMm各属不同的安全标识树,则行级安全标识的控制规则可以表示如下:(T,SMS,R,Q),T表示该规则所属的租户,SMS(Security Mark Set)表示标识集合,R则表示SMS作用的关系对象,Q表示先期访问控制约束条件。
(2)列级安全标识,为达到更细粒度的访问控制,可以通过对关系的属性进行安全标识来实现,即关系R每一个属性都可以通过用安全标识标注的方式来达到安全访问的效果,可用((A1,SMa1),...(An,SMan),(SM1,...SMm))表示,列级安全标识的控制规则可以表示如下:(T,AMS,SMS,R,Q),T表示该规则所属的租户,AMS表示(A,SM)二元组的集合,SMS表示行级安全标识集合,用以对没有被AMS中所包含的属性做出标识标注,R则表示AMS、SMS作用的关系对象,Q表示先期访问控制约束条件。
根据本发明实施例,提供了一种访问权限的确定方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本发明实施例的访问权限的确定方法的流程图,如图5所示,该方法包括如下步骤:
步骤S501,在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识。
步骤S502,在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
通过上述实施例,在目标用户使用第一账号访问目标数据时,获取第 一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限,通过使用安全标志来判断用户的权限,从而解决了相关技术中数据的安全性较差的技术问题,实现了提高数据的安全性的技术效果。
可选地,上述步骤的执行主体可以为数据管理终端、用户访问请求的管理终端等,但不限于此。
在步骤S501中,获取第一账号的安全标识包括:从角色森林中获取第一账号所具有的目标角色,其中,角色森林包括账号与角色的对应关系;获取与目标角色对应的安全标识为第一账号的安全标识。
可选地,在从角色森林中获取第一账号所具有的角色之前,可获取第一对象为多个账号设置的角色森林,其中,多个账号中的每个账号具有一个或多个角色;将多个账号分配给对应的用户使用。
在上述实施例中,提出了一种基于安全标识的多租户访问的控制方法,通过制定并维护相应的角色森林和安全标识森林,并根据角色的职责赋予其相应的安全标识,则用户在访问数据时,通过比对角色所具有的安全标识以及访问该数据所需要的安全标识,来决定该用户是否具有权限对该数据进行访问,从而达到访问控制的效果,确保租户数据的安全访问。
可选地,获取与目标角色对应的安全标识为第一账号的安全标识包括:获取第一对象为目标角色分配的第一安全标识;获取第二对象授权给第一对象的且允许目标角色使用的第二安全标识,其中,第一账号的安全标识包括第一安全标识和第二安全标识。
具体地,获取第二对象授权给第一对象的且允许目标角色使用的第二安全标识可通过如下方式实现:获取第二对象授权给第一对象的目标角色使用的第三安全标识;获取角色森林中目标角色所在节点的父节点的第四安全标识,其中,第四安全标识为第二对象授权给第一对象的节点使用且允许传递给该节点的子节点使用的安全标识。
上述的对象可以为租户。
在步骤S501中,获取目标数据的安全标识包括:从标识森林中获取目标数据所在节点的安全标识为目标数据的安全标识,其中,标识森林包括多个节点和每个节点所具有的安全标识。
可选地,判断第一账号的安全标识与目标数据的安全标识是否匹配包括以下至少之一:判断第一账号的所有安全标识中是否存在与目标数据的安全标识相关联的安全标识;判断目标数据的安全标识是否为预设安全标识,其中,预设安全标识为允许任何账号进行数据访问的安全标识;判断第一账号的所有安全标识中是否存在与目标节点的安全标识相关联的安全标识,其中,目标节点为目标数据所在节点的所有父节点中,允许安全标识继承给子节点使用的父节点;其中,在得到以下多个判断结果中的至少之一时,确定第一账号的安全标识与目标数据的安全标识匹配,多个判断结果包括:判断出第一账号的所有安全标识中存在与目标数据的安全标识相关联的安全标识;判断出目标数据的安全标识为预设安全标识;判断出第一账号的所有安全标识中存在与目标节点的安全标识相关联的安全标识。
为了进一步详述本申请的实施例,下面结合具体的实施方式详述本申请的实施例。
在本申请提供的基于安全标识的多租户的访问方法中,系统架构图如附图6所示,主要包括两个模块,安全信息定义模块和访问控制模块。
(1)安全信息定义模块:该模块负责完成安全标识森林的定义及系统中访问主体与访问客体的安全标识标注,同时负责主客体安全标识的完整性与一致性检查。
(2)访问控制模块:该模块负责对用户的访问进行控制,其根据访问主客体所具有的安全标识,并结合已有的访问控制规则信息,做出最后的访问控制结果。
访问控制模块根据已经制定好的规则来进行,附图7是系统根据用户的不同访问类型而选择的访问控制流程图。
步骤S701,接收租户的用户发送的访问请求。然后根据访问请求获取相应的安全标识集。
步骤S702,判断访问的类型。
在获取了安全标识集之后,就需要进行权限判定。对资源的访问又可分为以下两类:第一类是对数据库的访问,第二类是服务或其它访问。若是第一类则执行步骤S703,第二类则执行步骤S707。
步骤S703,访问类型为对数据库的访问时,根据查询语句获取访问控制规则。
由于用户权限的不同,其可以访问的数据库字段以及对数据库的具体操作也有差异,对统一访问语句根据用户不同权限进行改写,可以很方便的得到对于某表中,该用户可以访问的所有信息,因此,在用户访问时需要获取对应的访问控制规则。
步骤S704,根据访问控制规则改写访问语句。
当对数据库中表进行访问时,首先需要提取出该表的安全标识标注信息。在数据库信息共享时,需要用到安全标识关联信息表,即其他租户对本租户的授权信息。
步骤S705,访问数据库。
步骤S706,返回访问结果,用户接受所请求的数据。
例如,当租户A某用户(拥有标识Marka)对表进行操作时,如访问tableX表的a属性时(对应的语句为select a from tableX),其对于本租户的转换结果为select a from tableX where tenantID=’tenantAID’;同时,系统中租户B对租户A进行了授权,授权信息为Markb与Marka的授权绑定,而Markb使得租户B中的用户可以访问tableX的a属性,则最终租户A的该访问语句最后转换为select a from tableX where tenantID=’tenantAID’or tenantID=’tenantBID’,这样就在数据库层实现了租户之间数据的共享,提高了租户间数据共享的效率。
步骤S707,获取访问主客体安全标识。
步骤S708,主客体安全标识的权限对比。
对于服务或其它资源(如文件)的访问,首先获取该访问的主客体安全标识,然后根据安全标识森林中标识的安全层次来决定该主体是否对目标客体有相应的访问权限。
实施方式二
在系统中,可将资源分为数据库资源和其它一般资源,由Resource表中的ResType属性表示,对于这两类资源实现不同的控制策略。下面结合图8详述。
(1)表结构设计
主要的数据库表有角色层次表Role,资源表Resource,安全标识层次表Mark,以及角色与标识绑定表RoleMark、资源与标识绑定表MarkResource,如附图8所示。
(2)系统安全信息
系统安全信息定义包括安全标识森林的定义,角色层次森林定义以及主客体的安全标识标注,同时可用于主客体安全标识的完整性与一致性检查。
安全标识森林的定义:其对于租户的系统安全非常重要,系统根据TenantID来区分该Mark属于哪个租户,其中ParentMark表示的是该Mark的父标识,当ParentMark为NULL时,就表在示该标识为该租户安全标识森林中某一标识树的根节点,则租户管理员在构建其标识森林时,涉及到的关键方法createMarkTree和createMark,主要完成新的标识森林及标识的创建。
安全标识的标注:在标识系统及角色系统建立好之后,主要工作就是为系统的主客体绑定相应的安全标识,主要涉及到两个方 法:bindMarkToRole和bindMarkToRes,分别表示对角色、资源分别进行安全标识标注。
主客体安全标识的完整性和一致性检查:为了确保系统访问控制规则的完备性,为确保租户安全标识的完整性,在租户的申请通过后,租户的系统管理员需要根据其所在租户的需求,订制出相应的安全标识森林,并给出各安全标识树最小权限标识,系统会调用完整性检查方法,自动对租户的每一个资源用所有的最小权限标识标注,以满足安全标识的完整性,同时,为确保租户安全标识的一致性,在给资源标注安全标识时,系统会用到一致性检测方法,对每个标注的标识,需要和该资源已具有的安全标识进行比对,当该安全标识和已有的标识都不在同一个标识上上时,加入该标识,当已有标识和其在同一个标识树上时,通知管理员,在管理员同意后,用新标识取代旧的标识,此时可以满足资源安全标识的一致性要求。
实施方式三
在系统中定义了三个主要模块,数据库服务器进程启动模块、访问监控器模块和后端数据库操作模块。
数据库服务器进程启动模块:该模块负责在租户登录成功后,接收租户访问数据的请求,并启动数据库服务器进程。
访问监控器模块:该模块负责对用户的访问进行控制,其根据访问主客体所具有的安全标识,并结合已有的访问控制规则信息,做出最后的访问控制结果,同时记录租户登录以及数据库操作,以便后续审计。
后端数据库操作模块:该模块负责执行具体的数据库操作,以及访问语句的优化。
下面结合图9详述访问控制流程,:一个租户登录系统时,首先进行身份验证,同时访问监控器模块记录租户登录信息以便后续审计;当租户进行查询等操作时,系统自动提交了一条SQL查询语句,此时访问监控器模块要对相关的主体和客体的安全标识进行审查,判断该操作是否符合 访问控制的规则,如果符合则将该访问发给后端数据库操作模块,由后端数据库操作模块对数据库操作做进一步优化后执行相应的数据库操作。
步骤S901,接收租户的用户访问请求。检查用户安全标识以及系统安全规则数据。
步骤S902,判断登录是否成功。若是则执行步骤S904,否则执行步骤S903。根据已有的信息产生用户访问语句,并提交数据库进行访问,进而判断是否登录成功。
步骤S903,拒绝用户访问请求。
在租户对客体进行安全标识并制定数据访问控制规则后,用户访问数据库时,访问控制模块对用户的请求进行检查,根据已经存于系统中的规则信息确定用户的访问结果。通过对访问语句根据规则信息进行转换的方式来实现,具体如下:
假设此时租户T有用户U,其提交的访问语句query如下:
Select aq1,aq2,…..aqn from Rq1,Rq2…..Rqm where Qq
当T对Rqi所进行的安全标识为行级,即Rqi的客体安全标识为(T,AMSqi,SMSqi,Rqi,Qqi),则当
Figure PCTCN2017112344-appb-000008
时,只要条件Qi为真,则该用户可以对aqi进行此次访问。
当T对Rqi所进行的安全标识为列级,即Rqi的客体安全标识为(T,AMSqi,SMSqi,Rqi,Qqi),则当
Figure PCTCN2017112344-appb-000009
时,则该用户可以对aqi进行此次访问。
步骤S904,启动数据库服务器进程。
步骤S905,基于安全标识来实现访问控制。
步骤S906,后端数据库操作。
步骤S907,访问监控器。
此时需要利用系统中已然制定好的规则,对此访问语句进行转换,假设租户T有规则:
ri=(T,ASMS,SMS,R,Q),则当且仅当该规则满足如下条件时,此条规则才会采用:
(1)关系R的属性集的子集A=(a1,a2,...am)是Aq=(aq1,aq2...aqm)的子集。
Figure PCTCN2017112344-appb-000010
则处理这语句时,会涉及到租户T的相关规则为:
ri=(T,ASMS,SMS,R,Q)(1≤i≤k),其中k为该语句涉及到的k条规则,可用Rule(T,query)表示,其意义为t租户在query语句中涉及到的规则集,此处,有如下表示:
(1)记Rq=(Rq1,Rq2....Rqm),
Figure PCTCN2017112344-appb-000011
其中R(ri)表示规则ri中涉及到的关系。
(2)记
Figure PCTCN2017112344-appb-000012
其中Q(ri)表示规则ri中涉及到的约束条件。
则访问语句可以转变为如下语句Query(t):
Select aq1,aq2…aqn from Rq∩Rr where Qq∩Qr
则对租户T,其访问语句转换就完成了,对于其要访问的其他租户的数据的语句转换同理,则对于某一查询语句,其转换后的结果为一个语句
Figure PCTCN2017112344-appb-000013
通过上述实施例,可实现租户之间数据的强隔离性,由于每次访问都需要比较主客体的安全标识是否属于同一租户,杜绝了用户对其他租户数据非法访问的可能性;灵活的租户内部数据隔离,每租户都可以自由定义层次化的主体角色和客体标识森林,可以通过对主客体进行自由的标识来满足租户不同的访问控制需求;租户之间数据的受控、高效共享,租户间通过安全标识的互相授予来达到共享的目的,使得有授权的租户可以很方便、高效的访问共享的数据,同时完全屏蔽非法的访问。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
本发明实施例中还提供了一种访问权限的确定装置。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本发明实施例的访问权限的确定装置的示意图。如图10所示,该装置可以包括:获取单元101和确定单元103。
获取单元101,设置为在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;
确定单元103,设置为在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
通过上述实施例,获取单元在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;确定单元在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限,从而解决了相关技术中数据的安全性较差的技术问题,实现了提高数据的安全性的技术效果。
在上述实施例中,获取单元包括:第一获取模块,设置为从角色森林 中获取第一账号所具有的目标角色,其中,角色森林包括账号与角色的对应关系;第二获取模块,设置为获取与目标角色对应的安全标识为第一账号的安全标识。
可选地,获取单元包括:第三获取模块,设置为获取第一对象为多个账号设置的角色森林,其中,多个账号中的每个账号具有一个或多个角色;分配模块,设置为将多个账号分配给对应的用户使用。
在一个可选的实施例中,第二获取模块包括:第一获取子模块,设置为获取第一对象为目标角色分配的第一安全标识;第二获取子模块,设置为获取第二对象授权给第一对象的且允许目标角色使用的第二安全标识,其中,第一账号的安全标识包括第一安全标识和第二安全标识。
可选地,第二获取子模块还设置为获取第二对象授权给第一对象的目标角色使用的第三安全标识;获取角色森林中目标角色所在节点的父节点的第四安全标识,其中,第四安全标识为第二对象授权给第一对象的节点使用且允许传递给该节点的子节点使用的安全标识。
可选地,获取单元包括:第四获取模块,设置为从标识森林中获取目标数据所在节点的安全标识为目标数据的安全标识,其中,标识森林包括多个节点和每个节点所具有的安全标识。
可选地,该装置还包括判断单元,判断单元设置为判断第一账号的安全标识与目标数据的安全标识是否匹配,其中,判断单元包括:第一判断模块,设置为判断第一账号的所有安全标识中是否存在与目标数据的安全标识相关联的安全标识;第二判断模块,设置为判断目标数据的安全标识是否为预设安全标识,其中,预设安全标识为允许任何账号进行数据访问的安全标识;第三判断模块,设置为判断第一账号的所有安全标识中是否存在与目标节点的安全标识相关联的安全标识,其中,目标节点为目标数据所在节点的所有父节点中,允许安全标识继承给子节点使用的父节点;其中,在得到以下多个判断结果中的至少之一时,确定第一账号的安全标识与目标数据的安全标识匹配,多个判断结果包括:判断出第一账号的所 有安全标识中存在与目标数据的安全标识相关联的安全标识;判断出目标数据的安全标识为预设安全标识;判断出第一账号的所有安全标识中存在与目标节点的安全标识相关联的安全标识。
通过上述实施例,可实现租户之间数据的强隔离性,由于每次访问都需要比较主客体的安全标识是否属于同一租户,杜绝了用户对其他租户数据非法访问的可能性;灵活的租户内部数据隔离,每租户都可以自由定义层次化的主体角色和客体标识森林,可以通过对主客体进行自由的标识来满足租户不同的访问控制需求;租户之间数据的受控、高效共享,租户间通过安全标识的互相授予来达到共享的目的,使得有授权的租户可以很方便、高效的访问共享的数据,同时完全屏蔽非法的访问。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;
S2,在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执 行:在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
在本发明实施例中,通过在目标用户使用第一账号访问目标数据时,获取第一账号的安全标识和目标数据的安全标识;在第一账号的安全标识与目标数据的安全标识匹配的情况下,确定目标用户具有访问目标数据的权限。从而解决了相关技术中数据的安全性较差的技术问题。

Claims (16)

  1. 一种访问权限的确定方法,包括:
    在目标用户使用第一账号访问目标数据时,获取所述第一账号的安全标识和所述目标数据的安全标识;
    在所述第一账号的安全标识与所述目标数据的安全标识匹配的情况下,确定所述目标用户具有访问所述目标数据的权限。
  2. 根据权利要求1所述的方法,其中,获取所述第一账号的安全标识包括:
    从角色森林中获取所述第一账号所具有的目标角色,其中,所述角色森林包括账号与角色的对应关系;
    获取与所述目标角色对应的安全标识为所述第一账号的安全标识。
  3. 根据权利要求2所述的方法,其中,在从角色森林中获取所述第一账号所具有的角色之前,所述方法还包括:
    获取第一对象为多个账号设置的所述角色森林,其中,多个所述账号中的每个账号具有一个或多个角色;
    将多个所述账号分配给对应的用户使用。
  4. 根据权利要求3所述的方法,其中,获取与所述目标角色对应的安全标识为所述第一账号的安全标识包括:
    获取所述第一对象为所述目标角色分配的第一安全标识;
    获取第二对象授权给所述第一对象的且允许所述目标角色使用的第二安全标识,其中,所述第一账号的安全标识包括所述第一安全标识和所述第二安全标识。
  5. 根据权利要求4所述的方法,其中,获取第二对象授权给所述第一对象的且允许所述目标角色使用的第二安全标识包括:
    获取所述第二对象授权给所述第一对象的所述目标角色使用的第 三安全标识;
    获取所述角色森林中所述目标角色所在节点的父节点的第四安全标识,其中,所述第四安全标识为所述第二对象授权给所述第一对象的节点使用且允许传递给该节点的子节点使用的安全标识。
  6. 根据权利要求1至5中任意一项所述的方法,其中,获取所述目标数据的安全标识包括:
    从标识森林中获取所述目标数据所在节点的安全标识为所述目标数据的安全标识,其中,所述标识森林包括多个节点和每个节点所具有的安全标识。
  7. 根据权利要求1至5中任意一项所述的方法,其中,判断所述第一账号的安全标识与所述目标数据的安全标识是否匹配包括以下至少之一:
    判断所述第一账号的所有安全标识中是否存在与所述目标数据的安全标识相关联的安全标识;
    判断所述目标数据的安全标识是否为预设安全标识,其中,所述预设安全标识为允许任何账号进行数据访问的安全标识;
    判断所述第一账号的所有安全标识中是否存在与目标节点的安全标识相关联的安全标识,其中,所述目标节点为所述目标数据所在节点的所有父节点中,允许安全标识继承给子节点使用的父节点;
    其中,在得到以下多个判断结果中的至少之一时,确定所述第一账号的安全标识与所述目标数据的安全标识匹配,所述多个判断结果包括:判断出所述第一账号的所有安全标识中存在与所述目标数据的安全标识相关联的安全标识;判断出所述目标数据的安全标识为所述预设安全标识;判断出所述第一账号的所有安全标识中存在与所述目标节点的安全标识相关联的安全标识。
  8. 一种访问权限的确定装置,包括:
    获取单元,设置为在目标用户使用第一账号访问目标数据时,获取所述第一账号的安全标识和所述目标数据的安全标识;
    确定单元,设置为在所述第一账号的安全标识与所述目标数据的安全标识匹配的情况下,确定所述目标用户具有访问所述目标数据的权限。
  9. 根据权利要求8所述的装置,其中,所述获取单元包括:
    第一获取模块,设置为从角色森林中获取所述第一账号所具有的目标角色,其中,所述角色森林包括账号与角色的对应关系;
    第二获取模块,设置为获取与所述目标角色对应的安全标识为所述第一账号的安全标识。
  10. 根据权利要求9所述的装置,其中,所述获取单元包括:
    第三获取模块,设置为获取第一对象为多个账号设置的所述角色森林,其中,多个所述账号中的每个账号具有一个或多个角色;
    分配模块,设置为将多个所述账号分配给对应的用户使用。
  11. 根据权利要求10所述的装置,其中,所述第二获取模块包括:
    第一获取子模块,设置为获取所述第一对象为所述目标角色分配的第一安全标识;
    第二获取子模块,设置为获取第二对象授权给所述第一对象的且允许所述目标角色使用的第二安全标识,其中,所述第一账号的安全标识包括所述第一安全标识和所述第二安全标识。
  12. 根据权利要求11所述的装置,其中,所述第二获取子模块还设置为获取所述第二对象授权给所述第一对象的所述目标角色使用的第三安全标识;获取所述角色森林中所述目标角色所在节点的父节 点的第四安全标识,其中,所述第四安全标识为所述第二对象授权给所述第一对象的节点使用且允许传递给该节点的子节点使用的安全标识。
  13. 根据权利要求8至12中任意一项所述的装置,其中,所述获取单元包括:
    第四获取模块,设置为从标识森林中获取所述目标数据所在节点的安全标识为所述目标数据的安全标识,其中,所述标识森林包括多个节点和每个节点所具有的安全标识。
  14. 根据权利要求8至12中任意一项所述的装置,其中,所述装置还包括判断单元,所述判断单元设置为判断所述第一账号的安全标识与所述目标数据的安全标识是否匹配,其中,所述判断单元包括:
    第一判断模块,设置为判断所述第一账号的所有安全标识中是否存在与所述目标数据的安全标识相关联的安全标识;
    第二判断模块,设置为判断所述目标数据的安全标识是否为预设安全标识,其中,所述预设安全标识为允许任何账号进行数据访问的安全标识;
    第三判断模块,设置为判断所述第一账号的所有安全标识中是否存在与目标节点的安全标识相关联的安全标识,其中,所述目标节点为所述目标数据所在节点的所有父节点中,允许安全标识继承给子节点使用的父节点;
    其中,在得到以下多个判断结果中的至少之一时,确定所述第一账号的安全标识与所述目标数据的安全标识匹配,所述多个判断结果包括:判断出所述第一账号的所有安全标识中存在与所述目标数据的安全标识相关联的安全标识;判断出所述目标数据的安全标识为所述预设安全标识;判断出所述第一账号的所有安全标识中存在与所述目标节点的安全标识相关联的安全标识。
  15. 一种终端,包括:
    处理器;
    设置为存储所述处理器可执行指令的存储器;
    设置为根据所述处理器的控制进行信息收发通信的传输装置;
    其中,所述处理器设置为执行以下操作:在目标用户使用第一账号访问目标数据时,获取所述第一账号的安全标识和所述目标数据的安全标识;在所述第一账号的安全标识与所述目标数据的安全标识匹配的情况下,确定所述目标用户具有访问所述目标数据的权限。
  16. 根据权利要求15所述的终端,其中,所述处理器还设置为执行以下操作:从角色森林中获取所述第一账号所具有的目标角色,其中,所述角色森林包括账号与角色的对应关系;获取与所述目标角色对应的安全标识为所述第一账号的安全标识。
PCT/CN2017/112344 2016-11-22 2017-11-22 访问权限的确定方法和装置、终端 WO2018095326A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP17874886.9A EP3547634B1 (en) 2016-11-22 2017-11-22 Method and apparatus for determining access permission, and terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201611047578.8A CN108092945B (zh) 2016-11-22 2016-11-22 访问权限的确定方法和装置、终端
CN201611047578.8 2016-11-22

Publications (1)

Publication Number Publication Date
WO2018095326A1 true WO2018095326A1 (zh) 2018-05-31

Family

ID=62171650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/112344 WO2018095326A1 (zh) 2016-11-22 2017-11-22 访问权限的确定方法和装置、终端

Country Status (3)

Country Link
EP (1) EP3547634B1 (zh)
CN (1) CN108092945B (zh)
WO (1) WO2018095326A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865980A (zh) * 2020-07-20 2020-10-30 北京百度网讯科技有限公司 信息存储中心的信息处理方法和装置
CN115525889A (zh) * 2022-09-28 2022-12-27 北京亚控科技发展有限公司 一种安全权限控制方法、装置、电子设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968858B (zh) * 2018-09-30 2022-04-01 北京国双科技有限公司 一种用户权限控制方法及系统
CN109547406B (zh) * 2018-10-12 2022-05-27 中国平安人寿保险股份有限公司 数据发送方法及装置、存储介质和电子设备
CN111428205B (zh) * 2019-01-10 2024-03-22 阿里巴巴集团控股有限公司 一种信息分享方法及装置
CN110427747B (zh) * 2019-06-20 2021-12-14 中国科学院信息工程研究所 一种支持业务安全标记的身份鉴别方法及装置
CN113127887A (zh) * 2019-12-30 2021-07-16 中移信息技术有限公司 数据权限隔离性判断方法、装置、设备及存储介质
CN113765884A (zh) * 2021-07-29 2021-12-07 苏州浪潮智能科技有限公司 一种跨网络的文件强制访问控制方法、装置、系统
CN113821818B (zh) * 2021-11-19 2022-02-08 国网浙江省电力有限公司 基于标识管理的中台访问隔阻方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047576A (zh) * 2007-04-13 2007-10-03 华为技术有限公司 一种内容控制方法和系统
CN102843366A (zh) * 2012-08-13 2012-12-26 北京百度网讯科技有限公司 一种网络资源访问权限控制方法及装置
US8577885B2 (en) * 2010-12-09 2013-11-05 International Business Machines Corporation Partitioning management of system resources across multiple users

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414852A (en) * 1992-10-30 1995-05-09 International Business Machines Corporation Method for protecting data in a computer system
US6279111B1 (en) * 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US7171411B1 (en) * 2001-02-28 2007-01-30 Oracle International Corporation Method and system for implementing shared schemas for users in a distributed computing system
US8381306B2 (en) * 2006-05-30 2013-02-19 Microsoft Corporation Translating role-based access control policy to resource authorization policy
CN101964779A (zh) * 2009-07-21 2011-02-02 中兴通讯股份有限公司 一种基于能力成熟度模型的资源访问控制方法和系统
US8949939B2 (en) * 2010-10-13 2015-02-03 Salesforce.Com, Inc. Methods and systems for provisioning access to customer organization data in a multi-tenant system
CA2856524A1 (en) * 2010-11-24 2012-05-31 Skai, Inc. System and method for access control and identity management
CN102307185B (zh) * 2011-06-27 2015-02-25 北京大学 适用于存储云内的数据隔离方法
WO2015045048A1 (ja) * 2013-09-26 2015-04-02 富士通株式会社 アプリデータ記憶領域生成方法,アプリデータ記憶領域生成装置,及びアプリデータ記憶領域生成プログラム
CN105376198A (zh) * 2014-08-22 2016-03-02 中兴通讯股份有限公司 访问控制方法及装置
CN104301301B (zh) * 2014-09-04 2018-03-13 南京邮电大学 一种基于云存储系统间的数据迁移加密方法
CN104506514A (zh) * 2014-12-18 2015-04-08 华东师范大学 一种基于hdfs的云存储访问控制方法
CN105468689A (zh) * 2015-11-17 2016-04-06 广东电网有限责任公司电力科学研究院 一种电网对象层级权限配置与继承的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047576A (zh) * 2007-04-13 2007-10-03 华为技术有限公司 一种内容控制方法和系统
US8577885B2 (en) * 2010-12-09 2013-11-05 International Business Machines Corporation Partitioning management of system resources across multiple users
CN102843366A (zh) * 2012-08-13 2012-12-26 北京百度网讯科技有限公司 一种网络资源访问权限控制方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865980A (zh) * 2020-07-20 2020-10-30 北京百度网讯科技有限公司 信息存储中心的信息处理方法和装置
CN115525889A (zh) * 2022-09-28 2022-12-27 北京亚控科技发展有限公司 一种安全权限控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP3547634B1 (en) 2024-01-24
CN108092945A (zh) 2018-05-29
CN108092945B (zh) 2022-02-22
EP3547634A4 (en) 2020-06-03
EP3547634A1 (en) 2019-10-02

Similar Documents

Publication Publication Date Title
WO2018095326A1 (zh) 访问权限的确定方法和装置、终端
US8429191B2 (en) Domain based isolation of objects
US9471798B2 (en) Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm
US8990950B2 (en) Enabling granular discretionary access control for data stored in a cloud computing environment
US10263994B2 (en) Authorized delegation of permissions
US8850041B2 (en) Role based delegated administration model
US20110214165A1 (en) Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data
US10037430B2 (en) System and method for controlling the on and off state of features of business logic at runtime
US8843648B2 (en) External access and partner delegation
US20120331518A1 (en) Flexible security token framework
US8990900B2 (en) Authorization control
US20140164544A1 (en) Enabling a computing device to utilize another computing device
US20220123936A1 (en) System And Method For Delegating Authority Through Coupled Devices
US11888856B2 (en) Secure resource authorization for external identities using remote principal objects
US20180067848A1 (en) Memory access control method and system
US20210377272A1 (en) Secure resource authorization for external identities using remote principal objects
US7730179B2 (en) System and method for policy-based registration of client devices
US10333939B2 (en) System and method for authentication
US10491635B2 (en) Access policies based on HDFS extended attributes
US8631123B2 (en) Domain based isolation of network ports
CN115955346A (zh) 一种基于身份认证体系的多租户管理系统及方法
WO2019052328A1 (zh) 一种匿名账户的鉴权方法及服务器
US10911371B1 (en) Policy-based allocation of provider network resources
US11868494B1 (en) Synchronization of access management tags between databases
US11669527B1 (en) Optimized policy data structure for distributed authorization systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17874886

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017874886

Country of ref document: EP

Effective date: 20190624