CN108965242B - 基于角色的控制的方法、系统及计算机可读存储介质 - Google Patents
基于角色的控制的方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108965242B CN108965242B CN201810526519.1A CN201810526519A CN108965242B CN 108965242 B CN108965242 B CN 108965242B CN 201810526519 A CN201810526519 A CN 201810526519A CN 108965242 B CN108965242 B CN 108965242B
- Authority
- CN
- China
- Prior art keywords
- role
- access
- requesting process
- access control
- perform
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/808—User-type aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
Abstract
本发明关于一种基于角色的资源访问控制,为呈现用于对计算资源的基于角色的访问控制的系统和方法。经由通信网络从在客户端装置上执行的进程接收执行对计算资源的一种类型的访问的请求。使用存储进程识别符和相关联访问控制信息的数据存储区,基于所述请求进程的进程识别符识别与所述请求进程相关联的访问控制信息。基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所述所请求类型的访问。基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,处理所述请求。
Description
技术领域
本发明的实施例大体上涉及数据处理,且更确切地说但不作为限制,涉及用于对云(例如,基于因特网的)资源和服务的基于角色的访问控制(role-based accesscontrol)的方法及系统。
背景技术
由于在计算机设备上减少的资金花费、适应处理带宽要求的改变的灵活性、增强的容灾能力等,云计算资源的出现已极大地类似地有益于小的组织和大的组织。结果,云计算的使用已超出传统的计算系统范式而扩展到服务于其它重要任务。其中一个例子是收集和分析去往和来自传感器、开关、阀门以及与工业系统相关联的其它装置,例如制造机械、发电厂设备、飞机发动机等,的数据。此类数据通常是庞大的,且可以使用例如MQTT(消息队列遥测传输)、CoAP(约束应用协议)和许多其它协议等若干专用数据传送协议中的任一个。因此,尽管云计算系统使用的网络防火墙擅长为通过互联网的典型HTTP(超文本传送协议)通信提供安全性,但这些防火墙常常不支持用于传送大数据流的替代协议,这常常会导致对云资源的减少的保护。相同客户端装置使用可以从多个较小装置接收数据或将数据发送到多个较小装置的多个此类替代协议使防火墙的操作复杂化。
发明内容
本发明提供了若干技术方案。
其中,技术方案1为一种用于对计算资源的访问的基于角色的控制的方法,所述方法包括:经由通信网络从在客户端装置上执行的进程接收执行对计算资源的类型的访问的请求;基于所述请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储区识别与所述请求进程相关联的访问控制信息;基于与所述请求进程相关联的所述访问控制信息,使用机器的至少一个硬件处理器来确定是否允许所述请求进程来执行对所述计算资源的所述所请求类型的访问;以及基于允许所述请求进程来执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理。
技术方案2:根据技术方案1所述的方法,其中,与所述请求进程相关联的所述访问控制信息指示允许所述请求进程访问的一个或多个计算资源。
技术方案3:根据技术方案2所述的方法,其中,与所述请求进程相关联的所述访问控制信息对于所述所指示的一个或多个计算资源中的至少一个,进一步指示对所述请求进程允许的所述所指示的一个或多个计算资源中的所述至少一个的访问类型。
技术方案4:根据技术方案1所述的方法,其中,进一步包括:经由所述通信网络接收包括所述进程识别符和所述相关联访问控制信息的至少一个文本文件;以及将所述进程识别符和所述相关联访问控制信息存储在所述数据存储区中。
技术方案5:根据技术方案4所述的方法,其中,所述至少一个文本文件包括JavaScript对象表示法(JSON)文件和可扩展标记语言(XML)文件中的至少一个。
技术方案6:根据技术方案1所述的方法,其中,进一步包括:基于所述请求进程不被允许执行对所述计算资源的所述所请求类型的访问,拒绝所述请求。
技术方案7:根据技术方案1所述的方法,其中,每个进程识别符及其相关联的访问控制信息描述对应于由所述进程识别符识别的所述进程的角色;所述请求进程对应于多于一个角色;与所述请求进程相关联的所述访问控制信息对应于所述请求进程的第一角色;且所述方法进一步包括:基于在所述第一角色中所述请求进程不被允许执行对所述计算资源的所述所请求类型的访问,确定允许执行对所述计算资源的所述所请求类型的访问的第二角色是否可用于所述请求进程;以及基于允许执行对所述计算资源的所述所请求类型的访问的第二角色可用于所述请求进程,将所述第二角色指派给所述请求进程,且使得所述请求得到处理。
技术方案8:根据技术方案7所述的方法,其中,进一步包括:在预定事件已发生之后将所述请求进程从所述第二角色恢复到所述第一角色。
技术方案9:根据技术方案8所述的方法,其中,所述预定事件包括对所述请求的处理。
技术方案10:根据技术方案7所述的方法,其中,进一步包括:在预定时间段已过去之后将所述请求进程从所述第二角色恢复到所述第一角色。
技术方案11:根据技术方案7所述的方法,其中,所述第二角色对应于对应于所述第一角色的所述访问控制信息,且对应于允许对所述计算资源的所述所请求类型的访问的额外访问控制信息。
技术方案12:根据技术方案7所述的方法,其中,所述确定第二角色是否可用于所述请求进程取决于所述第二角色是否在与所述请求进程相关联的角色阶层中指定。
技术方案13:根据技术方案1所述的方法,其中,进一步包括:在所述接收所述请求之前接收对应于所述客户端装置的数字证书和用于所述请求进程的所述进程识别符;以及在所述接收所述请求之前,基于所述所接收数字证书和所述所接收进程识别符认证所述请求进程。
技术方案14:根据技术方案13所述的方法,其中,进一步包括:执行与所述客户端装置的双向认证,所述执行所述双向认证包括所述接收所述数字证书和所述认证所述请求进程。
技术方案15:根据技术方案1所述的方法,其中,所述计算资源包括数据流式传输服务。
技术方案16:根据技术方案1所述的方法,其中,所述计算资源包括消息接发队列。
技术方案17:根据技术方案1所述的方法,其中,所述计算资源包括数据库。
技术方案18:根据技术方案1所述的方法,其中,所述计算资源包括网络服务器。
技术方案19:提供一种系统,包括:一个或多个硬件处理器;以及存储指令的存储器,所述指令在由所述一个或多个硬件处理器中的至少一个执行时使得所述系统执行包括以下各项的操作:经由通信网络从在客户端装置上执行的进程接收执行对计算资源的类型的访问的请求;基于所述请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储区识别与所述请求进程相关联的访问控制信息;基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所述所请求类型的访问;以及基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理。
技术方案20:提供一种存储指令的非暂时性计算机可读存储媒体,所述指令在由机器的至少一个硬件处理器执行时使得所述机器执行包括以下各项的操作:经由通信网络从在客户端装置上执行的进程接收执行对计算资源的类型的访问的请求;基于所述请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储区识别与所述请求进程相关联的访问控制信息;基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所述所请求类型的访问;以及基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理。
附图说明
附图中的各图仅说明本公开的实例实施例,且不能被视为限制其范围。
图1是包括用于控制一个或多个客户端装置对云计算系统的资源的访问的实例资源访问控制器的实例云计算系统的框图。
图2是图1的实例资源访问控制器的框图。
图3是图1的实例资源访问控制器的实例进程数据存储区的框图。
图4是图3的实例进程数据存储区中指定的实例允许访问控制标签的框图。
图5是图1的实例资源访问控制器的实例角色数据存储区的框图。
图6是由图5的实例角色数据存储区中指示的进程角色所展现的实例阶层的框图。
图7是图1的实例资源访问控制器控制进程对计算资源的访问的实例方法的流程图。
图8是图1的实例资源访问控制器处置改变进程的角色的进程请求的实例方法的流程图。
图9是图1的实例资源访问控制器通过促进请求进程的角色的隐式改变而控制进程对计算资源的访问的实例的流程图。
图10是呈计算机系统的实例形式的机器或装置的框图,用于使得所述机器或装置执行本说明书中论述的方法中的任何一个或多个的指令可以在所述计算机系统内执行。
本说明书中所提供的标题仅仅是为方便起见,且不一定影响所使用的术语的范围或含义。
具体实施方式
在以下描述中,出于解释的目的,阐述许多特定细节以便提供对本发明主题的各种实例实施例的理解。然而,对于所属领域的技术人员将显而易见,可在无这些特定细节的情况下实践本发明主题的实例实施例。
图1是包括资源访问控制器104的云计算系统101的框图,所述资源访问控制器用于通过一个或多个客户端装置120经由通信网络 130来对云计算系统101的基础结构106上提供的一个或多个资源 116的访问进行控制。如图1中所图示,云计算系统101还可以包括装置管理器102。在其它实例实施例中,云计算系统101可以包括比图1中所示更多或更少的模块或组件。在实例实施例中,云计算系统 101可以作为软件即服务(SaaS)、平台即服务(PaaS)、或可经由通信网络130访问的另一类型的系统来操作。
在实例实施例中,基础结构106可以包括与计算相关的装置或系统,例如但不限于一个或多个服务器、在一个或多个服务器上执行的操作系统、在一个或多个服务器上操作的虚拟机器、数据存储系统(例如,磁盘和/或光盘驱动器系统、闪存数据存储系统等)以及连接服务器、数据存储系统与其它组件的通信网络。
基础结构106上提供的资源116可以是可以与客户端装置120中的一个或多个通信以应客户端装置120的请求执行一个或多个操作的任何应用程序或其它可执行系统,所述操作例如为:在客户端装置 120与云计算系统101之间发射、接收、存储和/或检索数据;在云计算系统101上处理此类数据;在客户端装置120与计算系统101之间接收或发送消息(例如,指示警报或紧急条件的消息);等等。资源 116的实例实施例可以包括但不限于数据库、网络服务器、消息排队系统(例如,RabbitMQTM)和数据流式传输服务(data streamingservices)(例如,Apache KafkaTM,例如发射或接收工业时间序列数据)。
客户端装置120中的一个或多个可以借助于通信网络130以通信方式与云计算系统101连接,所述通信网络例如广域网(WAN)(例如,互联网)、局域网(LAN)、无线WAN(WWAN)、无线LAN (WLAN)、蜂窝电话网络(例如,第三代(3G)或第四代(4G)网络)、另一通信网络或连接,或其某一组合。
客户端装置120可以包括但不限于工业传感器、工业致动器(例如值、开关等)、连接到多个此类传感器的通信路由器、台式计算机、膝上型计算机、平板电脑、智能电话或能够经由消息、数据包、数据流或其它通信数据结构通过网络130与云计算系统101进行通信的任何其它计算装置或通信装置。在一实例实施例中,如上文所指示,客户端装置120可以使用例如MQTT和CoAP的专用协议 (specialized protocols)与云计算系统101通信。然而,在其它实施例中可以使用其它更为标准的通信协议,例如用于与网络服务器通信的 HTTP(在图1中未明确描绘)。
在一实例实施例中,在客户端装置120上执行的每个进程 (process)122可以是在客户端装置120上执行的程序或应用程序的单个个例(single instance),可能在其自身的存储器空间内执行且有其自身的识别符(identifier)。一个或多个进程122可以在同一客户端装置 120上同时执行。此外,在一些实例实施例中,进程122可以使用可以在进程122的存储器空间内执行的一个或多个隔开的执行线程 (separate execution threads)。
在云计算系统101的实例实施例中,装置管理器102可以被配置成向云计算系统101登记或注册客户端装置120中的一个或多个,以允许在客户端装置120上执行的进程122在资源访问控制器104的控制下访问资源116。在一实例实施例中,装置管理器102还可以被配置成向客户端装置120中的一个或多个提供发起且执行进程122的软件。
资源访问控制器104可以被配置成通过一个或多个客户端装置 120来对托管(hosted on)在计算系统101的基础结构106上的资源 116的访问进行控制。在实例实施例中,此类访问可以基于与每个进程122或客户端装置120相关联的特定“角色”。每个角色又可以识别或限制特定资源116,以及对于被指派所述角色的进程122或客户端装置120所允许的、对那些资源116的一种或多种特定类型的访问。因此,资源访问控制器104可以严密地控制每个进程122或客户端装置120对云计算系统101的各种资源116的访问,从而增强云计算系统101以及客户端装置120的安全性。在一些实例实施例中,与进程122或客户端装置120中的一个或多个相关联的角色可以几乎永久地(例如,由系统操作者或管理员)或暂时地(例如,经由资源访问控制器104)在云计算系统101处改变,以适应客户端装置120 的操作环境的改变(例如,警报条件)。下文更详细地论述资源访问控制器104的其它方面。
图2是图1的实例资源访问控制器104的框图。如其中所描绘的,资源访问控制器101可以包括进程数据存储区202、角色数据存储区204和访问请求处理器206中的一个或多个。资源访问控制器 101可以包括其它模块或组件,但此类模块和组件在图2中未描绘以简化以下讨论。
在一实例实施例中,进程数据存储区202被配置成使对应于每个客户端装置120或进程122的识别符与指示所识别的客户端装置120 或进程122可以访问哪些资源116的信息相关联,且所述信息还指示可能与指示客户端装置120或进程122可以利用那些资源116中的每一个参与什么类型的访问(例如,创建、读取、写入、更新、删除,等等)。在其中可能包括在其上执行的所有进程122的每个客户端装置120由单个识别符识别的实例实施例中,用于认证 (authentication)客户端装置120的客户端数字证书可以被用作此类识别符。在其中资源访问控制器104可以在进程122级别控制对资源 116的访问的另一实例性实施例中,每个进程122可以用进程122在其上执行的客户机装置120的客户端证书与至少在于客户端装置120 上执行的所有进程122之间是独特的进程122识别符的组合来识别。
图3是图2的进程数据存储区202的实例的框图。在此实例实施例中,访问控制是进程特定的,其中每个进程122由进程122在其上执行的客户端装置120的客户端证书302结合进程122的进程识别符 304来识别。而且,在一实例实施例中,每个进程122可以直接利用可以指示进程122可以访问哪些资源116的一个或多个访问控制标签 (access controltags)306以及对进程122可以参与的每个资源116的访问的类型来识别。在另一实例实施例中,每个进程122可以利用一个或多个访问控制标签306借助于用于对应进程122当前承担的特定角色的角色识别符(role identifier)308来间接地识别。相对于图5和6 更详细地论述角色识别符308。
图4是图3的实例进程数据存储区202的访问控制标签306的实例的框图。在一实例实施例中,访问控制标签306可以包括可由与此组特定访问控制标签306的相关联的进程122访问的每个资源116的资源识别符402。此外,在一些实例实施例中,此组访问控制标签306中的每个资源识别符(resource identifier)402可以与相关联进程 122在访问所述资源116时可以使用的一个或多个特定访问类型404 (例如,只读、只写、读写、更新、创建、删除等)相关联。在实例实施例中,图4中所描绘的访问控制标签306可以表示用于一个特定进程122的单组访问控制标签306,如图3中所图示。
在一实例实施例中,与特定进程122相关联的访问控制标签306 可以使用允许同时表示多个资源402和访问类型404的任何表示来表示各种资源识别符402和访问类型(access types)404。实例表示可以包括每个可能的资源/访问类型组合的逐位表示、各种资源/访问类型组合的文本表示,等等。
如上文所指示,在一实例实施例中,与特定进程122相关联的每组访问控制标签306可以表示与所述组访问控制标签306相关联的进程122的特定“角色”。在一实例实施例中,进程122可以例如借助于指派给进程112的进程角色识别符来间接地提及(refer to)一组访问控制标签306。
图5是图1的资源访问控制器104的角色数据存储区(role data store)202的实例的框图。在一实例实施例中,进程数据存储区202 中标注的每个进程122可以与角色识别符308相关联,如上文结合图 3所指示。进而,如图5所示,每个角色识别符308可以指代(referto)一组特定的访问控制标签306,例如图4中描绘的那些访问控制标签。此类实施例在以下情况下是有用的:仅访问控制标签306的特定组合可用于进程122中的任一个,因此导致有限数目的角色,且因此导致有限数目的角色识别符308。
在一些实例实施例中,每个进程122可以与恰好一个角色(例如,由角色识别符308指示)和/或一组访问控制标签306相关联。在其它实例实施例中,进程122中的一个或多个可以在任何特定时间与单个角色和/或一组访问控制标签306相关联,但在其它时间可以与其它角色和/或一组访问控制标签306相关联。在这些后面的实例实施例中,与一个或多个进程122且因此与进程识别符304相关联的可能的角色可以分层地彼此相关。举例来说,图6是由如由各种角色识别符308A、308B、308C和308D识别的进程角色(process roles) 所展现的实例角色阶层(example role hierarchy)600的框图。在一实例实施例中,驻留在角色阶层600的较高级别中的每个角色识别符308 与对一个或多个资源116的更大或更高级别的访问相关联。举例来说,如图6中所描绘,角色识别符308A与比角色识别符308B到 308D级别高的角色相关联,而角色识别符308B与比角色识别符 308C和角色识别符308D两者级别高的角色相关联。在一实例实施例中,较高级别角色识别符308(例如,角色识别符308B)包括授予与较高级别角色识别符308(例如,角色识别符308B)的较低级别角色识别符308(例如,角色识别符308C和308D)相关联的角色的所有资源116访问,外加与资源识别符402相关联的至少一个额外访问类型404,所述至少一个额外访问类型可以或可以不与较低级别角色识别符308相关联。在实例实施例中,可以借助于图5的角色数据存储区202中的指针或其它参考数据来表示图6的角色阶层600。
在一实例实施例中,如由进程识别符304(图3)所指示的特定进程122在一个时间段期间可以在进程数据存储区202中与角色阶层 600的单个角色识别符308相关联,且接着基于一个或多个因素或事件在另一时间段与较高级别或较低级别的角色识别符308相关联。在下文结合图8和9论述这些实施例。
尽管上文所论述的实例实施例指示图2和3的进程数据存储区 202与图2和5的角色数据存储区204可以是相异的且单独的(separate),但在其它实例实施例中,其中包括的信息可以存储在单个数据存储区中。在又其它实例实施例中,上文关于图3到6描述的信息可以按上文未具体论述的其它数据格式加以存储。
图7是图1的实例资源访问控制器104控制进程122对计算资源 116的访问的实例方法700的流程图。尽管鉴于图1的云计算系统 101及图2到6的其各种组件的环境描述了方法700以及本说明书呈现的其它方法,但在其它实施例中,本说明书中未具体论述的其它系统或装置可以执行相同或类似的操作。
在方法700中,资源访问控制器104可以接收且存储访问策略规则(操作702),在一实例实施例中,这可以包括接收访问控制标签 306、角色识别符308和上文结合图2到6所描述的可能的关联信息。此信息可以从与图1的云计算系统101相关联的系统操作者或管理员系统、与图1的客户端装置120中的一个或多个相关联的监督计算系统、或另一源提供到资源访问控制器104。
而且,图1的云计算系统101的装置管理器102还可以登记、注册和/或布建客户端装置120中的一个或多个(操作704),以促进客户端装置120的进程122对云计算系统101的基础结构106的资源 116中的一个或多个的访问。在一实例实施例中,登记或注册客户端装置120可以包括在装置管理器102处,例如从与图1的云计算系统 101相关联的系统操作者或管理员,或与图1的客户端装置120中的一个或多个相关联的监督计算系统接收与客户端装置120中的一个或多个相关联的客户端证书302和处理识别符304,如上文所指示。在一实例实施例中,布建客户端装置120中的一个或多个可以包括装置管理器102(例如,经由网络130)提供待在客户端装置120上执行的软件,可能包括被配置成执行客户端装置120上的进程122的软件。
而且,在方法700期间,资源访问控制器104可以认证进程122 中的一个或多个以使进程122能够访问云计算系统101的资源116 (操作706)。在一实例实施例中,资源访问控制器104和客户端装置 120可以通过使用客户端装置120的客户端证书302和与资源访问控制器104相关联的服务器证书来经由网络130参与基于双向证书的认证过程(two-waycertificate-based authentication process)(例如,双向TLS (传输层安全)认证)。在其它实例实施例中,可以使用其它认证方法来认证一个或多个客户端装置120。
在认证客户端装置120之后,资源访问控制器104可以经由网络 130从在客户端装置120上执行的进程122接收访问云计算系统101 的资源116中的一个的请求(操作708)。在一实例实施例中,请求可以包括请求的类型(例如,读取、写入、更新、创建、删除,等等)连同与请求进程(requesting process)122相关联的进程识别符 304。
响应于此请求,在一实例实施例中,资源访问控制器104可以基于与请求进程122相关联的角色来确定所请求的访问是否是可允许的 (操作710)。在实例实施例中,资源访问控制器104可以借助于确定与请求进程122相关联的特定访问控制标签306来确定与请求进程 122相关联的特定角色(particular role)。举例来说,资源访问控制器 104可以将在客户端装置120的认证期间接收到的数字证书302和结合此请求接收的进程识别符304与数字证书302和存储在进程数据存储区202中的进程识别符304进行比较,以确定与请求进程122相关联的进程角色识别符308或访问控制标签306。在数字证书302和进程识别符304与进程数据存储区202中的特定角色识别符308相关联的情形下,资源访问控制器104可以接着将特定角色识别符308与存储在角色数据存储区204中的角色识别符308进行比较,以确定与请求进程122相关联的访问控制标签306。
一旦已确定与请求进程122相关联的访问控制标签306,资源访问控制器104就将所确定的访问控制标签306与所请求的访问进行比较,以确定是否允许所请求的对特定资源116的访问。响应于所请求的访问不被允许,资源访问控制器104可以拒绝所述请求(操作712)。在一实例实施例中,资源访问控制器104可以经由网络向请求进程122传回指示请求被拒绝的消息。相反,如果允许所请求的访问,则资源访问控制器104可以使得所请求的访问得到处理(操作 714)。在一实例实施例中,在使请求得到处理时,资源访问控制器 104可以将请求转发或引导到请求将被引导到的特定资源116。
在一些实例实施例中,可以更改或修改指派给请求进程122或与所述请求进程相关联的角色,使得对于请求进程122在其当前角色下不被允许的访问特定资源116的请求在不同角色下可以被允许。为此,可以使用图8和9中描绘的方法中的一个或两个来促进角色改变。举例来说,图8是资源访问控制器104处置改变进程122的角色的显式进程(explicitprocess)122请求的实例方法800的流程图。在方法800中,资源访问控制器104可以从进程122接收以改变进程 122的角色的请求(操作802),例如改变为角色阶层600中指示的较高级别角色,图6中描绘其实例。在一实例实施例中,请求进程122 可以响应于资源访问控制器104拒绝访问特定资源116的先前请求 (例如,方法700的操作712)而发射此类请求。
在实例实施例中,请求可以指示请求进程122的特定的所需角色识别符308,或可以仅指示对较高级别角色的一般请求。响应于对特定较高级别角色的请求,在一实例实施例中,资源访问控制器104可以确定是否可以例如通过查阅(consult)相关联角色阶层600来向请求进程122指派较高级别角色,其可以或可以不与请求进程122具体地相关联。如果所请求的角色未反映在角色阶层600中,则资源访问控制器104可以确定所请求的角色改变是不可允许的(操作804),且拒绝角色改变(操作806)。相反,如果所请求的较高级别角色是借助于角色阶层600中的相关联角色识别符308指示的角色,则资源访问控制器104可以确定所请求的角色改变是可接受的(操作 804),且允许角色改变(操作808),例如通过将与所请求的较高级别角色相关联的角色识别符308指派给请求进程122。在一个实例实施例中,角色改变可能仅在某个有限的时间段内或在已发生特定事件,例如完成访问请求(例如,完成数据传送或消息的传送)之前有效。
在其中角色改变请求不指示特定角色或角色识别符308的实例实施例中,资源访问控制器104可以查阅(consult)适当的角色阶层 600以确定较高级别角色是否可用(操作804)。如果在角色阶层600 中指示较高级别角色,则资源访问控制器104可以允许角色改变(操作808)。相反,如果较高级别角色不可用(例如,指派给请求进程 122的当前角色在与请求进程122相关联的角色阶层600中最高),则可以拒绝修改请求进程122的角色的请求(操作806)。
图9是资源访问控制器104通过促进请求进程122的角色的隐式改变(implicitchange)而控制进程122对计算资源116的访问的方法 900的流程图。在方法900中,资源访问控制器104可以按类似于图 7的方法700中所示(例如,操作708)的方式接收访问资源116的请求(操作902)。响应于此请求,资源访问控制器104可以按类似于方法700中所示(例如,操作710)的方式基于请求进程122的当前角色确定所请求的访问是否是可允许的(操作904)。如果访问基于当前角色是可允许的,则资源访问控制器104可以例如通过将请求转发到待访问的特定资源116来使得请求得到处理(操作912)。
相反,如果所请求的访问对于请求进程122在其当前角色中不适合或不被允许(操作904),则资源访问控制器104可以例如基于与请求进程122相关联的角色阶层600确定是否可允许促进处理所述请求的角色改变(操作906),如上文所论述。如果此类角色改变是不可允许的,则资源访问控制器104可以拒绝所述请求(操作908)。相反,如果此类角色改变对于请求进程是可允许的,则资源访问控制器104可以向请求进程指派新的(例如,较高级别的)角色(操作 910),且使得所述请求由所请求的资源116来处理(操作912)。
在一实例实施例中,由资源访问控制器104设立的角色改变可能在有限的时间段内或仅在某一事件发生之前有效,在此之后,请求进程122可以在角色改变之前恢复到其原始或先前角色。举例来说,较新的角色可能在一秒、五秒、十秒或某一其它时间段内有效,从而可能允许来自请求进程122的多个请求被接收并被提供服务,随后请求进程122恢复到其先前角色。在另一情况下,较新角色可能在已完成对请求进程122请求的资源116的访问之前有效。举例来说,假定来自请求进程122的所请求的访问涉及将数据流从客户端装置120传送到数据流式传输资源116,则资源访问控制器104可以向请求进程122指派所述新角色以促进数据流传送。一旦已完成所请求的数据流传送,资源访问控制器104就可以接着将请求进程122恢复到其先前角色。
在上文所描述的一些实例实施例中,资源访问控制器104可以调整客户端装置120的各种进程122的角色和/或相关联的访问控制标签306。另外,资源访问控制器104可以基于检测到的访问级别和/ 或由云计算系统101提供的各种资源116的其它操作特性来自动进行这些调整。在一些实例实施例中,资源访问控制器104可以响应于从系统操作者或管理员接收的输入而调整角色和/或访问控制标签 306。
在上文所描述的实例实施例中的至少一些中,在资源访问控制器104处使用指派给一个或多个客户端装置120的进程122的访问角色促进对云计算系统101提供的特定资源116的访问的集中控制。因此,对于所有客户端装置120及其相关联的进程122,可以实时地促进对这些特权的改变,而不是在数目可能达数千的客户端装置120中的每一个处个别地进行此类改变。此外,如本说明书所描述,对资源116的访问的动态和自适应控制可以导致云计算系统101的改进的安全性,因为可以动态地实施“最小特权(least privilege)”原理,其中仅允许每个客户端装置120或相关联的进程122访问客户端装置 120或进程122在任何特定时间为获得高效操作而使用的那些资源 116。此能力可以增强总体网络安全性,同时响应于云计算系统101 和/或各种客户端装置120处的不断改变的操作条件而动态地促进云计算系统101的增强的性能。
在一实例实施例中,一种用于对计算资源的访问的基于角色的控制的方法包括:经由通信网络从在客户端装置上执行的进程接收执行对计算资源的一种类型的访问的请求;基于所述请求进程的进程识别符,从存储进程识别符和相关联访问控制信息的数据存储区识别与所述请求进程相关联的访问控制信息;基于与所述请求进程相关联的所述访问控制信息,使用机器的至少一个硬件处理器来确定是否允许所述请求进程执行对所述计算资源的所述所请求类型的访问;以及基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理。
在包括所有先前实例实施例的另一实例实施例中,,与请求进程相关联的访问控制信息指示允许所述请求进程访问的一个或多个计算资源。
在包括所有先前实例实施例的另一实例实施例中,与所述请求进程相关联的访问控制信息进一步指示,对于所指示的一个或多个计算资源中的至少一个,对所述请求进程允许的所指示的一个或多个计算资源中的所述至少一个的访问类型。
在包括所有先前实例实施例的另一实例实施例中,,所述方法进一步包括:经由所述通信网络接收包括所述进程识别符和所述相关联访问控制信息的至少一个文本文件;以及将所述进程识别符和所述相关联访问控制信息存储在数据存储区中。
在包括所有先前实例实施例的另一实例实施例中,所述至少一个文本文件包括JavaScript对象表示法(Object Notation)(JSON)文件和可扩展标记语言(ExtensibleMarkup Language,XML)文件中的至少一个。
在包括所有先前实例实施例的另一实例实施例中,此方法进一步包括:基于所述请求进程不被允许执行(based on the requesting process not being allowed toperform)对计算资源的所请求类型的访问,拒绝所述请求。
在包括所有先前实例实施例的另一实例实施例中,每个进程识别符及其相关联的访问控制信息描述对应于由所述进程识别符识别的进程的角色;所述请求进程对应于多于一个角色;与所述请求进程相关联的访问控制信息对应于所述请求进程的第一角色;且所述方法进一步包括:基于在所述第一角色中所述请求进程不被允许执行对计算资源的所请求类型的访问,确定允许执行对计算资源的所请求类型的访问的第二角色是否可用于所述请求进程;以及基于允许执行对计算资源的所请求类型的访问的第二角色可用于所述请求进程,将所述第二角色指派给所述请求进程且使得所述请求得到处理。
在包括所有先前实例实施例的另一实例实施例中,所述方法进一步包括在预定事件已发生之后将所述请求进程从所述第二角色恢复到所述第一角色。
在包括所有先前实例实施例的另一实例实施例中,所述预定事件包括对所述请求的处理。
在包括所有先前实例实施例的另一实例实施例中,所述方法进一步包括在预定时间段已过去之后将所述请求进程从所述第二角色恢复到所述第一角色。
在包括所有先前实例实施例的另一实例实施例中,所述第二角色对应于对应于所述第一角色的所述访问控制信息,且对应于允许对所述计算资源的所请求类型的访问的额外访问控制信息。
在包括所有先前实例实施例的另一实例实施例中,所述确定第二角色是否可用于所述请求进程取决于所述第二角色是否在与所述请求进程相关联的角色阶层中被指定。
在包括所有先前实例实施例的另一实例实施例中,所述方法进一步包括:在接收所述请求之前接收对应于所述客户端装置的数字证书和用于所述请求进程的进程识别符;以及在接收所述请求之前,基于所述所接收数字证书和所述所接收的进程识别符来认证所述请求进程。
在包括所有先前实例实施例的另一实例实施例中,所述方法进一步包括:执行与所述客户端装置的双向认证(two-way authentication),所述执行所述双向认证包括接收所述数字证书和认证所述请求进程。
在包括所有先前实例实施例的另一实例实施例中,所述计算资源包括数据流式传输服务(data streaming service)。
在包括所有先前实例实施例的另一实例实施例中,所述计算资源包括消息接发队列(messaging queue)。
在包括所有先前实例实施例的另一实例实施例中,所述计算资源包括数据库。
在包括所有先前实例实施例的另一实例实施例中,所述计算资源包括网络服务器。
在一实例实施例中,一种系统包括:一个或多个硬件处理器;以及存储指令的存储器,所述指令在由所述一个或多个硬件处理器中的至少一个执行时使得所述系统执行包括以下各项的操作:经由通信网络从在客户端装置上执行的进程接收执行对计算资源的一种类型的访问的请求;基于所述请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储区识别与所述请求进程相关联的访问控制信息;基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所述所请求类型的访问;以及基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理。
在一实例实施例中,一种非暂时性计算机可读存储媒体存储指令,所述指令在由机器的至少一个硬件处理器执行时使得所述机器执行包括以下各项的操作:经由通信网络从在客户端装置上执行的进程接收执行对计算资源的一种类型的访问的请求;基于所述请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储区识别与所述请求进程相关联的访问控制信息;基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所述所请求类型的访问;以及基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求被处理。
图10是图示根据一些实例实施例的机器1000的组件的框图,所述机器能够从机器可读媒体1022(例如,非暂时性机器可读媒体、机器可读存储媒体、或计算机可读存储媒体)读取指令1024,且整体或部分地执行本说明书中论述的方法中的任何一个或多个。具体来说,图10描绘呈计算机装置(例如,计算机)的实例形式的机器 1000,其内的指令1024(例如,软件、固件、程序、应用程序、小程序、应用程序或其它可执行代码)用于使得机器1000整体或部分地执行本说明书中论述的方法中的任何一个或多个。
举例来说,指令1024可以使得机器1000执行图7到9的流程图以及与其相关联的所有实例实施例。指令1024可以将通用的、未编程的机器1000变换成被编程为以所描述的方式执行所描述和说明的功能的特定机器(例如,特殊配置的机器)。而且,在实例实施例中,机器1000可以作为图1的云计算系统101的模块或组件中的一个或多个(包括装置管理器102、资源访问控制器104以及托管 (hosted on)在基础结构106上的资源116)或本说明书中所描述的任何其它计算系统或装置进行操作。
在实例实施例中,机器1000作为独立装置操作或者可以连接 (例如,网络连接)到其它机器。机器1000可以是服务器计算机、客户端计算机、个人计算机(PC)、平板电脑、膝上型计算机、上网本 (netbook)、机顶盒(set-top box,STB)、个人数字助理(PDA)、蜂窝式电话、智能手机、网络器具、网络路由器、网络交换机、网络桥接器、电源适配器或能够执行指令1024的任何机器1000,其顺序或以其它方式指定待由所述机器1000采取的动作。另外,尽管仅图示单个机器1000,但术语“机器”也应被视为包括个别地或联合地执行指令1024以执行本说明书中论述的方法中的任何一个或多个的机器。
机器1000包括处理器1002(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路 (ASIC)、射频集成电路(RFIC)或其任何合适组合)、主存储器 1004和静态存储器1006,其被配置成经由总线(bus)1008彼此通信。处理器1002可以包括微电路,所述微电路可由指令1024中的一些或全部暂时或永久地配置,使得处理器1002被配置成整体或部分地执行本说明书中所描述的方法中的任何一个或多个。举例来说,处理器1002的一组一个或多个微电路可以是可配置的以执行本说明书中所描述的一个或多个模块(例如,软件模块)。
机器1000可以进一步包括图形显示器1010(例如,等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、阴极射线管(CRT)或能够显示图形或视频的任何其它显示器)。机器1000还可以包括字母数字输入装置(alphanumeric input device)1012(例如,键盘或小键盘)、光标控制装置1014(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、眼睛跟踪装置、或其它指向仪器(pointing instrument))、存储单元1016、信号产生装置 1018(例如,声卡、放大器、扬声器、头戴式耳机插孔或其任何适当组合)以及网络接口装置1020。
存储单元1016包括存储指令1024的机器可读媒体1022(例如,有形的机器可读存储媒体),所述指令体现本说明书中所描述的方法或功能中的任何一个或多个。指令1024还可以在其由机器1000 执行之前或期间完全或至少部分地驻留在主存储器1004、处理器1002(例如,处理器1002的高速缓冲存储器(cache memory))或两者内。因此,主存储器1004和处理器1002可以被视为机器可读媒体 1022(例如,有形和非暂时性机器可读媒体)。
在一些实例实施例中,机器1000可以是便携式或移动计算装置,且具有一个或多个额外输入组件(例如,传感器或计量表)。此类输入组件的实例包括图像输入组件(例如,一个或多个相机)、音频输入组件(例如,麦克风)、方向输入组件(例如,罗盘)、位置输入组件(例如,全球定位系统(GPS)接收器)、定向组件(例如,陀螺仪)、运动检测组件(例如,一个或多个加速度计)、高度检测组件(例如,高度计)和气体检测组件(例如,气体传感器)。由这些输入组件中的任何一个或多个采集的输入可以是可访问的且可用的以供本说明书中所描述的模块中的任一个使用。
如本说明书中所使用,术语“存储器”是指能够暂时或永久地存储数据的机器可读媒体1022,且可以被视为包括但不限于随机访问存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存存储器和高速缓冲存储器。尽管计算机可读媒体1022在实例实施例中示出为单个媒体,但术语“机器可读媒体(machine-readable medium)”应被视为包括能够存储指令1024的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓存器和服务器)。术语“机器可读媒体”还应被视为包括能够存储用于由机器(例如,机器 1000)执行的指令1024,使得指令1024在由机器1000的一个或多个处理器(例如,处理器1002)执行时使得机器1000执行本说明书中所描述的方法中的任何一个或多个的任何媒体或多个媒体的组合。因此,术语“机器可读媒体”应被视为包括但不限于呈固态存储器、光学媒体、磁性媒体或其任何适当组合的形式的一个或多个数据存储库。
此外,机器可读媒体1022为非暂时性的,因为其不体现传播信号或暂时性信号。然而,将机器可读媒体1022标记为“非暂时性”不应被解释为意味着媒体不能移动;在一些实例实施例中,媒体应被认为可从一个物理位置运送到另一物理位置。此外,因为机器可读媒体1022是有形的,因此媒体可以认为是机器可读装置。
指令1024可以进一步经由通信网络1026使用传输媒体经由网络接口装置1020且利用多种众所周知的传送协议中的任何一种(例如,超文本传送协议(HTTP))来发射或接收。通信网络1026的实例包括局域网(LAN)、广域网(WAN)、互联网、移动电话网络、普通老式电话服务(POTS)网络和无线数据网络(例如 和WiMAXTM网络)。术语“传输媒体”应被视为包括能够存储、编码或载送指令1024以由机器1000执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
在整个本说明书中,多个实例可以实施描述为单个个例的组件、操作或结构。尽管将一个或多个方法的个别操作图示且描述为单独的操作,但可以并行地执行个别操作中的一个或多个,且并不要求以所图示的次序执行操作。呈现为实例配置中的单独组件的结构和功能性可以实施为组合式结构或组件。类似地,呈现为单个组件的结构和功能性可以实施为独立组件。这些以及其它变化、修改、添加和改进属于本说明书中的主题的范围内。
本说明书中将特定实例实施例描述为包括逻辑或数个组件、模块或机构。模块可以构成软件模块(例如,体现于机器可读媒体 1022上或发射信号中的代码)或硬件模块。“硬件模块(hardware module)”为能够执行特定操作,且可以特定物理方式配置或布置的有形单元。在各种实例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个连接件模块(例如,处理器1002或一群处理器 1002)可以通过软件(例如,应用程序或应用程序部分)配置为操作以执行如本说明书所描述的特定操作的硬件模块。
在一些实例实施例中,可以按机械方式、电子方式或其任何合适组合实施硬件模块。举例来说,硬件模块可以包括永久地配置成执行特定操作的专用电路或逻辑。举例来说,硬件模块可以是专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件模块还可以包括由软件暂时地配置以执行特定操作的可编程逻辑或电路。举例来说,硬件模块可以包括涵盖于通用处理器或其它可编程处理器内的软件。应了解,可以由成本和时间考虑因素驱动以机械方式、在专用且永久性地配置的电路中或在暂时性地配置的电路(例如,由软件配置)中实施硬件模块的决策。
因此,短语“硬件模块”应理解为涵盖有形实体,即以物理方式建构、永久配置(例如,固线式)或暂时配置(例如,编程)从而以某一方式操作或执行本说明书中所描述的特定操作的实体。如本说明书中所使用,“硬件实施模块(hardware-implemented module)”是指硬件模块。考虑其中硬件模块进行暂时性配置(例如,编程) 的实例实施例,无需在任一时刻处配置或实例化硬件模块中的每一个。举例而言,在硬件模块包括由软件配置以变为专用处理器的通用处理器的情况下,通用处理器可以在不同时间处配置成分别不同的专用处理器(例如,包括不同硬件模块)。软件因此可以配置处理器,例如以在一个时刻构成特定硬件模块并且在不同时刻构成不同硬件模块。
本说明书中所描述的实例方法的各种操作可以至少部分地由一个或多个处理器执行,所述一个或多个处理器暂时配置(例如,通过软件)或永久地配置成执行相关操作。无论暂时还是永久地配置,此类处理器都可以构成操作以执行本说明书中所描述的一个或多个操作或功能的处理器实施模块。如本说明书中所使用,“处理器实施模块”是指使用一个或多个处理器实施的硬件模块。
类似地,本说明书所描述的方法可以至少部分地由处理器实施,处理器为硬件的实例。举例来说,方法的操作中的至少一些可以由一个或多个处理器或处理器实施模块执行。
可以依据对存储为机器存储器(例如,计算机存储器)内的位或二进制数字信号的数据的操作的算法或符号表示来提供本说明书中论述的主题的一些部分。此类算法或符号表示是数据处理领域的一般技术人员用来向所属领域的其他技术人员传达其工作的实质内容的技术的实例。如本说明书中所使用,“算法”为导致所需结果的操作或类似处理的自一致性序列。在此上下文中,算法和操作涉及对物理量的物理操纵。
通常但不一定,此类量可以呈电、磁或光学信号的形式,所述电、磁或光学信号能够由机器存储、访问、传送、组合、比较或以其它方式操纵。主要出于常用的原因,有时使用例如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“项”、“数目”、“数字”等词语来提及此类信号是很方便的。然而,这些词语仅为方便的标记且将与适当物理量相关联。
除非另有特定说明,否则本说明书中使用例如“处理”、“计算”、“估算”、“确定”、“呈现”、“显示”等的词语进行的论述可以指在一个或多个存储器(例如,易失性存储器、非易失性存储器或其任何合适的组合)、寄存器或接收、存储、发射或显示信息的其它机器组件内操纵或变换表示为物理(例如,电、磁或光学)量的数据的机器(例如,计算机)的动作或处理。此外,除非另有特定说明,否则如在专利文件中所常见的,在本说明书中使用术语“一(a或an)”包括一个或多于一个个例。最后,如本说明书中所使用,连词“或”是指非排他性的“或”,除非另有特定说明。
尽管已经参考特定实例实施例描述本发明主题的概述,但可以在不脱离本公开的实施例的更广范围的情况下对这些实例实施例进行各种修改和改变。举例来说,各种实施例或其特征可以由所属领域的技术人员任选地进行混合和匹配或制造。仅为方便起见,且在如果实际上公开多于一个而不希望自愿地将本申请的范围限于任何单个发明概念的情况下,本发明主题的此类实施例在本说明书中可以单独地或共同地由术语“本发明”提及。
足够详细地描述本说明书中所说明的实例实施例以使所属领域的技术人员能够实践所公开的教示。可以使用其它实施例且从本说明书中导出其它实施例,使得可以在不脱离本发明的范围的情况下进行结构和逻辑替代和改变。因此,详细描述不应视为限制性意义,且各种实施例的范围仅通过所附权利要求书连同此类权利要求书授权的等效物的完整范围界定。
此外,针对本说明书中描述为单个个例的资源、操作或结构可以提供多个个例。此外,各种资源、操作、模块、引擎和数据存储区之间的边界在某种程度上是任意的,且在特定说明性配置的上下文中说明特定操作。功能性的其它分配可以设想出且可以落入本公开的各种实施例的范围内。一般来说,呈现为实例配置中的单独资源的结构和功能性可以实施为组合式结构或资源。类似地,呈现为单个资源的结构和功能性可以实施为单独资源。这些和其它变化、修改、添加和改进落入如由所附权利要求书表示的本公开的实施例的范围内。因此,应在说明性意义而非限制性意义上看待说明书及图式。
Claims (19)
1.一种用于对计算资源的访问的基于角色的控制的方法,所述方法包括:
经由通信网络从在客户端装置上执行的进程接收执行对计算资源的类型的访问的请求;
基于请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储识别与所述请求进程相关联的访问控制信息;
基于与所述请求进程相关联的所述访问控制信息,使用机器的至少一个硬件处理器来确定是否允许所述请求进程来执行对所述计算资源的所请求类型的访问;以及
基于允许所述请求进程来执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理,
其中,每个进程识别符及其相关联的访问控制信息描述对应于由所述进程识别符识别的所述进程的角色;
其中,所述请求进程对应于多于一个角色;
其中,与所述请求进程相关联的所述访问控制信息对应于所述请求进程的第一角色;并且
其中,所述方法进一步包括:
基于在所述第一角色中所述请求进程不被允许执行对所述计算资源的所述所请求类型的访问,确定允许执行对所述计算资源的所述所请求类型的访问的第二角色是否可用于所述请求进程;以及
基于允许执行对所述计算资源的所述所请求类型的访问的第二角色可用于所述请求进程,
将所述第二角色指派给所述请求进程,并且
使得所述请求得到处理。
2.根据权利要求1所述的方法,其中,
与所述请求进程相关联的所述访问控制信息指示允许所述请求进程访问的一个或多个计算资源。
3.根据权利要求2所述的方法,其中,
与所述请求进程相关联的所述访问控制信息对于所指示的一个或多个计算资源中的至少一个,进一步指示对所述请求进程允许的所述所指示的一个或多个计算资源中的所述至少一个的访问类型。
4.根据权利要求1所述的方法,进一步包括:
经由所述通信网络接收包括所述进程识别符和所述相关联访问控制信息的至少一个文本文件;以及
将所述进程识别符和所述相关联访问控制信息存储在所述数据存储中。
5.根据权利要求4所述的方法,其中,所述至少一个文本文件包括JavaScript对象表示法(JSON)文件和可扩展标记语言(XML)文件中的至少一个。
6.根据权利要求1所述的方法,进一步包括:
基于所述请求进程不被允许执行对所述计算资源的所述所请求类型的访问,拒绝所述请求。
7.根据权利要求1所述的方法,进一步包括:
在预定事件已发生之后将所述请求进程从所述第二角色恢复到所述第一角色。
8.根据权利要求7所述的方法,其中,所述预定事件包括对所述请求的处理。
9.根据权利要求1所述的方法,进一步包括:
在预定时间段已过去之后将所述请求进程从所述第二角色恢复到所述第一角色。
10.根据权利要求1所述的方法,其中,所述第二角色对应于与所述第一角色对应的所述访问控制信息,并且对应于允许对所述计算资源的所述所请求类型的访问的额外访问控制信息。
11.根据权利要求1所述的方法,其中,所述确定第二角色是否可用于所述请求进程取决于所述第二角色是否在与所述请求进程相关联的角色阶层中指定。
12.根据权利要求1所述的方法,进一步包括:
在接收所述请求之前接收对应于所述客户端装置的数字证书和用于所述请求进程的所述进程识别符;以及
在接收所述请求之前,基于所接收数字证书和所接收进程识别符认证所述请求进程。
13.根据权利要求12所述的方法,进一步包括:
执行与所述客户端装置的双向认证,执行所述双向认证包括接收所述数字证书和认证所述请求进程。
14.根据权利要求1所述的方法,其中,所述计算资源包括数据流式传输服务。
15.根据权利要求1所述的方法,其中,所述计算资源包括消息接发队列。
16.根据权利要求1所述的方法,其中,所述计算资源包括数据库。
17.根据权利要求1所述的方法,其中,所述计算资源包括网络服务器。
18.一种用于对计算资源的访问的基于角色的控制的系统,包括:
一个或多个硬件处理器;以及
存储指令的存储器,所述指令在由所述一个或多个硬件处理器中的至少一个执行时使得所述系统执行包括以下各项的操作:
经由通信网络从在客户端装置上执行的进程接收执行对计算资源的类型的访问的请求;
基于请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储识别与所述请求进程相关联的访问控制信息;
基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所请求类型的访问;以及
基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理,
其中,每个进程识别符及其相关联的访问控制信息描述对应于由所述进程识别符识别的所述进程的角色;
其中,所述请求进程对应于多于一个角色;
其中,与所述请求进程相关联的所述访问控制信息对应于所述请求进程的第一角色;并且
其中,所述指令在由所述一个或多个硬件处理器中的至少一个执行时使得所述系统进一步执行包括以下各项的操作:
基于在所述第一角色中所述请求进程不被允许执行对所述计算资源的所述所请求类型的访问,确定允许执行对所述计算资源的所述所请求类型的访问的第二角色是否可用于所述请求进程;以及
基于允许执行对所述计算资源的所述所请求类型的访问的第二角色可用于所述请求进程,
将所述第二角色指派给所述请求进程,并且
使得所述请求得到处理。
19.一种存储指令的非暂时性计算机可读存储介质,所述指令在由机器的至少一个硬件处理器执行时使得所述机器执行包括以下各项的操作:
经由通信网络从在客户端装置上执行的进程接收执行对计算资源的类型的访问的请求;
基于请求进程的进程识别符从存储进程识别符和相关联访问控制信息的数据存储识别与所述请求进程相关联的访问控制信息;
基于与所述请求进程相关联的所述访问控制信息,确定是否允许所述请求进程执行对所述计算资源的所请求类型的访问;以及
基于允许所述请求进程执行对所述计算资源的所述所请求类型的访问,使得所述请求得到处理,
其中,每个进程识别符及其相关联的访问控制信息描述对应于由所述进程识别符识别的所述进程的角色;
其中,所述请求进程对应于多于一个角色;
其中,与所述请求进程相关联的所述访问控制信息对应于所述请求进程的第一角色;并且
其中,所述指令在由机器的至少一个硬件处理器执行时使得所述机器进一步执行包括以下各项的操作:
基于在所述第一角色中所述请求进程不被允许执行对所述计算资源的所述所请求类型的访问,确定允许执行对所述计算资源的所述所请求类型的访问的第二角色是否可用于所述请求进程;以及
基于允许执行对所述计算资源的所述所请求类型的访问的第二角色可用于所述请求进程,
将所述第二角色指派给所述请求进程,并且
使得所述请求得到处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/601,831 US10491584B2 (en) | 2017-05-22 | 2017-05-22 | Role-based resource access control |
US15/601831 | 2017-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965242A CN108965242A (zh) | 2018-12-07 |
CN108965242B true CN108965242B (zh) | 2022-11-15 |
Family
ID=64272181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810526519.1A Active CN108965242B (zh) | 2017-05-22 | 2018-05-21 | 基于角色的控制的方法、系统及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10491584B2 (zh) |
CN (1) | CN108965242B (zh) |
RU (1) | RU2018118379A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6729145B2 (ja) * | 2016-08-03 | 2020-07-22 | 富士通株式会社 | 接続管理装置、接続管理方法および接続管理プログラム |
IT201900005756A1 (it) * | 2019-04-15 | 2020-10-15 | Biesse Spa | Sistema informatico condiviso basato su cloud per la gestione di utensili e/o aggregati per lavorazioni industriali |
US11405381B2 (en) * | 2019-07-02 | 2022-08-02 | Hewlett Packard Enterprise Development Lp | Tag-based access permissions for cloud computing resources |
US11520909B1 (en) * | 2020-03-04 | 2022-12-06 | Wells Fargo Bank, N.A. | Role-based object identifier schema |
CN112926068B (zh) * | 2021-02-25 | 2023-10-20 | 陕西合友网络科技有限公司 | 权限管理方法、管理服务器、业务服务器及可读存储介质 |
CN117063168A (zh) * | 2021-03-25 | 2023-11-14 | 英特尔公司 | 用于iommu的pasid粒度资源控制 |
US11818235B1 (en) | 2022-11-21 | 2023-11-14 | Guardknox Cyber Technologies Ltd. | Systems, devices and methods for hardware accelerated universal routing interface |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702693B1 (en) * | 2003-10-30 | 2010-04-20 | Cisco Technology, Inc. | Role-based access control enforced by filesystem of an operating system |
CN102341807A (zh) * | 2009-03-03 | 2012-02-01 | 微软公司 | 使用链接中的标识符的访问控制 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099947B1 (en) * | 2001-06-08 | 2006-08-29 | Cisco Technology, Inc. | Method and apparatus providing controlled access of requests from virtual private network devices to managed information objects using simple network management protocol |
JP4487490B2 (ja) * | 2003-03-10 | 2010-06-23 | ソニー株式会社 | 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム |
GB0425113D0 (en) * | 2004-11-13 | 2004-12-15 | Ibm | A method of determining access rights to IT resources |
US7536722B1 (en) * | 2005-03-25 | 2009-05-19 | Sun Microsystems, Inc. | Authentication system for two-factor authentication in enrollment and pin unblock |
WO2007028160A2 (en) * | 2005-09-02 | 2007-03-08 | Gary Durbin | Database system and method for access control and workflow routing |
US8793768B2 (en) * | 2006-04-11 | 2014-07-29 | Medox Exchange, Inc. | Relationship-based authorization |
US8032558B2 (en) * | 2007-01-10 | 2011-10-04 | Novell, Inc. | Role policy management |
US8656472B2 (en) * | 2007-04-20 | 2014-02-18 | Microsoft Corporation | Request-specific authentication for accessing web service resources |
US8561182B2 (en) * | 2009-01-29 | 2013-10-15 | Microsoft Corporation | Health-based access to network resources |
US9038168B2 (en) * | 2009-11-20 | 2015-05-19 | Microsoft Technology Licensing, Llc | Controlling resource access based on resource properties |
US20120265879A1 (en) * | 2011-04-15 | 2012-10-18 | Microsoft Corporation | Managing servicability of cloud computing resources |
US9461978B2 (en) * | 2012-09-25 | 2016-10-04 | Tata Consultancy Services Limited | System and method for managing role based access controls of users |
US9203820B2 (en) * | 2013-03-15 | 2015-12-01 | Airwatch Llc | Application program as key for authorizing access to resources |
US9438506B2 (en) * | 2013-12-11 | 2016-09-06 | Amazon Technologies, Inc. | Identity and access management-based access control in virtual networks |
US9692765B2 (en) * | 2014-08-21 | 2017-06-27 | International Business Machines Corporation | Event analytics for determining role-based access |
US9923905B2 (en) * | 2016-02-01 | 2018-03-20 | General Electric Company | System and method for zone access control |
-
2017
- 2017-05-22 US US15/601,831 patent/US10491584B2/en active Active
-
2018
- 2018-05-18 RU RU2018118379A patent/RU2018118379A/ru unknown
- 2018-05-21 CN CN201810526519.1A patent/CN108965242B/zh active Active
-
2019
- 2019-11-21 US US16/690,316 patent/US11089007B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702693B1 (en) * | 2003-10-30 | 2010-04-20 | Cisco Technology, Inc. | Role-based access control enforced by filesystem of an operating system |
CN102341807A (zh) * | 2009-03-03 | 2012-02-01 | 微软公司 | 使用链接中的标识符的访问控制 |
Also Published As
Publication number | Publication date |
---|---|
US20200104182A1 (en) | 2020-04-02 |
US11089007B2 (en) | 2021-08-10 |
US20180337915A1 (en) | 2018-11-22 |
RU2018118379A3 (zh) | 2021-10-15 |
RU2018118379A (ru) | 2019-11-20 |
US10491584B2 (en) | 2019-11-26 |
CN108965242A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965242B (zh) | 基于角色的控制的方法、系统及计算机可读存储介质 | |
US10129109B2 (en) | Managing change events for devices in an enterprise system | |
US11012475B2 (en) | Managing computer security services for cloud computing platforms | |
US20230396669A1 (en) | Technologies for transparent function as a service arbitration for edge systems | |
US10592315B2 (en) | Software container messaging mechanism | |
US20200220848A1 (en) | Application-layer service traffic communication using datacenter network fabric as proxy | |
EP3764220B1 (en) | Automatic application updates | |
US11249923B1 (en) | Using shared memory to transport data between server processes | |
US10530726B2 (en) | Email notifications | |
US10135763B2 (en) | System and method for secure and efficient communication within an organization | |
US11909845B2 (en) | Methods and systems for managing applications of a multi-access edge computing environment | |
DE102022101324A1 (de) | Statischer rechenzentrum-leistungsausgleich und konfiguration | |
DE102021123338A1 (de) | Vorausschauende steuerung unter verwendung eines oder mehrerer neuralen netze | |
DE102022120616A1 (de) | Selbstheilung und Rechenzentren | |
CN112532720A (zh) | 数据转发的方法、装置、设备以及存储介质 | |
US20140259090A1 (en) | Storage Object Distribution System with Dynamic Policy Controls | |
US11048853B2 (en) | System and method for resource presentation | |
DE102022114661A1 (de) | Rack-komponenten-erkennungs- und kommunikationsfeld | |
US10664191B2 (en) | System and method for providing input/output determinism based on required execution time | |
US20240143352A1 (en) | Unified Management Interface | |
US20230334145A1 (en) | Secure modular machine learning platform | |
US20230309074A1 (en) | Systems and methods for virtualized domain proxy control | |
CN117950676A (zh) | 一种代码的灰度发布方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |