CN114503512A - 允许具有多级的层次结构的嵌套租户 - Google Patents

允许具有多级的层次结构的嵌套租户 Download PDF

Info

Publication number
CN114503512A
CN114503512A CN202080068639.7A CN202080068639A CN114503512A CN 114503512 A CN114503512 A CN 114503512A CN 202080068639 A CN202080068639 A CN 202080068639A CN 114503512 A CN114503512 A CN 114503512A
Authority
CN
China
Prior art keywords
data protection
protection scope
service
computer system
tenant
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202080068639.7A
Other languages
English (en)
Other versions
CN114503512B (zh
Inventor
B·巴斯贾格尔
K·坦本迪特
J·霍尔维茨
M·斯格罗伊
J·M·贝甘
B·J·弗赖
B·R·麦克纳马拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Salesforce Inc
Original Assignee
Salesforce com Inc
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 Salesforce com Inc filed Critical Salesforce com Inc
Publication of CN114503512A publication Critical patent/CN114503512A/zh
Application granted granted Critical
Publication of CN114503512B publication Critical patent/CN114503512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

一种多租户计算机系统实现用于根据允许具有多级的层次结构的嵌套租户模型向共享基础架构服务提供数据保护范围的平台。多租户计算机系统为云产品、服务产品、云产品租户、在云产品的上下文中操作的服务产品、在云产品租户的上下文中操作的服务产品、以及前述的组合提供数据保护范围。

Description

允许具有多级的层次结构的嵌套租户
背景技术
技术领域
公开文本总体上涉及多租户计算机系统。
现有技术描述
软件级多租户使得单个软件实例能够在计算机硬件上运行并向多个用户提供服务。这些用户被称为租户。利用多租户,软件应用程序被设计为向这些租户提供实例的共享,使得数据、元数据、配置、设置、用户管理和其他功能与其他租户隔离。
附图说明
图1是示出根据各种实施方案的配置为实现嵌套多租户的计算机系统的实施方案的框图。
图2是根据各种实施方案的图1的数据保护范围层次结构的展开框图。
图3是根据各种实施方案的嵌套多租户请求格式模板。
图4是根据所公开的实施方案的数据保护范围层次结构中的密码令牌关系的框图。
图5是说明根据各种实施方案的云产品数据保护范围和云产品租户数据保护范围的提供方法的框图。
图6是说明用于服务产品数据保护范围的提供方法和云产品数据保护范围的上下文中的服务产品的框图。
图7、8A和8B是说明与模板相关联的方法的实施方案的流程图。
图9是可实现图1的各个部件的示例性计算机系统的框图。
公开文本包括对“一个实施方案”或“实施方案”的引用。短语“在一个实施方案中”或“在实施方案中”的出现不一定指相同的实施方案。特定特征、结构或特性可以以与公开文本一致的任何合适的方式组合。
在公开文本中,不同的实体(其可以被不同地称为“单元”、“电路”,其他部件等)可以被描述或要求保护为“配置为”执行一个或多个任务或操作。该公式-[实体]配置为[执行一个或多个任务]-在本文中用于指结构(即,物理的东西,如电子电路)。更具体地,该公式用于指示该结构被设置为在操作期间执行一个或多个任务。即使结构当前未被操作,也可以说该结构“配置为”执行某些任务。“配置为接收请求的计算机系统”旨在覆盖例如计算机系统具有在操作期间执行该功能的电路,即使所讨论的计算机系统当前未被使用(例如,电源未连接到它)。因此,被描述或叙述为“配置为”执行某个任务的实体是指某种物理实体,如设备、电路、存储可执行以实现该任务的程序指令的存储器等。因此,“配置为”构造在此不用于指诸如应用编程接口(API)的软件实体。
术语“配置为”并不意味着“可配置为”。例如,未编程的FPGA将不被认为是“配置为”执行某些特定功能,尽管它可以是“可配置为”执行该功能并且可以在编程之后“配置为”执行该功能。
在所附权利要求中叙述的结构被“配置为”执行一个或多个任务明确地旨在调用针对该权利要求要素的35U.S.C.§112(f)。因此,所提交的本申请中的权利要求都不旨在被解释为具有装置加功能元件。如果申请人希望在起诉期间援引第112(f)条,它将使用“用于”[执行功能]构造的装置来叙述权利要求要素。
如这里所使用的,术语“第一”、“第二”等被用作它们前面的名词的标记,并且不暗示任何类型的排序(例如,空间的、时间的、逻辑的等),除非特别说明。例如,除非“第一”和“第二”数据保护范围的引用将不暗示两者之间的顺序,除非另有说明。
如本文所用,术语“基于”用于描述影响确定的一个或多个因素。该术语并不排除其他因素可能影响确定的可能性。即,确定可以仅基于指定因素或基于指定因素以及其他未指定因素。考虑短语“基于B确定A”,该短语指定B是用于确定A或影响A的确定的因素。该短语并不排除A的确定也可以基于一些其他因素,例如C。该短语还旨在覆盖其中A仅基于B确定的实施方案。如此处所使用的,短语“基于”因此与短语“至少部分地基于”同义。
如此处所使用的,词语“模块”指的是存储或执行一组操作的结构。模块是指实现该组操作的硬件,或存储该组指令的存储器,使得当由计算机系统的一个或多个处理器执行时,使得计算机系统执行该组操作。因此,模块可以包括实现指令的专用集成电路、存储指令的存储器和执行所述指令的一个或多个处理器,或两者的组合。
具体实施方式
现在参考图1,示出了计算机系统100的示例性实施方案的框图。在各种实施方案中,计算机系统100包括与多租户计算机系统120通信的远程计算机系统110。在各种实施方案中,远程计算机系统110与多租户计算机系统120的租户(或租户中的一个租户)相关联,并且正在请求对一个或多个共享基础架构服务124的访问(例如,利用提供请求112和/或访问请求114)。
在各种实施方案中,远程计算机系统110是配置为与多租户计算机系统120交互的多个计算机系统(例如,服务器、膝上型计算机、台式计算机、平板计算机、移动设备、可穿戴计算机)中的任何一个。在各种实施方案中,使用单个计算机系统或计算机系统云来实现远程计算机系统110。在各种实例中,远程计算机系统110向多租户计算机系统120发送(例如,通过在各种实施方案中包括因特网的有线和/或无线网络)提供请求112和访问请求114。如这里所讨论的,这些请求112和114使得远程计算机系统110能够以确保数据保护和隐私的受控和安全的方式访问共享基础架构服务124。
在各种实施方案中,多租户计算机系统120是配置为实现包括一个或多个共享基础架构服务124的多租户平台的多个计算机系统(例如,服务器、膝上型计算机、台式计算机、平板计算机、移动设备、可穿戴计算机)中的任何一个。如这里所讨论的,该多租户平台还配置为向这些共享基础架构服务124提供数据保护范围。如这里所使用的,“平台”是指当在硬件(例如,多租户计算机系统120)上执行时执行这里描述的功能的软件。在各种实施方案中,多租户计算机系统120使用单个计算机系统或一组计算机系统(例如,分布式云环境)来实现。
在各种实施方案中,使用数据保护范围层次结构122来控制对共享基础架构服务124的访问。在各种实施方案中,数据保护范围层次结构122包括多级数据保护范围。如在此参考图2-8更详细地讨论的,层次结构122包括保护不同类型的信息的多个不同的数据保护范围(例如,在此讨论的云产品数据保护范围202、服务产品数据保护范围204)。在这样的实施方案中,多租户计算机系统120实现用于根据用数据保护范围层次结构122实现的嵌套租户模型向一个或多个共享基础架构服务124提供数据生产范围的平台。如本文所用,术语“嵌套租户”和“嵌套多租户”是指其中租户本身具有(或可具有)租户(本文也称为子租户)的多租户模型。在这些模型的顶级的租户在此也被称为“头等租户”。在各种实例中,这些各种数据保护范围与实现为多租户计算机系统120的顶级租户的云产品或服务产品相关联。在各种实例中,各种云产品各自具有其自己的多组租户,并且数据保护范围层次结构122包括从属于其相应云产品的云产品租户数据保护范围。类似地,服务产品可以在具有相应数据保护范围的云产品或云产品的租户的上下文中执行。这里参考图2进一步讨论数据保护范围层次结构122和各种数据保护范围。
在各种实施方案中,共享基础架构服务124是提供嵌套租户(例如,具有子租户的租户)的多个共享服务中的任何一个。如这里所使用的,“共享基础架构服务”是可由多个租户根据多租户模型来访问并向其租户的功能提供支持功能的软件的单个实例。例如,在各种实施方案中,第一共享基础架构服务124提供由作为顶级租户的多种数据库中的任何数据库使用的共享数据库模板,其中许多数据库又具有它们自己的租户(这里也称为“子租户”)。在这样的实施方案中,该共享模板服务可操作来提供一个或多个可选择的数据库模板,可选择的数据库模板限定应用程序能够访问的非关系数据库所支持的数据类型,服务来自应用程序的请求来操纵由所选择的数据库模板限定的特定数据类型,基于所选择的数据库模板来标识一组数据操纵语言(DML)指令,以及向非关系数据库发出标识的一组DML指令。在第16/121,598号美国专利申请中更详细地公开了共享模板服务,在此将其整体并入。在另一实施方案中,共享基础架构服务124为具有其自身租户的不同服务提供调度服务。
在各种实施方案中,多租户计算机系统120在接收到请求时在层次结构122中提供数据保护范围。因此,在各种实施方案中,多租户计算机系统120接收为具有第一组租户的云产品提供第一数据保护范围的第一请求以及为服务产品提供第二数据保护范围的第二请求。响应于第一请求,多租户计算机系统120向云产品提供第一数据保护范围,并且响应于第二请求提供第二数据保护范围,这两者都在层次结构122的最顶级。如这里所讨论的,随后当云产品或服务产品访问共享基础架构服务124时,调用它们各自的数据保护范围。
在各种实施方案中,层次结构122中的数据保护范围也在最顶级的从属级提供。因此,在各种实施方案中,多租户计算机系统120在层次结构122的顶级为具有第一组租户的云产品提供第一数据保护范围,并且在层次结构122的下一级为第一组租户中的特定一个提供第二数据保护范围。在这样的实施方案中,该第二数据保护范围从属于第一数据保护范围。类似地,在一些实施方案中,多租户计算机系统120在层次结构122的顶级提供用于管理云产品和云产品的租户的数据的服务产品的第一数据保护范围。另外,多租户计算机系统120在层次结构122的下一级为特定云产品的上下文中的服务产品提供第二数据保护范围。
在各种实施方案中,该嵌套租户模型使得多租户计算机系统120能够通过将这些云产品和服务产品视为头等租户(其子租户是从属的)来向多个云产品提供共享的基础架构服务,其中每个云产品具有其自己的多组代理云产品(或云产品的租户)的租户和/或服务产品。此外,该嵌套租户模型是可缩放的,使得附加的云产品或服务产品可以被添加到层次结构中作为附加的头等租户。这可以例如在发布新的云产品时执行,或者在获得启动时将由启动操作的服务产品集成到多租户计算机系统120中。如本文所讨论的,与第一云产品的第一租户相关联的实体能够向也与第二云产品的实体相关联的第二租户扩展信任,使得第一租户和第二租户对集成在一起的共享基础架构服务124的访问,允许实体更方便地访问存储在多个云产品中的信息。由于层次结构122,这种集成访问能够降低访问和/或改变不同云产品中的信息的复杂性。
现在参考图2,示出了根据各种实施方案的图1的数据保护范围层次结构122的展开框图。在各种实施方案中,数据保护范围层次结构122包括多级(例如,级200、210、220、230、240),每个级包括一个或多个数据保护范围(例如,在级200的数据保护范围202、204、206,在级210的数据保护范围212)。如本文所讨论的,多租户计算机系统120使用数据保护范围层次结构122来保护对信息(例如,共享基础架构服务124)的访问,使得当远程计算机系统110尝试访问受保护信息时,多租户计算机系统120查阅数据保护范围层次结构122以确定是否准许访问尝试。如本文所讨论的,这样的访问尝试(例如,请求112、114)包括标识数据保护范围层次结构122中进行这种尝试的特定数据保护范围(本文参考图3进一步详细讨论)和/或使用密码技术来认证这种尝试(本文参考图4进一步详细讨论)。
在各种实施方案中,层次结构122包括多级。在图2所示的实施方案中,存在五个级:200、210、220、230和240,尽管在各种其他实施方案中,可以存在编号为二或更大的多级中的任一个。在图2所示的实施方案中,级200是层次结构122的顶层,其下面的级从属于级200。例如,级210和220包括分别直接从属于数据保护范围202和204的数据保护范围212和222。因此,在各种实施方案中,级210和220从属于级200,级230从属于级220(进而从属于级210),并且级240从属于级200、210、220和230。
在数据保护范围层次结构122中,从属数据保护范围(例如212、214、232)在各种实施方案中具有等于或小于其上级数据保护范围(例如202、204)的访问权。因此,在这样的实施方案中,云产品的租户将仅访问云产品所访问的信息的子集。在各种实施方案中,相同级的数据保护范围也彼此隔离,使得第一数据保护范围(例如,云产品A数据保护范围202A)可访问的信息中的至少一些与第二数据保护范围(云产品B数据保护范围202B)可访问的信息中的至少一些隔离。然而,在各种实施方案中,信息可由多个数据保护范围访问。在一些实施方案中,这样的信息可用于层次结构122的相同级的所有数据保护范围,或相同类型的所有数据保护范围(例如,所有云产品数据保护范围202)。在一些实施方案中,第一实体(例如,用户、租户、子租户)可以准许第二实体(例如,另一用户、租户、或子租户)访问与第一实体相关联的一个或多个数据保护范围(在本文中也称为“扩展信任”),使得第二实体将可以访问由第一实体的数据保护范围保护的信息。例如,云租户数据保护范围212和云租户数据保护范围232的上下文中的服务产品可以共享信息。类似地,实体可以与不同云产品(例如,202A和202B)的租户相关联,并且实体可以请求跨这些不同云产品(例如,212A、212B)的云产品租户数据保护范围来共享信息。
级200是层次结构122的顶级。在图2所示的实施方案中,云产品数据保护范围202、服务产品数据保护范围204和帐户数据保护范围206处于级200。在各种实施方案中,级200中的数据保护范围与多租户计算机系统的头等租户相关联。如这里所讨论的,从属于级200的层次结构122中的级与这些头等租户或用于访问租户或子租户的用户账户的子租户相关联。
云产品数据保护范围202与各自具有其自己的子租户的云产品相关联。如这里所使用的,“云产品”指的是可由其租户访问并且可用于为这样的租户执行功能的软件(这不同于诸如亚马逊网络服务(AMAZON WEB SERVICES)的云环境,AMAZON WEB SERVICES提供运行软件的分布式硬件和软件)。在多租户计算机系统120由SALESFORCE操作的各种实施方案中,云产品的示例包括管理用于其子租户的销售管理的数据的客户关系管理(CRM)系统,为子租户提供跨多个通道的统一商务平台的商务云,以及为子租户提供数字营销自动化和分析软件和服务的营销云。如图2所示,在层次结构122中提供了两个云数据保护范围202:云产品A数据保护范围202A,其具有第一组子租户;以及云产品B数据保护范围202B,其具有第二组子租户。虽然在图2中示出了两个云产品数据保护范围202,但是在层次结构122中可以存在任何数量。
服务产品数据保护范围204与服务产品相关联。如这里所使用的,“服务产品”是可操作来代表云产品和/或云产品的租户访问、改变和/或管理数据的软件。如这里所使用的,服务产品(a)当它代表特定云产品时“在云产品的上下文中操作”,以及(b)当它代表特定云产品的特定租户时“在云产品的租户的上下文中操作”。在多租户计算机系统120由SALESFORCE操作的各种实施方案中,服务产品的示例包括可操作用于管理项目的库存(例如,具有对某些项目的保持、实时可用性、度量)的库存服务,或者可操作用于管理关于租户商业商店的数字资产的元数据的资产优化器服务。各种服务可操作来访问/修改与云产品数据保护范围202相关联的信息和/或访问/修改与云租户数据保护范围212相关联的信息。如图2所示,在层次结构122中提供了两个服务产品保护范围204:服务产品A数据保护范围204A和服务产品B数据保护范围204B。如下所述,为在云产品的上下文中操作的服务产品(例如,服务产品云产品数据保护范围222)或在云产品的租户的上下文中操作的服务产品(例如,服务产品云产品租户数据保护范围232)提供从属数据保护范围。虽然在图2中示出了两个服务产品数据保护范围204,但是在层次结构122中可以存在任何数目。
提供帐户数据保护范围206以向单个租户提供对共享基础架构服务124的访问。没有从属于帐户数据保护范围206而被提供的数据保护范围(尽管有一个或多个用户帐户242可用于访问帐户数据保护范围206)。虽然在图2中仅示出了一个帐户数据保护范围206,但是在层次结构122中可以存在任何数目。
级210包括从属于级200中的云产品数据保护范围202的云产品租户数据保护范围212。如图2所示,层次结构122包括从属于云产品A数据保护范围202A的多个云产品A租户数据保护范围212A和从属于云产品B数据保护范围202B的多个云产品B租户数据保护范围212B。
级220包括用于在云产品的上下文中操作的服务产品的数据保护范围:服务产品云产品数据保护范围222。这些服务产品云产品数据保护范围222从属于针对它们各自的服务产品的数据保护范围,但是这些服务产品云产品数据保护范围222也受针对它们各自的云产品的数据范围的限制。因此,服务产品A云产品数据保护范围222A从属于服务产品A数据保护范围204A,但因为服务产品A云产品数据保护范围222A中的每一个在不同云产品的上下文中操作,所以这些范围也受到相应云产品数据保护范围202的限制(例如,如果服务产品A在云产品A的上下文中操作,则相关服务产品A云产品数据保护范围222A由云产品A的数据保护范围202A限定)。类似地,级220还包括:多个服务产品B云产品数据保护范围222B,其从属于服务产品B数据保护范围204B(并且也由相关云产品数据保护范围202限定)。
级230包括用于在云产品的租户的上下文中操作的服务产品的数据保护范围:服务产品云产品租户数据保护范围232。这些服务产品云产品租户数据保护范围232从属于在特定云产品的上下文中操作的它们各自的服务产品的数据保护范围,但是这些服务产品云产品数据保护范围222也由那些云产品的(a)用于它们各自的云产品的数据范围和(b)用于它们各自的租户的数据保护范围来限定。因此,服务产品A云产品租户数据保护范围232A从属于服务产品A云产品数据保护范围222A,但是因为服务产品A云产品租户数据保护范围232A中的每一个在云产品的不同租户的上下文中操作,所以这些范围也受相应的云产品数据保护范围202的限制(例如,如果服务产品A在云产品A的特定租户的上下文中操作,则相关服务产品A云产品数据保护范围222A由云产品A数据保护范围202A和用于该特定租户的云产品A租户数据保护范围212A限定。在各种其他实施方案中,级220和230是并行的,并且级230中的数据保护范围不从属于级220中的数据保护范围。相反,由相关云产品数据保护范围202和云产品租户数据保护范围212强加的对数据访问的限制分别确保了数据保护服务产品云产品数据保护范围222和服务产品云产品租户数据保护范围232。
级240包括由终端用户用来访问层次结构122中的数据保护范围的用户帐户242。在各种实施方案中,与相同数据保护范围相关联的用户帐户242具有对使用层次结构122保护的信息的不同访问级。例如,第一用户帐户242与销售员相关联,而第二用户帐户242与管理销售员和其他销售员的销售经理相关联。在这样的实施方案中,第二用户帐户242可以访问比第一用户帐户242更多的受保护数据。然而,在各种实施方案中,用户帐户242不能访问比它们各自的数据保护范围更多的信息。然而,在一些实施方案中,单个用户帐户242可以与多个数据保护范围相关联,并且因此可以访问超出单个数据保护范围的范围的信息。例如,上面讨论的销售经理的第二用户账户242与云产品A的租户、云产品B的租户相关联,并且与在云产品A的租户的上下文中操作的服务产品A相关联。在这样的实施方案中,该第二用户账户242将可以访问用云产品A租户数据保护范围212A之一、云产品B租户数据保护范围212B之一和服务产品A云产品租户数据保护范围232A之一保护的信息的子集。
现在参考图3,示出了嵌套多租户请求格式模板300。在各种实施方案中,根据嵌套多租户请求格式模板300格式化的请求112、114包括共享基础架构服务端点标识符302、共享基础架构版本标识符304、数据保护范围标识符306、寻址端点标识符308和请求路径310。在各种实施方案中,嵌套多租户请求格式模板300可以包括附加段(例如,时间发送标识符),或者可以省略图3所描绘的标识符中的某一个(例如,不包括版本标识符304)。
在各种实施方案中,共享基础架构服务端点标识符302标识请求112、114所指向的特定共享基础架构服务的一个或多个实例。在各种实施方案中,标识符302被格式化为类似于HTTP URL的主机部分(例如,“service.example.com”)。在这样的实施方案中,类似于HTTP URL的路径组件来格式化标识符302之后的嵌套多租户请求格式模板300的部分。(例如“/l/accounts/xyz/data/Individual(‘1’)”)。
因此,使用嵌套多租户请求格式模板300的示例请求112是:“http://service.example.com/l/clouds/cloud/admin/Tenants(OO’)”。
因此,使用嵌套多租户请求格式模板300的示例请求114是:“http://service.example.com/l/clouds/cloud/tenants/00/data/Individual(‘1’)”。
在各种实施方案中,共享基础架构版本标识符304是标识正被使用的嵌套多租户请求格式模板300的版本的可选标识符,允许多个版本可操作。在以上示例中,“1”指示嵌套多租户请求格式模板300版本1。
数据保护范围标识符306标识层次结构122中的特定数据保护范围,即(a)用于在请求112中提供新的数据保护范围(例如,云产品A数据保护范围202A);或者(b)在请求112中被调用(例如,特定云产品A租户数据保护范围212A)。在以上示例中,“accounts/xyz”是数据保护范围标识符306,其中“accounts(账户)”标识名为“accounts”的云产品,“xyz”标识名为“xyz”的租户。
在各种实施方案中,被寻址的端点标识符308标识要寻址的共享基础架构的端点。在某些情况下,在请求112中使用寻址端点标识符308“admin”来提供数据保护范围。在其他实例下,在请求114中使用寻址端点标识符308“metadata(元数据)”来读取或写入给定数据保护范围的元数据。在又一其他实例中,在请求114中使用寻址端点标识符308“数据”来根据部署的元数据读取或写入数据。
在各种实施方案中,请求路径310是请求路径。在各种实施方案中,请求路径310是数据和谈(OData)兼容请求路径。在上面的示例中,“个别(T)”是请求路径310。
因此,在各种实施方案中,当多租户计算机系统120接收到根据嵌套多租户请求格式模板300格式化的请求112、114时,请求的内容(例如,请求路径310)和关于如何处理请求112、114的信息都被包含在URL本身内。如这里所讨论的,请求112、114的各个部分使用用于附加安全性的密码技术来保护。例如,数据保护范围标识符306被包括在与相关云产品或服务产品相关联的密码生成值(例如,密码签名)中,并且在各种实例下被包括在云产品租户中。在各种实施方案中,这样的密码签名(以及与其相关联的数据保护范围)被验证,使得多租户计算机系统120可操作以确保第三方不能操纵数据保护范围。另外,在各种实施方案中,使用授权信息(例如,存储在多租户计算机系统120处、存储在层次结构122中)来确保在请求112、114中调用的特定数据保护范围足以执行在请求路径310中标识的动作(例如,确保不调用云产品数据保护范围来执行只能使用服务产品数据保护范围来执行的动作),以进一步保护系统。
现在参考图4,示出了数据保护范围层次结构122中的密码令牌关系的框图。图4描述了在此结合图2讨论的数据保护范围层次结构122的一部分:云产品A数据保护范围202A,两个云产品A租户数据保护范围212A1和212A2,以及与云产品A租户数据保护范围212A1和212A2相关联的用户账户242。如本文所示,云产品A数据保护范围202A与令牌402相关联,云产品A租户数据保护范围212A1与令牌404(其基于令牌402)相关联,并且云产品A租户数据保护范围212A2与令牌406(其基于令牌402)相关联。在各种实施方案中,用户帐户242还使用可以基于令牌402、404和/或406的令牌(未示出)。
在各种实施方案中,当在层次结构122中提供数据保护范围时,生成密码密钥并将其与所提供的数据保护范围相关联。例如,当提供云产品A数据保护范围202A时,能够生成令牌402以用于随后的信息访问请求。在这样的实施方案中,这样的令牌402用与相应的数据保护范围相关联的信息(例如,密码密钥)来签名(例如,可用于访问与云产品A数据保护范围202A相关联的信息的令牌402用与云产品A数据保护范围202A相关联的一个或多个密码密钥来签名)。云产品A数据保护范围202A的后续调用(例如,在请求114中)必须通过使用令牌402来认证。例如,在各种实施方案中,请求114包括令牌402。在确定请求114包括适当的令牌(例如,令牌402)时,多租户计算机系统配置为准许请求114。在各种实施方案中,请求114包括多个令牌。在一些此类实施方案中,请求112、114包括与从属数据保护范围相关联的单独令牌(例如,令牌404、406)。在一些这样的实施方案中,使用从属数据保护做出的请求112、114也使用与其上级数据保护范围相关联的令牌402来签名。在一些这样的实施方案中,令牌402用令牌404、406签名,并且签名的令牌402被包括在请求112、114中。
在各种实施方案中,令牌402、404和406是JSON web令牌(“JWT”),其在层次结构122的顶级(例如,级200)寻址适当的数据保护范围。在各种实施方案中,JWT使用基于以下计算的UUID来寻址适当的数据保护范围:(1)共享基础架构服务124的标识符和(2)共享基础架构服务端点标识符(例如,共享基础架构服务端点标识符302)。在令牌与云产品租户相关联的实例中(例如,令牌404、406),云产品租户的标识符也用于计算UUID。在各种实施方案中,这种JWT包括发行者、发行者类型、受众、受众类型和“集成绑定”的指示。在各种实施方案中,发行者是顶层租户(例如,与级200处的数据保护范围相关联的多租户计算机系统120的租户)的标识符,发行者类型是顶级租户(例如,顶级租户服务产品)的类型的指示,受众是以数据保护范围为目标的特定共享基础架构服务124,受众类型是特定共享基础架构服务124的描述符,以及添加关于数据保护范围的上下文的集成绑定。在各种实施方案中,集成绑定是附加授权机制。在这样的实施方案中,共享服务124可操作来确定(例如,通过访问元数据)哪些数据保护范围被授权访问各种集成绑定。在各种实施方案中,共享服务124还可操作来添加对利用特定集成绑定进行的访问的约束。例如,如果“服务-a.上下文”是集成绑定,则共享服务124可操作来仅允许“服务-a”云产品使用该上下文。此外,如果在请求中使用该上下文,则仅允许使用该上下文来执行云产品的动作(例如,不允许由服务产品执行的访问)。
作为第一示例,在共享服务124“服务-a”、云产品“服务-b”和云产品租户“001”的实例中,与云产品租户相关联的令牌(例如,令牌404或令牌406)包括:
iss="服务-b/001"
ist="租户"
aud="服务-a/服务-b.001"
aut="租户"
ctx="服务-a.上下文"
作为第二示例,在信任已经从共享服务124“服务-a”中的第一云产品“服务-b”的租户“001”扩展到另一云产品“服务-c”的租户“abc”的实例中,与云产品租户相关联的令牌(例如,令牌404或令牌406)包括:
iss="服务-c/abc"
ist="租户"
aud="服务-a/服务-a.001"
aut="租户"
ctx="服务-a.上下文"
作为第三示例,在共享服务124“服务-a”,服务产品“服务-d”的实例中,令牌(未示出)包括:
iss="服务-d"
ist="服务"
aud="服务-a"
aut="云"
ctx="服务-a.上下文.服务-d.全局"
作为第四示例,在共享服务124“服务-a”,在云产品的租户“服务-c”的上下文中操作的服务产品“服务-d”的实例中,令牌(未示出)包裹用于云产品的租户的令牌(例如,令牌404、令牌406),并且包括:
iss="服务-c/abc"
ist="代理-问题"
aud="服务-a/服务-c.abc"
aut="租户"
ctx="服务-a.上下文.服务-c"
现在参考图5,示出了示出用于云产品数据保护范围和云产品租户数据保护范围的提供方法500的框图。如图5所示,提供方法500以伪代码表示,该伪代码表示可由多租户计算机系统120执行的操作。应当理解,由图5中的伪代码表示的操作可以用多种编程语言和/或伪代码范例中的任何一种来表示。类似地,所公开的实施方案不受给予变量的标签(例如,“服务-a”、“服务-b”)的限制,并且这样的标签仅仅是示例。提供方法500包括与用于控制对共享基础架构服务124“服务-a.”的访问的层次结构122内的云产品“服务-b”的提供有关的两个伪代码块。在框502中,云产品“服务-b”被声明,“服务-b”可用于标识方法500中的云产品。在块510中,云产品“服务-b”被链接到共享基础架构服务124“服务-a”。在框520中,云产品“服务-b”被添加到共享基础架构服务124“服务-a”的集成绑定,用于提供(例如,提供云产品租户数据保护范围212)和运行时(例如,处理请求114)两者。
图5还包括伪代码,其中在行504处提供云产品租户数据保护范围212。在各种实施方案中,一旦为云产品“服务-b”提供云产品数据保护范围202,则在运行时提供云产品租户数据保护范围212。在行504,在云产品“服务-b”下提供具有标识符“001”的云产品租户。在各种实施方案中,云产品租户标识符是通用唯一标识符(“UUID”)。
框530包括表示一个或多个云产品租户与云产品“服务-b”之间的信任关系的扩展的伪代码。在行532处,对于云产品“服务-b”的云产品租户扩展信任。在536标识云产品“服务-b”,在538标识云产品租户标识符,并且在540标识共享基础架构服务124。在可选的行534处,对于另一个云产品(云产品“服务-e”)的云产品租户向云产品“服务-b”扩展信任。在各种实施方案中,这对于其中客户在不同云产品中具有多个租户的集成场景是有用的。如行534所示,示例是向在542标识的云产品“服务-e”的云产品租户授予对云产品“服务-b”的云产品数据保护范围202的访问。这些信任关系的指示被存储(例如,在层次结构122中)并且被用于确定是否准予访问信息的请求。例如,如果第一信息与第一数据保护范围(例如,第一云产品租户数据保护范围212)相关联并且第二信息与第二数据保护范围(例如,第二云产品租户数据保护范围212)相关联,如果在特定实体(例如,一个或多个用户帐户242)的两个数据保护范围之间扩展了信任,则基于确定信任已被扩展,准许访问来自特定实体的第一信息或第二信息的请求114如本文所述。
现在参考图6,示出了说明用于服务产品数据保护范围和云产品数据保护范围的上下文中的服务产品的提供方法600的框图。如图6所示,提供方法600以伪代码表示,该伪代码表示可由多租户计算机系统120执行的操作。应当理解,由图6中的伪代码表示的操作可以用多种编程语言和/或伪代码范例中的任何一种来表示。类似地,所公开的实施方案不受给予变量的标签(例如,“服务-b”)的限制,并且这样的标签仅仅是示例。方法600包括两个块:块610涉及提供与特定服务产品相关联的服务产品数据保护范围204,块620涉及提供从属于服务产品数据保护范围204的服务产品云产品数据保护范围222。
块610包括在行612处的服务产品(在图6所示的实例中称为“服务-d”)和在行614处的共享基础架构服务124(在图6所示的实例中称为“服务-a”)的指示。在块616,服务产品“服务-d”被添加到共享基础架构服务124“服务-a”的集成绑定。在块630处,服务产品“服务-d”被提供以在具有相关的服务产品云产品租户数据保护范围232的云产品“服务-c”的租户“abc”的上下文中操作。
块620包括将添加服务产品“服务-d”的伪代码添加到云产品“服务-c”的集成绑定以用于提供(例如,提供云产品租户数据保护范围212)和运行时(例如,处理请求114)两者。块620中的伪代码与提供服务产品云产品数据保护范围222相关联。
现在参考图7,示出了说明提供方法700的实施方案的流程图。在各种实施方案中,使用多租户计算机系统120来执行与方法700相关联的各种动作。在块702,多租户计算机系统120实现用于根据允许层次结构122具有多级(例如,级200、210、220、230)的嵌套租户模型来向共享基础架构服务124提供数据保护范围的平台。在块704,多租户计算机系统120接收第一请求112,以向特定共享基础架构服务124提供用于具有第一组租户的云产品的第一数据保护范围202。在块706,响应于第一请求112,多租户计算机系统120在层次结构122的最顶级200为云产品提供第一数据保护范围202。在块708,多租户计算机系统120接收第二请求112,以为特定共享基础架构服务124提供服务产品的第二数据保护范围204。在块710,多租户计算机系统120在层次结构的最顶级为服务产品提供第二数据保护范围。
现在参考图8A,示出了说明提供方法800的实施方案的流程图。在各种实施方案中,使用多租户计算机系统120来执行与方法800相关联的各种动作。在块802,多租户计算机系统120为共享基础架构服务124提供用于具有第一组租户的云产品的第一数据保护范围202。如这里所讨论的,第一数据保护范围292被提供在范围层次结构122的顶级200。在块804,多租户计算机系统120为共享基础架构服务124提供用于第一组租户中的特定一个的第二数据保护范围212,其中在范围层次结构122的下一级210提供第二数据保护范围212。如这里所讨论的,第二数据保护范围212从属于范围层次结构122中的第一数据保护范围202而被提供。
现在参考图8B,示出了说明提供方法810的实施方案的流程图。在各种实施方案中,使用多租户计算机系统120来执行与方法810相关联的各种动作。在块812处,多租户计算机系统120为共享基础架构服务124提供用于管理云产品和云产品的租户的数据的服务产品的第一数据保护范围204。如本文所讨论的,第一数据保护范围204被提供在范围层次结构122的顶级200处。在块814,多租户计算机系统120为共享基础架构服务124提供在特定云产品的上下文中的服务产品的第二数据保护范围222。如这里所讨论的,第二数据保护范围222在范围层次结构122的第二级220处提供。在块816,多租户计算机系统120为服务产品提供在特定云产品的特定租户的上下文中的第三数据保护范围232。如这里所讨论的,第三数据保护范围232在从属于顶级200和第二级220的范围层次结构的第三级230处提供。
示例性计算机系统
现在转到图9,示出了可实现计算机系统100(例如,远程计算机系统110、多租户计算机系统120)的各种部件的示例性计算机系统900的框图。计算机系统900包括经由互连960(例如,系统总线)耦合到系统存储器920和I/O接口940的处理器子系统980。I/O接口940耦合到一个或多个I/O设备950。计算机系统900可以是各种类型的设备中的任何一种,包括但不限于服务器系统、个人计算机系统、台式计算机、膝上型或笔记本计算机、大型计算机系统、平板计算机、手持计算机、工作站、网络计算机、诸如移动电话、音乐播放器或个人数字助理(PDA)的消费设备。虽然为了方便在图9中示出了单个计算机系统900,但是系统900也可以实现为一起操作的两个或更多个计算机系统。
处理器子系统980可以包括一个或多个处理器或处理单元。在计算机系统900的各种实施例中,处理器子系统980的多个实例可以耦合到互连960。在各种实施方案中,处理器子系统980(或980内的每个处理器单元)可含有高速缓存或其他形式的板上存储器。
系统存储器920可用于存储可由处理器子系统980执行的程序指令,以使系统900执行本文所述的各种操作。系统存储器920可以使用不同的物理存储器介质来实现,如硬盘存储器、软盘存储器、可移动盘存储器、闪存、随机存取存储器(RAM-SRAM、EDORAM、SDRAM、DDRSDRAM、RAMBUSRAM等)、只读存储器(PROM、EEPROM等)等。计算机系统900中的存储器不限于诸如存储器920的主存储器。而是,计算机系统900还可包括其他形式的存储装置,如处理器子系统980中的高速缓冲存储器和I/O设备950上的辅助存储器(例如,硬盘驱动器、存储阵列等)。在一些实施方案中,这些其他形式的存储器还可以存储可由处理器子系统980执行的程序指令。
根据各种实施方案,I/O接口940可以是配置耦合到其他设备并与其他设备通信的各种类型的接口中的任一者。在一个实施方案中,I/O接口940是从前侧到一个或多个后侧总线的桥芯片(例如,南桥)。I/O接口940可经由一个或一个以上对应总线或其他接口耦合到一个或一个以上I/O设备950。I/O设备950的示例包括存储设备(硬盘驱动器、光驱、可移动闪存驱动器、存储阵列、SAN、或其相关联的控制器),网络接口设备(例如,到局域网或广域网),或其他设备(例如,图形、用户接口设备等)。在一个实施方案中,计算机系统900经由网络接口设备950(例如,配置为通过WiFi、蓝牙、以太网等进行通信)耦合到网络。
本申请的主题的实现包括但不限于以下示例1至20:
1.一种方法,其包含:
通过计算机系统实现平台,所述平台用于根据允许具有多级的层次结构的嵌套租户模型向共享基础架构服务提供数据保护范围;
通过所述计算机系统接收第一请求,以向特定共享基础架构服务提供具有第一组租户的云产品的第一数据保护范围;
响应于所述第一请求,在所述层次结构的最顶级为所述云产品提供所述第一数据保护范围;
通过所述计算机系统接收第二请求,以向所述特定共享基础架构服务提供服务产品的第二数据保护范围;
响应于所述第二请求,在所述层次结构的最顶级为所述服务产品提供所述第二数据保护范围。
2.根据权利要求1所述的方法,进一步包括:
通过所述计算机系统为所述第一组租户中的特定一个提供第三数据保护范围,其中所述第二数据保护范围在所述范围层次结构的下一级提供;
其中所述第三数据保护范围从属于所述范围层次结构中的所述第一数据保护范围而被提供。
3.根据权利要求2所述的方法,
其中提供所述第一数据保护范围包括为所述云产品生成云产品标识符;
其中提供所述第三数据保护范围包括为所述第一组租户中的所述特定一个生成云产品租户标识符,其中所述云产品租户标识符包括所述云产品标识符。
4.根据权利要求1所述的方法,其中提供所述第三数据保护范围包括存储所述第一组租户中的所述特定一个与所述云产品之间的信任关系的指示符。
5.根据权利要求1所述的方法,进一步包括:
通过所述计算机系统向在所述服务产品的上下文中访问所述特定共享基础架构服务的特定云产品提供第四数据保护范围;
其中所述第四数据保护范围从属于所述范围层次结构中的所述第二数据保护范围而被提供。
6.根据权利要求5所述的方法,还包含:
通过所述计算机系统向在所述服务产品的上下文中访问所述特定共享基础架构服务的所述特定云产品的特定租户提供第五数据保护范围;
其中所述第五数据保护范围从属于所述范围层次结构中的所述第四数据保护范围而被提供。
7.根据权利要求1所述的方法,进一步包括:
通过所述计算机系统在所述层次结构的最顶级提供单租户数据保护范围;
其中没有从属于所述单租户数据保护范围而被提供的数据保护范围。
8.根据权利要求1所述的方法,进一步包括:
通过所述计算机系统接收来自远程计算机系统的访问请求,以访问与所述层次结构的特定级处的特定数据保护范围相关联的信息;
其中所述访问请求经由指示所述特定数据保护范围的URL接收。
9.根据权利要求1所述的方法,进一步包括:
通过所述计算机系统接收来自远程计算机系统的访问请求,以访问与所述层次结构的特定级处的特定数据保护范围相关联的信息;
其中所述访问请求包括所述特定数据保护范围是否被授权提交所述请求的指示符。
10.根据权利要求1所述的方法,其中所述特定共享基础架构服务包括共享模板服务,所述共享模板服务是可操作的,以便:
提供一个或多个可选择的数据库模板,所述可选择的数据库模板限定应用程序能够访问的非关系数据库所支持的数据类型;
服务来自所述应用程序的请求以操纵由所选择的数据库模板限定的特定数据类型;
响应于来自所述应用程序的所述请求,基于所述选择的数据库模板标识一组数据操作语言(DML)指令;以及
向所述非关系数据库发布所述标识的一组DML指令。
11.一种其上存储有程序指令的非瞬态计算机可读介质,所述程序指令能够使计算机系统执行以下操作:
通过所述计算机系统为共享基础架构服务提供用于具有第一组租户的云产品的第一数据保护范围,其中所述第一数据保护范围在范围层次结构的顶级提供;以及
通过所述计算机系统为所述共享基础架构服务提供用于所述第一组租户中的特定一个的第二数据保护范围,其中所述第二数据保护范围在所述范围层次结构的下一级提供;
其中所述第二数据保护范围属于所述范围层次结构中的所述第一数据保护范围而被提供。
12.根据权利要求11所述的计算机可读介质,
其中提供所述第一数据保护范围包括为所述云产品生成云产品标识符;
其中提供所述第二数据保护范围包括为所述第一组租户中的所述特定一个生成云产品租户标识符,其中所述云产品租户标识符包括所述云产品标识符。
13.根据权利要求11所述的计算机可读介质,
其中提供所述第二数据保护范围包括存储所述第一组租户中的所述特定一个与所述云产品之间的信任关系的指示符。
14.根据权利要求13所述的计算机可读介质,所述操作还包含:
通过所述计算机系统从远程计算机系统接收访问与所述第二数据保护范围相关联的信息的访问请求;以及
通过所述计算机系统基于所述信任关系的指示符来准予所述访问请求。
15.根据权利要求11所述的计算机可读介质,所述操作还包含:
通过所述计算机系统接收来自远程计算机系统的访问请求,以访问与所述层次结构的特定级处的特定数据保护范围相关联的信息;
其中所述访问请求经由指示所述特定数据保护范围的URL接收。
16.根据权利要求11所述的计算机可读介质,所述操作还包含:
通过所述计算机系统接收来自远程计算机系统的访问请求,以访问与所述层次结构的特定级处的特定数据保护范围相关联的信息;
其中所述访问请求用与所述特定数据保护范围相关联的密码令牌签名。
17.根据权利要求11所述的计算机可读介质,所述操作还包含:
通过所述计算机系统为所述共享基础架构服务提供用于具有第二组租户的第二云产品的第三数据保护范围,其中所述第三数据保护范围在所述范围层次结构的顶级提供;以及
通过所述计算机系统为所述共享基础架构服务提供用于所述第二组租户中的特定一个的第四数据保护范围,其中所述第四数据保护范围在所述范围层次结构的下一级提供;以及
响应于来自所述第一组租户中的特定一个的请求,通过所述计算机系统为所述共享基础架构服务扩展所述第二数据保护范围和第四数据保护范围之间的信任关系,使得所述第二组租户中的特定一个具有与所述第一组租户中的特定一个相同的对所述共享基础架构服务的访问级。
18.一种存储程序指令的非暂时性计算机可读存储介质,所述程序指令能够由计算机系统执行以执行以下操作:
通过所述计算机系统为共享基础架构服务提供服务产品的第一数据保护范围,所述服务产品管理云产品和所述云产品的租户的数据,其中所述第一数据保护范围在范围层次结构的顶级提供;以及
通过所述计算机系统为所述共享基础架构服务提供在特定云产品的上下文中的所述服务产品的第二数据保护范围,其中所述第二数据保护范围在所述范围层次的第二级提供。
19.根据权利要求18所述的计算机可读存储介质,还包含:
通过所述计算机系统为所述共享基础架构服务提供在所述特定云产品的特定租户的上下文的所述服务产品的第三数据保护范围,其中所述第三数据保护范围在从属于所述顶级和所述第二级的所述范围层次结构的第三级处提供;
其中,与第一数据保护范围相关联的数据和与在顶级提供的其他数据保护范围相关联的数据隔离,与所述第二数据保护范围相关联的数据和与在第二级提供的其他数据保护范围相关联的数据隔离,与所述第三数据保护范围相关联的数据和与在所述第三级提供的其他数据保护范围相关联的数据隔离。
20.根据权利要求18所述的计算机可读存储介质,还包含:
通过所述计算机系统为所述共享基础架构服务提供在特定云产品的上下文中的所述服务产品的第四数据保护范围,其中所述第四数据保护范围在所述范围层次的第四级提供。
尽管上面已经描述了特定的实施方案,但是这些实施方案并不旨在限制公开文本的范围,即使仅针对特定特征描述了单个实施方案。在公开文本中提供的特征的示例旨在是说明性的而不是限制性的,除非另有说明。以上描述旨在覆盖对于受益于公开文本的本领域技术人员而言显而易见的这些替代、修改和等同物。
公开文本的范围包括在此公开的任何特征或特征的组合(明确地或隐含地),或其任何概括,无论它是否减轻解决的任何或所有问题。因此,在本申请(或要求其优先权的申请)对任何这样的特征组合的起诉期间制定新的权利要求。特别地,参考所附权利要求、从属权利要求的特征可以与独立权利要求的特征组合,并且各个独立权利要求的特征可以以任何适当的方式组合,而不仅仅是在所附权利要求中列举的特定组合。

Claims (15)

1.一种方法,包括:
通过计算机系统实现平台,所述平台用于根据允许具有多级的层次结构的嵌套租户模型向共享基础架构服务提供数据保护范围;
通过所述计算机系统接收第一请求,以向特定共享基础架构服务提供具有第一组租户的云产品的第一数据保护范围;
响应于所述第一请求,在所述层次结构的最顶级向所述云产品提供所述第一数据保护范围;
通过所述计算机系统接收第二请求,以向所述特定共享基础架构服务提供服务产品的第二数据保护范围;
响应于所述第二请求,在所述层次结构的最顶级向所述服务产品提供所述第二数据保护范围。
2.根据权利要求1所述的方法,还包括:
通过所述计算机系统向所述第一组租户中的特定一个提供第三数据保护范围,其中所述第二数据保护范围在所述范围层次结构的下一级提供;
其中所述第三数据保护范围从属于所述范围层次结构中的所述第一数据保护范围而被提供。
3.根据权利要求2所述的方法,
其中提供所述第一数据保护范围包括为所述云产品生成云产品标识符;
其中提供所述第三数据保护范围包括为所述第一组租户中的所述特定一个生成云产品租户标识符,其中所述云产品租户标识符包括所述云产品标识符。
4.根据权利要求1至3中任一项所述的方法,其中提供所述第三数据保护范围包括存储所述第一组租户中的所述特定一个与所述云产品之间的信任关系的指示符。
5.根据权利要求1至4中任一项所述的方法,还包括:
通过所述计算机系统向在所述服务产品的上下文中访问所述特定共享基础架构服务的特定云产品提供第四数据保护范围;
其中所述第四数据保护范围从属于所述范围层次结构中的所述第二数据保护范围而被提供。
6.根据权利要求5所述的方法,还包括:
通过所述计算机系统向在所述服务产品的上下文中访问所述特定共享基础架构服务的所述特定云产品的特定租户提供第五数据保护范围;
其中所述第五数据保护范围从属于提供给所述范围层次结构中的所述第四数据保护范围而被提供。
7.根据权利要求1至6中任一项所述的方法,还包括:
通过所述计算机系统在所述层次结构的最顶级提供单租户数据保护范围;
其中没有从属于所述单租户数据保护范围而被提供的数据保护范围。
8.根据权利要求1至7中任一项所述的方法,还包括:
通过所述计算机系统接收来自远程计算机系统的访问请求,以访问与所述层次结构的特定级处的特定数据保护范围相关联的信息;
其中所述访问请求经由指示所述特定数据保护范围的URL接收。
9.根据权利要求1至8中任一项所述的方法,还包括:
通过所述计算机系统接收来自远程计算机系统的访问请求,以访问与所述层次结构的特定级处的特定数据保护范围相关联的信息;
其中所述访问请求包括所述特定数据保护范围是否被授权提交所述请求的指示符。
10.根据权利要求1至9中任一项所述的方法,其中所述特定共享基础架构服务包括共享模板服务,所述共享模板服务是可操作的,以便:
提供一个或多个可选择的数据库模板,其限定应用程序能够访问的非关系数据库所支持的数据类型;
服务来自所述应用程序的请求,以操纵由选择的数据库模板限定的特定数据类型;
响应于来自所述应用程序的请求,基于所述选择的数据库模板标识一组数据操作语言(DML)指令;和
向所述非关系数据库发布所标识的一组DML指令。
11.一种其上存储有程序指令的非瞬态计算机可读介质,所述程序指令能够使计算机系统执行包括如下的操作:
通过所述计算机系统向共享基础架构服务提供用于具有第一组租户的云产品的第一数据保护范围,其中所述第一数据保护范围在范围层次结构的顶级提供;和
通过所述计算机系统向所述共享基础架构服务提供用于所述第一组租户中的特定一个的第二数据保护范围,其中所述第二数据保护范围在所述范围层次结构的下一级提供;
其中所述第二数据保护范围从属于所述范围层次结构中的所述第一数据保护范围而被提供。
12.根据权利要求11所述的计算机可读介质,
其中提供所述第一数据保护范围包括为所述云产品生成云产品标识符;
其中提供所述第二数据保护范围包括为所述第一组租户中的所述特定一个生成云产品租户标识符,其中所述云产品租户标识符包括所述云产品标识符。
13.根据权利要求11或12所述的计算机可读介质,
其中提供所述第二数据保护范围包括存储所述第一组租户中的所述特定一个与所述云产品之间的信任关系的指示符。
14.根据权利要求11至14中任一项所述的计算机可读介质,所述操作还包括:
通过所述计算机系统向所述共享基础架构服务提供用于具有第二组租户的第二云产品的第三数据保护范围,其中所述第三数据保护范围在所述范围层次结构的顶级提供;和
通过所述计算机系统向所述共享基础架构服务提供用于所述第二组租户中的特定一个的第四数据保护范围,其中所述第四数据保护范围在所述范围层次结构的下一级提供;和
响应于来自所述第一组租户中的特定一个的请求,通过所述计算机系统为所述共享基础架构服务扩展所述第二数据保护范围和所述第四数据保护范围之间的信任关系,使得所述第二组租户中的特定一个具有与所述第一组租户中的特定一个相同的对所述共享基础架构服务的访问级。
15.一种系统,包括:
至少一个处理器;和
其上存储有程序指令的存储器,所述程序指令能够由所述至少一个处理器执行以实现根据权利要求1至10中任一项所述的方法。
CN202080068639.7A 2019-09-30 2020-09-28 允许具有多级的层次结构的嵌套租户 Active CN114503512B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/588,550 US11695559B2 (en) 2019-09-30 2019-09-30 Nested tenancy that permits a hierarchy having a plurality of levels
US16/588,550 2019-09-30
PCT/US2020/053006 WO2021067156A1 (en) 2019-09-30 2020-09-28 Nested tenancy that permits a hierarchy having a plurality of levels

Publications (2)

Publication Number Publication Date
CN114503512A true CN114503512A (zh) 2022-05-13
CN114503512B CN114503512B (zh) 2024-06-04

Family

ID=72896085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080068639.7A Active CN114503512B (zh) 2019-09-30 2020-09-28 允许具有多级的层次结构的嵌套租户

Country Status (5)

Country Link
US (1) US11695559B2 (zh)
EP (1) EP3999963A1 (zh)
JP (1) JP7397977B2 (zh)
CN (1) CN114503512B (zh)
WO (1) WO2021067156A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10608961B2 (en) * 2018-05-08 2020-03-31 Salesforce.Com, Inc. Techniques for handling message queues
US11695559B2 (en) * 2019-09-30 2023-07-04 Salesforce, Inc. Nested tenancy that permits a hierarchy having a plurality of levels
US11503037B2 (en) * 2019-11-04 2022-11-15 Microsoft Technology Licensing, Llc Nested access privilege check for multi-tenant organizations
US20220327196A1 (en) * 2021-03-30 2022-10-13 Security Enhancement Systems, Llc Wireless shared omnibus access control method and system
US11783071B2 (en) 2021-06-03 2023-10-10 Salesforce, Inc. Authenticating accesses to a shared datastore of a multi-tenant computer system
US11892992B2 (en) 2022-01-31 2024-02-06 Salesforce, Inc. Unique identification management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198236A1 (en) * 2008-09-12 2013-08-01 Salesforce.Com, Inc System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token
US20140007178A1 (en) * 2012-06-27 2014-01-02 Microsoft Corporation Model for managing hosted resources using logical scopes
US20140330869A1 (en) * 2013-05-02 2014-11-06 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
JP2016500854A (ja) * 2012-09-07 2016-01-14 オラクル・インターナショナル・コーポレイション Ldapベースのマルチカスタマ・インクラウド・アイデンティティ管理システム
CN105917309A (zh) * 2014-01-20 2016-08-31 惠普发展公司,有限责任合伙企业 确定第一租户关于第二租户的许可
US20190014120A1 (en) * 2017-07-06 2019-01-10 Sap Se Resource sharing in cloud computing

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212524B1 (en) * 1998-05-06 2001-04-03 E.Piphany, Inc. Method and apparatus for creating and populating a datamart
CA2334597C (en) * 1998-07-02 2007-09-04 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
US7730478B2 (en) 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
US8271536B2 (en) * 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US9473419B2 (en) 2008-12-22 2016-10-18 Ctera Networks, Ltd. Multi-tenant cloud storage system
US8392969B1 (en) * 2009-06-17 2013-03-05 Intuit Inc. Method and apparatus for hosting multiple tenants in the same database securely and with a variety of access modes
US8352941B1 (en) * 2009-06-29 2013-01-08 Emc Corporation Scalable and secure high-level storage access for cloud computing platforms
US20110213789A1 (en) 2010-02-26 2011-09-01 Salesforce.Com, Inc. System, method and computer program product for determining an amount of access to data, based on a role
US8266280B2 (en) * 2010-03-17 2012-09-11 International Business Machines Corporation System and method for a storage area network virtualization optimization
US8751573B2 (en) * 2010-11-23 2014-06-10 Sap Ag Cloud-processing management with a landscape directory
US8850550B2 (en) * 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US8700906B2 (en) * 2011-01-14 2014-04-15 Microsoft Corporation Secure computing in multi-tenant data centers
US8695059B2 (en) * 2011-02-08 2014-04-08 Verizon Patent And Licensing Inc. Method and system for providing network security services in a multi-tenancy format
US20130138798A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Predictive and dynamic resource provisioning with tenancy matching of health metrics in cloud systems
US9354940B2 (en) * 2012-01-19 2016-05-31 Microsoft Technology Licensing, Llc Provisioning tenants to multi-tenant capable services
US8850514B2 (en) * 2012-05-01 2014-09-30 Red Hat, Inc. Cartridges in a multi-tenant platforms-as-a-service (PaaS) system implemented in a cloud computing environment
US9348652B2 (en) 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
US9838370B2 (en) 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
US9323939B2 (en) * 2012-12-17 2016-04-26 Ca, Inc. Multi-tenancy governance in a cloud computing environment
US9563795B2 (en) * 2013-03-13 2017-02-07 Mark Sehmer Radio frequency identification system
US9264289B2 (en) * 2013-06-27 2016-02-16 Microsoft Technology Licensing, Llc Endpoint data centers of different tenancy sets
US11477278B2 (en) * 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US9836332B2 (en) * 2014-07-31 2017-12-05 Corent Technology, Inc. Software defined SaaS platform
US9471803B2 (en) * 2014-08-07 2016-10-18 Emc Corporation System and method for secure multi-tenancy in an operating system of a storage system
US9398016B1 (en) * 2014-09-30 2016-07-19 Emc Corporation Cache-free and lock-free handling of security information for multiple distributed objects in protection storage systems
US9432379B1 (en) * 2014-10-09 2016-08-30 Emc Corporation Dynamic authorization in a multi-tenancy environment via tenant policy profiles
US9894147B1 (en) * 2014-12-23 2018-02-13 EMC IP Holding Company LLC Application plugin framework for big-data clusters
WO2016116171A1 (en) 2015-01-23 2016-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for obtaining a scoped token
US9798570B2 (en) 2015-02-27 2017-10-24 The Faction Group Llc System and method for nested hypervisors and layer 2 interconnection
AU2017201850B2 (en) * 2016-03-21 2020-10-29 Vireshwar K. ADHAR Method and system for digital privacy management
US10057273B1 (en) * 2016-03-30 2018-08-21 EMC IP Holding Company LLC System and method for ensuring per tenant mutual exclusion of data and administrative entities with low latency and high scale
US10404702B1 (en) * 2016-03-30 2019-09-03 EMC IP Holding Company LLC System and method for tenant network identity-based authentication and authorization for administrative access in a protection storage system
US9838376B1 (en) * 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10454940B2 (en) * 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9781122B1 (en) * 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10581820B2 (en) * 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10230708B2 (en) * 2016-05-20 2019-03-12 Sap Se Application managed service instances
US10148740B2 (en) * 2016-06-03 2018-12-04 Microsoft Technology Licensing, Llc Multi-service application fabric architecture
US20180260251A1 (en) 2016-08-28 2018-09-13 Vmware, Inc. Use of nested hypervisors by a resource-exchange system to enhance data and operational security and to facilitate component installation
WO2018053258A1 (en) * 2016-09-16 2018-03-22 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
EP3519991A1 (en) 2016-09-30 2019-08-07 Salesforce.com, Inc. Multi-tenant non-relational platform objects
US11153273B2 (en) * 2016-12-13 2021-10-19 International Business Machines Corporation Generating and managing names of instances
US10713373B2 (en) * 2017-02-09 2020-07-14 Lifesite, Inc. Computing system with information storage mechanism and method of operation thereof
JP2020514935A (ja) * 2017-03-15 2020-05-21 ファウナ, インク.Fauna, Inc. データベース用の方法及びシステム
US9813303B1 (en) * 2017-03-30 2017-11-07 IP Company 8, LLC Enabling cross-realm authentication between tenant and cloud service provider
US10554507B1 (en) * 2017-03-30 2020-02-04 Fireeye, Inc. Multi-level control for enhanced resource and object evaluation management of malware detection system
US10951600B2 (en) * 2017-05-08 2021-03-16 Microsoft Technology Licensing, Llc Domain authentication
US10592993B2 (en) 2017-09-29 2020-03-17 Oracle Financial Services Software Limited Computerized transaction management module for blockchain networks
US10565392B2 (en) * 2017-11-28 2020-02-18 International Business Machines Corporation Secure and verifiable update operations
US10609031B2 (en) * 2017-11-28 2020-03-31 International Business Machines Corporation Private consolidated cloud service architecture
US10601804B2 (en) * 2017-12-11 2020-03-24 International Business Machines Corporation Provide access to data storage services in a network environment
US11258795B2 (en) * 2018-03-12 2022-02-22 Prevade, LLC Cybersecurity training system and process
US11368443B2 (en) * 2018-05-02 2022-06-21 Cloud People Llc Decentralized digital communication platform system and method
US11398900B2 (en) * 2018-06-21 2022-07-26 Oracle International Corporation Cloud based key management
US10996972B2 (en) * 2018-09-25 2021-05-04 Microsoft Technology Licensing, Llc Multi-tenant support on virtual machines in cloud computing networks
US11811769B2 (en) * 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
US11516254B2 (en) * 2019-06-20 2022-11-29 Juniper Networks, Inc. Controlling access to microservices within a multi-tenancy framework
US11196627B1 (en) * 2019-06-26 2021-12-07 Amazon Technologies, Inc. Managed remediation of non-compliant resources
US11269622B2 (en) * 2019-06-28 2022-03-08 Intel Corporation Methods, systems, articles of manufacture, and apparatus for a context and complexity-aware recommendation system for improved software development efficiency
US11546271B2 (en) * 2019-08-09 2023-01-03 Oracle International Corporation System and method for tag based request context in a cloud infrastructure environment
US20210042165A1 (en) * 2019-08-09 2021-02-11 Oracle International Corporation System and method for supporting a quota policy language in a cloud infrastructure environment
US11347756B2 (en) * 2019-08-26 2022-05-31 Microsoft Technology Licensing, Llc Deep command search within and across applications
US20210064441A1 (en) * 2019-08-30 2021-03-04 Oracle International Corporation System and method for cross region resource management for regional infrastructure resources in a cloud infrastructure environment
US11695559B2 (en) * 2019-09-30 2023-07-04 Salesforce, Inc. Nested tenancy that permits a hierarchy having a plurality of levels
US11222035B2 (en) * 2020-03-03 2022-01-11 Sap Se Centralized multi-tenancy as a service in cloud-based computing environment
US11182219B2 (en) * 2020-04-14 2021-11-23 Vmware, Inc. SaaS infrastructure for flexible multi-tenancy
US11570181B2 (en) * 2020-05-29 2023-01-31 Microsoft Technology Licensing, Llc Secure resource authorization for external identities using remote principal objects
US11233800B2 (en) * 2020-05-29 2022-01-25 Microsoft Technology Licensing, Llc Secure resource authorization for external identities using remote principal objects
US20220159010A1 (en) * 2020-11-16 2022-05-19 Diamanti, Inc. Creating user roles and granting access to objects for user management to support multi-tenancy in a multi-clustered environment
US20220197707A1 (en) * 2020-12-17 2022-06-23 EMC IP Holding Company LLC System and method for efficient data collection based on data access pattern for reporting in large scale multi tenancy environment
WO2022157713A1 (en) * 2021-01-22 2022-07-28 Waters Technologies Ireland Limited Methods, mediums, and systems for tenancy management
WO2022224162A1 (en) * 2021-04-20 2022-10-27 Landis+Gyr Ag Systems and techniques for smart demand side response using data plane architecture
US11805073B2 (en) * 2021-05-03 2023-10-31 Avesha, Inc. Controlling placement of workloads of an application within an application environment
US11783071B2 (en) * 2021-06-03 2023-10-10 Salesforce, Inc. Authenticating accesses to a shared datastore of a multi-tenant computer system
US11935006B2 (en) * 2021-06-25 2024-03-19 Atlassian Pty Ltd. Centralized access control system for multitenant services of a collaborative work environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198236A1 (en) * 2008-09-12 2013-08-01 Salesforce.Com, Inc System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token
US20140007178A1 (en) * 2012-06-27 2014-01-02 Microsoft Corporation Model for managing hosted resources using logical scopes
JP2016500854A (ja) * 2012-09-07 2016-01-14 オラクル・インターナショナル・コーポレイション Ldapベースのマルチカスタマ・インクラウド・アイデンティティ管理システム
US20140330869A1 (en) * 2013-05-02 2014-11-06 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
CN105917309A (zh) * 2014-01-20 2016-08-31 惠普发展公司,有限责任合伙企业 确定第一租户关于第二租户的许可
US20190014120A1 (en) * 2017-07-06 2019-01-10 Sap Se Resource sharing in cloud computing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEI LI,HAISHAN WAN,XUNYI REN,SHENG LI.: "A Refined RBAC Model for Cloud Computing", COMPUTER AND INFORMATION SCIENCE(ICIS),2012 IEEE/ACIS 11TH INTERNATIONAL CONFERENCE ON,IEEE, pages 43 - 48 *

Also Published As

Publication number Publication date
US20210099301A1 (en) 2021-04-01
WO2021067156A1 (en) 2021-04-08
US11695559B2 (en) 2023-07-04
CN114503512B (zh) 2024-06-04
EP3999963A1 (en) 2022-05-25
JP2022549367A (ja) 2022-11-24
JP7397977B2 (ja) 2023-12-13

Similar Documents

Publication Publication Date Title
JP7397977B2 (ja) 複数のレベルを有する階層を可能にするネスト化テナンシー
JP6918120B2 (ja) マルチテナントデータベースシステムにおけるデータ共有
US10152577B2 (en) Cross tenant data access
US10581970B2 (en) Providing information on published configuration patterns of storage resources to client systems in a network computing environment
US10498824B2 (en) Requesting storage performance models for a configuration pattern of storage resources to deploy at a client computing environment
JP2023530817A (ja) クラスタにおける無許可のパッケージ展開の阻止
US11783071B2 (en) Authenticating accesses to a shared datastore of a multi-tenant computer system
US10944827B2 (en) Publishing configuration patterns for storage resources and storage performance models from client systems to share with client systems in a network computing environment
Missbach et al. SAP on the Cloud
US9275408B1 (en) Transferring ownership of computing resources
CN108925145B (zh) 设备供应
CN110352411A (zh) 用于控制对安全计算资源的访问的方法和装置
US11954564B2 (en) Implementing dynamically and automatically altering user profile for enhanced performance
US20180260537A1 (en) At-launch configuration of software applications
Bal Clouds for different services
Kuka et al. Moving Applications to an On-demand, Software-as-a-Service Model in the Albanian Government Cloud
Rahman et al. Cloud Computing Tools And Techniques
JP2023087332A (ja) 環境構築システムおよび環境構築方法
WO2023086145A1 (en) Privacy data management in distributed computing systems
Aggarwal et al. Cloud Computing: Performance Implications and Challenges
COUFAL INTEGRATION OF THE IBM SOFTLAYER INTO THE MANAGEIQ FRAMEWORK

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: California, USA

Applicant after: Shuo Power Co.

Address before: California, USA

Applicant before: SALESFORCE.COM, Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant