CN104995598B - 用于访问控制的自由形式元数据的用途 - Google Patents

用于访问控制的自由形式元数据的用途 Download PDF

Info

Publication number
CN104995598B
CN104995598B CN201480009264.1A CN201480009264A CN104995598B CN 104995598 B CN104995598 B CN 104995598B CN 201480009264 A CN201480009264 A CN 201480009264A CN 104995598 B CN104995598 B CN 104995598B
Authority
CN
China
Prior art keywords
tag
computing resource
access control
computing
resource
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
Application number
CN201480009264.1A
Other languages
English (en)
Other versions
CN104995598A (zh
Inventor
埃里克·杰森·布兰德温
皮特·尼古拉斯·德桑蒂斯
利昂·瑟雷恩
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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
Priority claimed from US13/747,224 external-priority patent/US9530020B2/en
Priority claimed from US13/747,239 external-priority patent/US9576141B2/en
Priority claimed from US13/747,261 external-priority patent/US10341281B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN104995598A publication Critical patent/CN104995598A/zh
Application granted granted Critical
Publication of CN104995598B publication Critical patent/CN104995598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

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

Abstract

描述了计算资源的安全和访问控制方法。各种实施方案利用元数据,例如可应用于一个或多个计算资源(例如,虚拟机、主机计算装置、应用程序、数据库等)的标签来控制对这些和/或其它计算资源的访问。在各种实施方案中,可在多租户共享资源环境下利用本文描述的所述标签和访问控制策略。

Description

用于访问控制的自由形式元数据的用途
背景技术
近来,随着社会媒体和交互服务的激增,许多不同平台和服务使用标签和其它元数据变得很普遍。标签通常实现为分配给信息(例如,计算机文件、服务、数字图像等)的关键词或术语。这种元数据可有助于描述项目并将上下文信息附加至其。标签通常由项目的创建者或一些其它用户非正式地且个人地选择。例如,在社交网络的情况下,用户经常将标签附加至照片、视频和其它媒体资产以描述资产的对象或为资产提供一些其它上下文信息。然而,加标签并不限于媒体,这是因为其可与许多不同类型的资源和服务结合使用。例如,加标签可在多租户环境和其它共享资源技术,例如云计算的情况下使用。
附图说明
将参考附图描述根据本公开的各种实施方案,其中:
图1示出了根据各种实施方案的允许客户引用访问控制策略中的标签的实例。
图2示出了根据各种实施方案的利用访问控制策略限制资源上的标签的使用的实例。
图3示出了根据各种实施方案的由于将标签分配给计算资源而使资源访问控制策略与该计算资源关联的实例。
图4A示出了根据各种实施方案的为客户提供计算资源的服务提供商的资源中心环境的实例。
图4B示出了根据各种实施方案的示出标签服务和保存标签的标签数据存储器的环境的实例。
图5示出了根据各种实施方案的允许客户引用访问控制策略中的标签的实例过程。
图6示出了根据各种实施方案的利用访问控制策略限制资源上的标签的使用的实例过程。
图7示出了根据各种实施方案的由于将标签分配给计算资源而使访问控制策略与该计算资源关联的实例过程。
图8示出了根据各种实施方案的可利用的实例计算装置的一组通用组件的逻辑布置。
图9示出了根据各种实施方案的用于实施方面的环境的实例。
具体实施方式
在以下描述中,各种实施方案将通过实例,而非通过对附图中的图的限制进行说明。对本公开中的各种实施方案的参考不一定针对相同实施方案,且这样的参考意指至少一个。虽然讨论了特定实施和其它细节,但应理解这样做只是为了说明。相关领域的技术人员将认识到,在不脱离所要求保护的主题的范围和精神的情况下,可使用其它组件和配置。
根据本公开的各种实施方案的系统和方法可克服用于提供自由形式元数据(例如用于计算资源的标签)的常规方法中经历的一个或多个上述或其它缺点。具体而言,各种实施方案利用自由形式元数据通过网络服务接口来控制对各种计算资源(例如,虚拟机、存储器、应用程序、数据库等)的访问。在各种实施方案中,本文描述的自由形式元数据可在专用或多租户计算环境(例如,云计算环境)中使用,其中计算环境的操作者(例如,服务提供商或组织)允许用户(例如,客户、学生、雇员等)在服务提供商的资源(例如,服务器)上执行其应用程序和服务。在该环境中,允许用户将标签分配给计算环境中的各种资源。例如,用户可为运行其应用程序的虚拟机(VM)实例、托管那些VM实例的主机计算装置、存储于数据存储服务中的数据、应用程序、数据库、接口、由多个虚拟机和各种其它资源组成的虚拟网络加标签。
在该上下文中,自由形式元数据标签可以是与资源关联的可用于多种目的任何自由形式的任意非结构化元数据。在一个实施方案中,计算环境中的每个标签可包括指定与特定资源关联的关键字和值(例如,关键值对)的自由形式字符串。例如,用户可利用指定任何任意关键字和值的任何格式的字符串为计算资源加标签,而非从一组预定关键字或值中选择。
根据一个实施方案,一旦用户具有将一个或多个标签分配给计算资源,那些标签可称作与用户关联的访问控制策略中的谓词。例如,帐户管理员可具有允许特定用户删除任何带有用户定义标签“stack=production”的资源的策略(即,允许用户删除是生产栈的一部分的任何资源)。这可以是有利的,因为管理员可能已出于其它原因使用本文描述的技术在适当位置使用了合适的标签(或其它元数据),可利用这些标签来解决访问控制请求。此外,管理员可控制用户的访问权限而无需明确列出用户应能够删除的用户访问控制策略中的每个资源。由于标签可应用于任何事物,因此用户可被准许访问可驻留在计算环境中的不同位置且可以不同方式访问的异构资源(例如,VM实例、存储器、应用程序、数据库等)。当系统接收到来自用户(例如,应用程序编程接口(“API”)调用)的对资源执行操作的请求时,系统可评估与用户和/或资源关联的访问控制策略,并基于用户请求是否指定了经访问控制策略授权的操作(例如,删除)和已与合适的标签(例如,“stack=production”标签)关联的资源来解决该请求(即,确定是准许还是拒绝请求)。
根据相同或另一个实施方案,可限制将某些标签应用于资源(即,通过对标签的使用设置访问控制策略)。如果允许任何人自由修改资源的任何标签,则具有加标签特权的用户将能够为任何或所有资源添加准许用户访问的标签,使得用户能够非预期地访问系统内的资源。在许多情况下,这是所不希望的。因此在各种实施方案中,可基于至少一个策略、规则集或其它这种机构来限制和控制对某些资源标签的设置。在本实施方案中,可创建指定被允许将一个或多个标签分配给资源的主体的访问控制策略。在一些实施方案中,访问控制可实施为与标签关联的访问控制列表(ACL)。当从用户接收到将标签添加至资源的请求(例如,API请求)时,系统可评估与标签关联的访问控制列表,并确定是否允许用户将标签分配给资源。如果访问控制列表允许添加标签,则准许请求,否则可拒绝请求。在一些实施方案中,全局命令、正规表达式和/或其它字符串匹配算法可用于指定允许哪些用户将特定标签添加至资源。由于每个标签可由关键字和值对组成,因此对访问控制策略的限制可基于(1)特定关键字和特定值的组合,或(2)基于特定关键字而无论可与其关联的任何值如何。在一些实施方案中,对特定关键字或关键字-值对的限制可存在例外。例如,可允许系统中的各个用户为应用程序(例如,“application=*”)添加任何标签,但是用户可不能为用于运行应用程序的栈资源(例如,“stack=*”)添加标签,例外的是,允许软件开发者为某些栈资源加上测试资源(例如,“stack=testing”)的标签。应注意,提供本说明书中描述的标签的任何实例仅仅是为了说明,而非用于限制本文描述的实施方案。
根据另一个实施方案,标签可用于将访问控制策略附加至资源。在本实施方案中,标签可与策略关联。当将标签添加至特定资源时,策略被应用于该资源。类似地,当将标签从资源移除时,也从资源移除了访问控制策略。如此,策略可与自由形式元数据关联,而非使访问控制策略与特定主体或资源关联。这可允许客户选择资源并指定哪些用户能够访问该资源(例如,通过添加使用正规表达式的标签),而无需对每个资源进行迭代并使策略与每个资源关联。由于标签与策略的映射在策略评估时已解决,因此策略是最新的。
图1示出了根据各种实施方案的允许客户引用访问控制策略中的标签的实例100。在图示的实施方案中,服务提供商的客户可将标签(110、112)指定为与用户101关联的访问控制策略104的条件(105、106)中的谓词。例如,用户“Bob”可具有指定“Bob”可删除带有“stack=production”标签的任何事物的策略。由于标签(110、111、112)可应用于系统上的任何资源(107、108、109),因此用户“Bob”可被准许访问带有该标签的任何异构资源。这允许以自由形式和非结构化的方式表达客户的许可模型。
根据实施方案,一旦客户已指定了用户访问控制策略104中的某些标签,当授权资源上的各种操作时,那些标签可用于控制用户许可。例如,如果用户的策略规定允许用户101删除任何带有标签110的资源,且如果资源107带有标签110,则系统将允许用户删除资源107。类似地,如果策略104规定允许用户101修改任何带有标签112的资源,且如果资源109带有标签112,则系统将允许用户修改资源109。如上所述,标签可与计算环境中的任何资源关联,包括但不限于虚拟机、主机计算装置、数据存储器、应用程序、数据库、虚拟网络或接口。在各种实施方案中,接口可以是具有互联网协议(IP)地址和安全组信息的虚拟网络接口。
根据实施方案,当用户101使用应用程序编程接口(API)102提交请求以访问资源时,身份和访问管理服务103可检索所有与请求有关的访问控制策略并对其进行评估。例如,用户101具有指定用户访问资源的各种限制的访问控制策略104。类似地,可存在与用户的组、被访问的特定资源或标签本身关联的访问控制策略,如本公开的剩余部分将进一步详细描述的那样。在一个实施方案中,身份和访问管理服务103可收集所有相关策略,将其连接在一起并对其进行评估以确定是否准许API请求。
在各种实施方案中,策略语言可由服务提供商提供,以允许客户表达用户访问控制策略104中的条件。语言可扩展,以便用户(例如,服务提供商的客户)可引用标签作为条件(105、106)。例如,用户“Bob”可以是被允许对生产基础设施做任何事的管理员。如此,如策略104所指定,当资源带有标签“stack=production”时,“Bob”可对任何资源执行任何动作。在这种情况下,客户可给虚拟机实例、主机计算装置、存储资源和其它资源加上标签“stack=production”。结果是,“Bob”可管理VM实例、主机计算装置和存储资源,即便这些资源可储存于系统的不同部分并执行不同功能。因此,用户“Bob”可具有异构地应用但同构地表达的许可。这样使用标签提供了跨越资源之间的任意边界将许可分组的灵活方式。
然而在某些情况下,如果允许任何用户自由修改任何资源上的任何标签,则用户可通过给资源加上准许其访问资源的标签来绕过一些安全措施。例如,如果用户的策略规定允许用户修改任何带有标签“stack=production”的资源,且如果对应用标签无限制,则用户可通过简单地给每个资源加上标签“stack=production”来获得对系统中任何资源的访问。在许多情况下,这是所不希望的。
图2示出了根据各种实施方案的利用访问控制策略限制资源上的标签的使用的实例200。在图示的实施方案中,标签是可使访问控制策略与其关联的一阶对象。例如,标签210与标签使用访问控制策略204关联,且标签211与标签使用访问控制策略205关联。根据实施方案,标签使用访问控制策略指定允许哪些主体(例如,用户)对哪些资源应用标签。例如,标签“stack=production”可与规定仅系统管理员或其它特许用户可给资源加上该特定标签的策略关联。应注意在各种实施方案中,并非所有的标签均与访问控制策略关联。许多标签(例如,描述项等)可无限制地自由添加,因此无需与访问控制策略关联。
标签可由关键字值对组成。在一些实施方案中,应用于标签的访问控制策略可基于关键字和值二者。例如,可基于关键字(例如,颜色)和值(例如,绿色)限制标签“color=green”。在其它实施方案中,应用于标签的访问控制策略可仅基于关键字,而不考虑特定值。例如,标签“color=*”可与访问控制策略关联,其中任何包含关键字(例如,颜色)的标签将遵循访问控制策略。在一些实施方案中,访问控制策略可能会有例外。例如,访问控制策略可指定不允许个体用户分配标签“stack=*”,例外的是,允许软件开发用户分配标签“stack=testing”。
根据图示的实施方案,当用户201提交将标签分配给特定资源的请求(例如,使用API202)时,身份和访问管理服务203可评估与该标签关联的访问控制策略。例如,如果用户提交将标签210添加至资源206的请求,则身份和访问管理服务203可评估标签使用访问控制策略204,并确定是否允许用户101将标签应用于资源。类似地,如果用户提交将标签211添加至资源207的请求,则身份和访问管理服务203可评估标签使用访问控制策略205,并确定是否允许用户101应用标签。如果策略允许用户分配标签,则标签可与资源关联,否则请求失败。
在一些实施方案中,全局命令(例如,模式匹配)、正规表达式或其它串匹配技术可用于控制哪些主体(例如,用户)可设置其标签。例如,可允许用户“Bob”设置匹配特定正规表达式或全局命令的标签。如果客户具有目录结构,则该结构可用于指定对用户可设置的标签的限制。例如,可授予用户管理目录“company/department/project/system/hostID/*”中的资源的标签的许可。另一个实例可以是正规表达式,其中可允许用户将标签应用于标题以特定字母开始并恰好包含4个数字的任何部门的目录中的资源。在各种实施方案的范围内可利用任何数量的正规表达式,如基于本公开的教导对本领域的普通技术人员而言将很显而易见的那样。
图3示出了根据各种实施方案的由于将标签分配给计算资源而使资源访问控制策略与该计算资源关联的实例300。在图示的实施方案中,标签307可与资源访问控制策略305关联。资源访问控制策略305指定哪些用户可对将带有标签307的资源执行操作。在各种实施方案中,当用户首先提交将标签307添加至资源的请求时,系统可确定是否允许用户添加标签,如果用户确实具有添加标签的适当许可,则允许用户将标签添加至资源。如果将标签添加至了资源,则将对与标签关联的资源访问控制策略进行评估,作为任何访问资源请求的一部分。
根据图示的实施方案,当用户301提交访问资源306的请求时,身份和访问管理服务303可收集所有与请求有关的访问控制策略(例如,用户的访问控制策略、资源访问控制策略305等)并对其进行评估。由于标签307被应用于资源306,因此无论何时接收到任何访问资源306的请求,将对资源访问控制策略305进行评估作为控制访问该请求的一部分。类似地,如果将标签307从资源306移除,则将不会再对进入的访问资源306的请求进行资源访问控制策略305的评估。
如此,策略305可借助应用于资源的标签与任何资源关联,而非明确地使访问控制策略与特定资源关联。这可允许客户选择资源并指定哪些用户能够访问该资源(例如,通过添加使用正规表达式的标签),而无需对每个资源进行迭代并使策略与每个资源关联。由于标签与策略的映射在策略评估时已解决,因此策略是最新的。
应注意,尽管图1-3示出了身份和访问管理服务,但这并非是对本文描述的各种实施方案的限制。在替代实施方案中,系统的任何其它组件(或多个组件的组合)可用于评估策略、分配标签并执行本文描述的其它功能。
图4A示出了根据各种实施方案的为客户提供计算资源的服务提供商的资源中心环境400的实例。在图示的实施方案中,服务提供商(例如,云计算资源供应商)可维持一个或多个资源中心423(例如,数据中心、服务器群等),其存储服务提供商的物理资源(例如,主机服务器等)。这些物理资源可用于托管可通过网络402(例如,互联网)向用户401提供的许多虚拟机实例或虚拟服务器。例如,当用户想要使用服务提供商的物理资源执行应用程序时,其可请求服务提供商为用户提供虚拟机,该虚拟机将用于部署并执行应用程序。随着对用户应用程序需求的增长,用户可请求提供更多虚拟机以平衡负载,请求创建一个或多个虚拟专用网络(VPN)等。
在所图示的实例中,服务提供商的资源中心423可包括主机服务器(406、407、408、409、410)的一个或多个机架421、422,其中特定机架上的每个主机连接至单个架顶式(TOR)交换机(404、405)。这些TOR交换机可进一步连接至一个或多个其它交换机(424、425),这使得主机服务器能够连接至网络。如本公开通篇所用,网络可以是能够彼此通信的装置的任何有线或无线网络,包括但不限于互联网或其它广域网(WAN)、蜂窝网络、局域网(LAN)、存储区域网络(SAN)、内联网、外联网等。资源中心可包括资源的任何物理或逻辑分组,诸如数据中心、服务器群、内容传递网络(CDN)、存在点(POP)等。
根据实施方案,每个主机服务器可托管已被提供给服务提供商的客户的一个或多个虚拟机实例(413、414、415、416、417、418、419),以代表那些客户执行各种应用程序和服务。每个虚拟机可配置有其自己的操作系统(OS),包括内核、驱动器、过程管理等。
当客户想要获取虚拟机实例时,其可首先向服务提供商提交请求,指示其想要使用的VM类型。服务提供商可执行过程以提供将被托管在服务提供商的物理资源(例如,主机)上的虚拟机实例。然后,可代表利用服务提供商的资源的客户使用虚拟机实例来执行各种应用程序和服务。
图4B示出了根据各种实施方案的示出标签服务和保存标签的标签数据存储器的环境450的实例。在图示的实施方案中,与将自由形式元数据应用于计算资源有关的功能可由标签服务451(例如,一个或多个一起操作以实现分布式系统的计算机系统)实现。在实例实施方案中,标签服务451可与实现用于给计算环境内的资源(例如,资源455)加标签的接口的网络服务器关联。这里,标签服务451可通过网络(例如,通过交互式控制台或环境提供的其它GUI)从用户401、从用户的自动开始执行其它程序或其自身的其它实例的执行程序、从编程工具(例如,命令行工具、集成开发环境等)、从通过由环境提供的应用程序编程接口(“API”)(例如,使用网络服务的API)与标签服务相互作用的程序等接收给资源加标签的请求。
响应于接收到给资源455加标签的请求,标签服务451可生成指示标签456的自由形式元数据,并使标签456与数据存储器中的资源标识符457关联。此外,标签服务451可存储创建标签456时的时间戳、创建标签456的用户的身份等。例如,如果用户使用基于网络的控制台创建标签“stack=production”,则标签服务451可在标签数据存储器452中创建包括关键字/值对“stack=production”的数据输入。且当用户401使标签456与资源455关联时,标签服务451可将用于资源的资源标识符457添加至数据输入。在实施方案中,在关系被持久存留在标签数据存储器452中之后,标签服务451可向控制资源的服务453发送消息(例如,网络服务请求),且服务453可使标签与资源关联。例如,假设资源455为用于启动虚拟机的机器图像,则标签服务451可向可操作以管理机器图像的服务(例如,资源管理服务453)发送消息以将标签456添加至机器图像(即资源455)的元数据,且服务453可应用该元数据。
在对标签的使用存在访问控制限制的实施方案中,当用户401尝试使标签456与资源455关联时,标签服务451可调用身份和访问管理服务453以验证用户401具有将标签456应用于资源455所必需的许可。在用户401被授权将标签456应用于资源455的实例中,身份和访问管理服务453可用确认来响应请求,且标签服务451可将关系存储在标签数据存储器452内。
在访问控制策略可与标签456关联的实施方案中,管理员可使用由网络服务器(例如,交互式控制台)实现的接口创建访问控制策略459,并使策略459与标签关联。响应于请求,且假设用户具有所必需的许可,身份和访问管理服务453可将策略459存储在与指示标签456的信息(例如,标签ID)关联的身份和访问管理数据存储器458内。然后,身份和访问管理服务453可向标签服务451发送消息(例如,网络服务请求)以将策略指示符或策略本身存储在标签数据存储器452中。在标签456与资源455关联之后,身份和访问管理服务453可对其进行处理以确定是拒绝还是允许用户请求中指定的动作。例如,在策略使动作与标签(例如,Bob可删除带有标签“stack=production”的资源)关联的实例中,身份和访问管理服务453可确定请求中所指定的动作是否为“删除”,并确定资源是否带有标签“stack=production”的(例如,通过读取与资源关联的元数据),并拒绝或准许该请求。类似地,当标签456与策略459关联时,身份和访问管理服务453可读取与资源关联的元数据以检测标签456,并使用标签456检索与身份和访问管理服务453关联的数据存储器458以找到与其关联的策略459,并评估策略459以确定是准许还是拒绝该请求。
图5示出了根据各种实施方案的允许客户引用访问控制策略中的标签的实例过程500。虽然该图可以特定序列描绘功能操作,但是过程不一定限于所图示的特定顺序或操作。本领域的技术人员将理解,在该图或其它图中描绘的各种操作可被改变、重新布置、并行执行或以多种方式进行适应性改变。此外,应理解,在不脱离于各种实施方案的范围的情况下,某些操作或操作序列可添加至过程或从操作中省略。此外,本文包含的过程说明旨在向本领域的普通技术人员展现过程流程的想法,而非指定代码执行的实际序列,过程可实现为不同的流程或序列,针对性能进行优化,或另外以各种方式进行修改。
在操作501,服务提供商提供一个或多个计算资源以供客户访问。计算资源可包括任何硬件资源、软件资源或其组合,包括虚拟机、主机计算装置、存储装置、应用程序、数据库、接口和可用于代表客户提供服务的任何其它资源。
在操作502,客户能够将标签分配给服务提供商提供的一个或多个计算资源。例如,客户可给某些虚拟机加上生产资源的标签,而其它虚拟机可被加上测试资源等的标签。在一些实施方案中,每个标签可由关键字和值组成。关键字和值可与任何给定的资源关联以提供有关该资源的信息。
在操作503,提供了访问控制策略。在一个实施方案中,访问控制策略与主体(例如,用户)关联。在其它实施方案中,访问控制策略可与资源、标签等关联,如本公开通篇所描述的那样。
在操作504,可在与用户关联的访问控制策略中引用(例如,指定)标签。具体而言,可在控制用户访问的一个或多个条件中引用标签。例如,策略可包括允许用户修改或删除任何带有标签“stack=testing”的资源的条件。
在操作505,从用户接收到了对已加标签的一个或多个计算资源执行操作的请求。例如,请求可以是请求删除资源的API调用。
在操作506,对访问控制策略进行评估,包括已在条件中引用的标签。如果访问控制策略被评估为允许用户执行请求,则执行操作,否则请求被拒绝或失败,如操作507所示。
图6示出了根据各种实施方案的利用访问控制策略限制资源上的标签的使用的实例过程600。在操作601,对标签应用访问控制策略。访问控制策略指定允许哪些主体应用标签以及允许主体对哪些资源应用标签。在操作602,从用户接收到将标签分配给至少一个计算资源的请求。在操作603,系统对应用于标签的策略进行评估以确定是否允许用户分配标签。在操作604,如果访问控制策略允许请求,则将标签分配给计算资源。否则,请求可拒绝或失败。
图7示出了根据各种实施方案的由于将标签分配给计算资源而使访问控制策略与该计算资源关联的实例过程700。在操作701,使标签与第一策略和第二策略关联。第一策略可识别允许哪些主体将标签分配给哪些资源,而第二策略识别允许对带有该标签的计算资源执行的操作。
在操作702,从用户接收到将标签应用于计算资源的请求。例如,用户可提交API请求以给虚拟机加上标签“stack=production”。在操作703,系统对指定允许用户应用该标签的第一访问控制策略进行评估。在操作704,如果第一策略被评估为允许该请求,则系统将标签分配给计算资源。
在操作705,接收到对计算资源执行操作的请求。在操作706,系统评估所有与请求有关的策略,包括与标签关联的第二访问控制策略。对所有策略进行了评估以授权执行操作的请求。在操作707,如果第二访问控制策略被评估为允许用户执行操作,则授权对资源执行操作的请求。
可根据以下条款描述本公开的各种实施方案:
1.一种用于使用标签控制资源访问的计算机实施的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
由服务提供商提供一个或多个计算资源,将所述一个或多个计算资源提供给多租户环境中的客户;
使访问控制策略与帐户的用户关联,所述访问控制策略将元数据指定为用于控制访问所述一个或多个计算资源的条件的一部分;
从用户接收应用程序编程接口(API)调用以对所述一个或多个计算资源执行操作;
响应于API调用而对包括所述访问控制策略中指定的元数据的访问控制策略进行评估;以及
至少部分地基于所述访问控制策略中指定的元数据授权API调用对所述一个或多个计算资源执行操作。
2.根据条款1所述的计算机实施的方法,其中元数据包括一个或多个标签,每个标签包括帐户管理员选择的关键字值对。
3.根据条款1所述的计算机实施的方法,其中如果元数据与一个或多个计算资源关联,则访问控制策略识别允许由用户执行的一个或多个操作。
4.一种计算机实施的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
使标签与计算资源关联,所述标签包括指定关键字和值的自由形式字符串;
接收对所述计算资源执行操作的请求;
评估访问控制策略,所述访问控制策略引用标签作为使用所述计算资源的条件;以及
至少部分地基于评估访问所述控制策略并确定标签是否与所述计算资源关联来解决执行操作的请求。
5.根据条款4所述的计算机实施的方法,其中所述计算资源为:
虚拟机实例、主机计算装置、应用程序、存储装置、数据库、包括多个虚拟机的虚拟网络,或接口。
6.根据条款4所述的计算机实施的方法,其中所述访问控制策略使用策略语言创建。
7.根据条款4所述的计算机实施的方法,其中如果标签与资源关联,则所述访问控制策略与用户关联并识别允许由用户执行的一个或多个操作。
8.根据条款4所述的计算机实施的方法,其中解决请求由身份访问管理服务执行,所述身份访问管理服务被配置成:
收集所有与执行操作的请求有关的访问控制策略;以及
评估所有访问控制策略以准许或拒绝对执行操作的授权,其中评估至少部分地基于与计算资源关联的标签。
9.根据条款4所述的计算机实施的方法,其进一步包括:
由服务提供商向其客户提供计算资源,所述计算资源在多租户共享资源环境下提供;以及
使得客户能够通过调用应用程序编程接口(API)将标签分配给计算资源。
10.根据条款4所述的计算机实施的方法,其中访问控制策略与以下至少其中之一关联:用户、用户组或所述至少一个计算资源。
11.一种计算系统,其包括:
至少一个处理器;和
存储器,其包括当由所述至少一个处理器执行时使得计算系统执行以下操作的指令:
使一个或多个标签与至少一个计算资源关联,所述一个或多个标签的至少其中之一包括指定关键字和值的自由形式字符串;
接收对所述至少一个计算资源执行操作的请求;
评估访问控制策略,所述访问控制策略引用一个或多个标签作为执行操作的条件的至少一部分;以及
至少部分地基于评估访问控制策略来解决执行操作的请求。
12.根据条款11所述的计算系统,其中所述至少一个计算资源进一步包括一个或多个:
虚拟机实例、存储在数据存储服务中的数据、应用程序、存储装置、数据库、包括多个虚拟机的虚拟网络,或接口。
13.根据条款11所述的计算系统,其中通过使用可用于表达访问控制策略的策略语言在条件中引用一个或多个标签。
14.根据条款11所述的计算系统,其中如果满足条件,则访问控制策略与用户关联并识别允许由用户执行的一个或多个操作,所述条件至少部分地基于所述一个或多个标签。
15.根据条款11所述的计算系统,其中控制授权由身份访问管理服务执行,所述身份访问管理服务被配置成:
收集所有与执行操作的请求有关的访问控制策略;以及
评估所有访问控制策略以准许或拒绝对执行操作的授权,其中评估至少部分地基于与所述至少一个计算资源关联的所述一个或多个标签。
16.根据条款11所述的计算系统,其中所述访问控制策略与以下至少其中之一关联:用户、用户组或所述至少一个计算资源。
17.根据条款11所述的计算系统,其中所述存储器进一步包括当由所述至少一个处理器执行时使得所述计算系统执行以下操作的指令:
由服务提供商向其客户提供至少一个计算资源,所述至少一个计算资源在多租户共享资源环境下提供;以及
使得客户能够通过调用应用程序编程接口(API)将所述一个或多个标签分配给所述至少一个计算资源。
18.一种非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行包括以下的一组操作的一个或多个指令序列:
使一个或多个标签与至少一个计算资源关联,所述一个或多个标签的每一个包括指定关键字和值的自由形式字符串;
接收对所述至少一个计算资源执行操作的请求;
评估访问控制策略,所述访问控制策略引用所述一个或多个标签作为控制访问所述至少一个计算资源的条件的至少一部分;
至少部分地基于评估所述访问控制策略来控制访问以执行操作。
19.根据条款18所述的非暂时性计算机可读存储介质,其中所述至少一个计算资源进一步包括一个或多个:
虚拟机实例、主机计算装置、应用程序、存储装置、数据库、包括多个虚拟机的虚拟网络,或接口。
20.根据条款18所述的非暂时性计算机可读存储介质,其中所述访问控制策略使用策略语言创建。
21.根据条款18所述的非暂时性计算机可读存储介质,其中如果满足条件,则所述访问控制策略与用户关联并识别允许由用户执行的一个或多个操作,所述条件至少部分地基于所述一个或多个标签。
22.根据条款18所述的非暂时性计算机可读存储介质,其中控制授权由身份访问管理服务执行,所述身份访问管理服务被配置成:
收集所有与执行操作的请求有关的访问控制策略;以及
评估所有访问控制策略以准许或拒绝对执行操作的授权,其中评估至少部分地基于与请求关联的上下文信息以及与所述至少一个计算资源关联的所述一个或多个标签。
23.根据条款18所述的非暂时性计算机可读存储介质,其中所述访问控制策略与以下至少其中之一关联:用户、用户组或所述至少一个计算资源。
24.一种用于控制元数据与资源的关联的计算机实施的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
使访问控制列表与元数据关联,所述访问控制列表指定被允许分配、修改或删除元数据的主体,以及所述主体被允许为其分配、修改或删除元数据的计算资源,其中所述元数据可用于确定是准许还是拒绝对所述计算资源的操作;
从用户接收将元数据分配给至少一个计算资源的请求;
响应于接收将所述元数据分配给所述至少一个计算资源的请求而评估所述访问控制列表;以及
在确定用户与所述访问控制列表中指定的主体的至少其中之一相匹配之后使所述元数据与所述至少一个计算资源关联。
25.根据条款24所述的计算机实施的方法,其进一步包括:
引用与用户关联的访问控制策略中的元数据,所述元数据引用用作控制用户访问资源的条件的一部分;
接收对所述至少一个计算资源执行操作的请求;以及
至少部分地基于所述访问控制策略中指定为条件的一部分的元数据解决对所述至少一个计算资源执行操作的请求。
26.根据条款24所述的计算机实施的方法,其中所述访问控制列表中应用了串模式匹配算法以识别允许哪些主体分配哪些元数据标签。
27.一种计算机实施的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
从用户接收将标签应用于至少一个计算资源的请求,所述标签与访问控制策略关联,其中所述标签可用于确定是准许还是拒绝对计算资源的操作;
评估所述访问控制策略以确定用户是否被允许将标签应用于所述至少一个计算资源;以及
如果确定用户被允许应用标签,则使标签与所述至少一个计算资源关联。
28.根据条款27所述的计算机实施的方法,其中所述访问控制策略指出被允许将标签应用于所述至少一个计算资源的一个或多个主体;且
其中评估所述访问控制策略包括确定用户是否与所述一个或多个主体相匹配。
29.根据条款27所述的计算机实施的方法,其中所述标签包括指定关键字和值的自由形式字符串。
30.根据条款29所述的计算机实施的方法,其中所述访问控制策略包括至少部分地基于关键字和任何值的至少一个限制。
31.根据条款29所述的计算机实施的方法,其中所述访问控制策略包括至少部分地基于(a)关键字和(b)标签中指定的值二者的至少一个限制。
32.根据条款27所述的计算机实施的方法,其中如果对所述访问控制策略的评估不允许用户应用标签,则将标签应用于所述至少一个计算资源的请求被拒绝。
33.根据条款27所述的计算机实施的方法,其中所述访问控制策略中应用了串模式匹配算法以指定允许哪些主体应用元数据标签。
34.根据条款27所述的计算机实施的方法,其中所述计算资源包括以下内容的至少其中之一:
虚拟机实例、主机计算装置、应用程序、存储装置、数据库、包括多个虚拟机的虚拟网络,或接口。
35.根据条款27所述的计算机实施的方法,其中所述至少一个计算资源包括至少一个由服务提供商在多租户计算环境下提供给用户的虚拟机。
36.根据条款35所述的计算机实施的方法,其中从用户接收应用标签的请求进一步包括:
通过网络接收应用程序编程接口(API)调用,所述API由服务提供商在多租户计算环境下提供。
37.一种计算系统,其包括:
至少一个处理器;和
存储器,其包括由所述至少一个处理器执行时使得计算系统执行以下操作的指令:
从用户接收将标签应用于至少一个计算资源的请求,所述标签与访问控制策略关联,其中所述标签可用于确定是准许还是拒绝对计算资源的操作;
评估所述访问控制策略以确定是否允许用户将标签应用于所述至少一个计算资源;以及
如果确定用户被允许应用标签,则使标签与所述至少一个计算资源关联。
38.根据条款37所述的计算系统,其中所述标签包括指定关键字和值的自由形式字符串。
39.根据条款38所述的计算系统,其中所述访问控制策略包括至少部分地基于所述关键字和任何值的至少一个限制。
40.根据条款38所述的计算系统,其中所述访问控制策略包括至少部分地基于(a)关键字和(b)与标签中指定的关键字关联的值二者的至少一个限制。
41.根据条款37所述的计算系统,其中如果所述访问控制策略被评估为不允许用户应用标签,则将标签应用于所述至少一个计算资源的请求失败。
42.根据条款37所述的计算系统,其中所述访问控制策略中应用了串模式匹配算法以指定允许哪些主体应用元数据标签。
43.一种非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行一组以下操作的一个或多个指令序列:
从用户接收将标签应用于至少一个计算资源的请求;所述标签与访问控制策略关联;
评估所述访问控制策略以确定是否允许用户将标签应用于所述至少一个计算资源;以及
如果确定允许用户应用标签,则使标签与所述至少一个计算资源关联。
44.根据条款42所述的非暂时性计算机可读存储介质,其中所述元数据标签包括指定关键字和值的自由形式字符串。
45.根据条款44所述的非暂时性计算机可读存储介质,其中所述访问控制策略包括至少部分地基于所述关键字和任何值的至少一个限制。
46.根据条款44所述的非暂时性计算机可读存储介质,其中所述访问控制策略包括至少部分地基于(a)关键字和(b)标签中指定的值二者的至少一个限制。
47.根据条款42所述的非暂时性计算机可读存储介质,其中如果对所述访问控制策略的评估不允许用户应用标签,则将标签应用于所述至少一个计算资源的请求被拒绝。
48.一种用于使用标签控制资源访问的计算机实施的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
使第一访问控制策略和第二访问控制策略与元数据标签关联,所述第一访问控制策略识别允许哪些主体将元数据标签分配给至少一个计算资源,所述第二访问控制策略识别允许或不允许对与所述元数据标签关联的资源执行的操作;
使用应用程序编程接口(API)从用户接收将所述元数据标签分配给所述至少一个计算资源的请求;
评估所述第一访问控制策略,并响应于确定所述第一访问控制策略允许用户分配所述元数据标签而将所述元数据标签分配给所述计算资源;
接收对计算资源执行操作的请求;
评估与所述元数据标签关联的所述第二访问控制策略;以及
至少部分地基于对所述第二访问控制策略的评估授权对所述计算资源执行操作的请求。
49.根据条款48所述的计算机实施的方法,其进一步包括:
使用API接收从所述计算资源移除所述元数据标签的请求;以及
评估所述第一访问控制策略,并响应于确定所述第一访问控制策略允许用户移除所述元数据标签而将所述元数据标签从所述计算资源移除;
接收对所述计算资源执行操作的第二请求,所述第二请求在已从所述计算资源移除所述元数据标签之后接收到;以及
执行所述第二请求的授权而无需评估所述第二访问控制策略。
50.根据条款48所述的计算机实施的方法,其中评估所述第二访问控制策略进一步包括:
除一个或多个与对所述计算资源执行操作的请求有关的其它访问控制策略之外,使身份管理服务检索所述第二访问控制策略。
51.一种计算机实施的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
从用户接收访问计算资源的请求,所述计算资源具有与之关联的自由形式元数据;
检索与所述自由形式元数据关联的访问控制策略;以及
至少部分地基于与所述计算资源关联的自由形式元数据评估所述访问控制策略以控制对所述计算资源的访问。
52.根据条款48所述的计算机实施的方法,其中所述访问控制策略识别允许对所述计算资源执行的一个或多个操作。
53.根据条款48所述的计算机实施的方法,其中所述自由形式元数据进一步包括指定关键字和值的至少一个字符串。
54.根据条款48所述的计算机实施的方法,其中所述自由形式元数据通过以下与所述计算资源关联:
从用户接收将所述自由形式元数据添加至所述计算资源的请求;
响应于添加所述自由形式元数据的请求而评估第二访问控制策略,所述第二访问控制策略识别允许哪些用户将所述自由形式元数据分配给所述计算资源;以及
如果对所述第二访问控制策略的评估允许用户将所述自由形式元数据添加至所述计算资源,则使所述自由形式元数据与所述计算资源关联。
55.根据条款48所述的计算机实施的方法,其中响应于接收到对所述计算资源执行操作的请求,身份管理服务检索所述访问控制策略和与用户关联的至少一个附加访问控制策略,并评估所述访问控制策略和所述至少一个附加访问控制策略以准许或拒绝执行操作的请求。
56.根据条款48所述的计算机实施的方法,其进一步包括:
接收从所述计算资源移除所述自由形式元数据的请求;以及
评估第二访问控制策略,并响应于确定所述第二访问控制策略允许用户移除所述自由形式元数据而将所述自由形式元数据从所述计算资源移除;
接收对所述计算资源执行操作的第二请求,所述第二请求在已将所述自由形式元数据从所述计算资源移除之后接收到;以及
执行所述第二请求的授权而无需评估所述访问控制策略。
57.根据条款48所述的计算机实施的方法,其中使所述访问控制策略与所述计算资源关联在进行策略评估时执行。
58.根据条款48所述的计算机实施的方法,其中所述计算资源包括以下内容的至少其中之一:
虚拟机实例、主机计算装置、应用程序、存储装置、数据库、包括多个虚拟机的虚拟网络,或接口。
59.一种计算系统,其包括:
至少一个处理器;和
存储器,其包括由所述至少一个处理器执行时使得计算系统执行以下操作的指令:
从用户接收访问计算资源的请求,所述计算资源具有与之关联的自由形式元数据;
检索与所述自由形式元数据关联的访问控制策略;以及
至少部分地基于与所述计算资源关联的自由形式元数据评估所述访问控制策略以控制对所述计算资源的访问。
60.根据条款59所述的计算系统,其中所述访问控制策略识别允许对所述计算资源执行的一个或多个操作。
61.根据条款59所述的计算系统,其中所述自由形式元数据通过以下与所述计算资源关联:
从用户接收将所述自由形式元数据添加至所述计算资源的请求;
响应于添加所述自由形式元数据的请求而评估第二访问控制策略,所述第二访问控制策略识别允许哪些用户将所述自由形式元数据分配给所述计算资源;以及
如果对所述第二访问控制策略的评估允许用户将所述自由形式元数据添加至所述计算资源,则使所述自由形式元数据与所述计算资源关联。
62.根据条款59所述的计算系统,其中所述自由形式元数据进一步包括指定关键字和值的至少一个字符串。
63.根据条款59所述的计算系统,其中响应于接收到对所述计算资源执行操作的请求,身份管理服务检索所述访问控制策略和与用户关联的至少一个附加访问控制策略,并评估所述访问控制策略和所述至少一个附加访问控制策略以准许或拒绝执行操作的请求。
64.根据条款59所述的计算系统,其中所述存储器进一步包括使所述计算系统执行以下操作的指令:
接收从所述计算资源移除所述自由形式元数据的请求;
评估第二访问控制策略,并响应于确定所述第二访问控制策略允许用户移除所述自由形式元数据而将所述自由形式元数据从所述计算资源移除;
接收对所述计算资源执行操作的第二请求,所述第二请求在已将所述自由形式元数据从所述计算资源移除之后接收到;以及
执行所述第二请求的授权而无需评估所述访问控制策略。
65.一种非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行一组以下操作的一个或多个指令序列:
从用户接收访问计算资源的请求,所述计算资源具有与之关联的自由形式元数据;
检索与所述自由形式元数据关联的访问控制策略;以及
至少部分地基于与所述计算资源关联的自由形式元数据评估所述访问控制策略以控制对所述计算资源的访问。
66.根据条款65所述的非暂时性计算机可读存储介质,其中所述访问控制策略识别允许对所述计算资源执行的一个或多个操作。
67.根据条款65所述的非暂时性计算机可读存储介质,其中所述自由形式元数据通过以下与所述计算资源关联:
从用户接收将所述自由形式元数据添加至所述计算资源的请求;
响应于添加所述自由形式元数据的请求而评估第二访问控制策略,所述第二访问控制策略识别允许哪些用户将所述自由形式元数据分配给所述计算资源;以及
如果对所述第二访问控制策略的评估允许用户将所述自由形式元数据添加至所述计算资源,则使所述自由形式元数据与所述计算资源关联。
68.根据条款65所述的非暂时性计算机可读存储介质,其中所述自由形式元数据进一步包括指定关键字和值的至少一个字符串。
69.根据条款67所述的非暂时性计算机可读存储介质,其中响应于接收到对所述计算资源执行操作的请求,身份管理服务检索所述访问控制策略和与用户关联的至少一个附加访问控制策略,并评估所述访问控制策略和所述至少一个附加访问控制策略以准许或拒绝执行操作的请求。
70.根据条款65所述的非暂时性计算机可读存储介质,其进一步包括用于执行以下操作的指令:
接收从所述计算资源移除所述自由形式元数据的请求;以及
评估第二访问控制策略,并响应于确定所述第二访问控制策略允许用户移除所述自由形式元数据而将所述自由形式元数据从所述计算资源移除;
接收对所述计算资源执行操作的第二请求,所述第二请求在已将所述自由形式元数据从所述计算资源移除之后接收到;以及
执行所述第二请求的授权而无需评估所述访问控制策略。
图8示出了实例计算装置800的一组通用组件的逻辑布置。在本实例中,装置包括用于执行可存储在存储器装置或元件804中的指令的处理器802。如对本领域的普通技术人员将显而易见的是,装置可包括许多类型的存储器、数据存储或非临时性计算机可读存储媒介,诸如用于供处理器802执行的程序指令的第一数据存储、用于图像或数据的单独存储、用于与其它装置共享信息的可移动存储器等。装置通常将包括某些类型的显示器元件806,诸如触摸屏或液晶显示器(LCD),但是诸如便携式媒介播放器的装置可经由其它装置(诸如通过扬声器)传达信息。如所讨论,在许多实施方案中的装置将包括至少一个输入元件808,其能够接收来自用户的常规输入。该常规输入可包括,例如按钮、触摸板、触摸屏、滚轮、操纵杆、键盘、鼠标、小键盘或任何其它此类装置或元件,由此,用户可向装置输入命令。然而,在一些实施方案中,这种装置可能不包括任何按钮,并且可能仅通过可视和语音命令的组合被控制,使得用户可控制装置而无需与装置接触。在一些实施方案中,图8的计算装置800可包括一个或多个网络接口元件808,其通过各种网络,诸如Wi-Fi、蓝牙、RF、有线或无线通信系统进行通信。在许多实施方案中的装置可与网络(诸如互联网)通信,并且可能能够与其它此类装置通信。
如所讨论,根据所描述的实施方案,不同的方法可在各种环境中实施。例如,图9示出了根据各种实施方案的用于实施方面的环境900的实例。如将理解,虽然基于网络的环境是用于解释,但是可适当使用不同环境来实施各种实施方案。系统可包括电子客户端装置902,其可包括任何适当的装置,所述适当的装置可操作以通过适当网络904发送并接收请求、消息或信息,并将信息传达回装置的用户。此类客户端装置的实例包括个人计算机、移动电话、手持式通讯装置、膝上型计算机、机顶盒、个人数据助理、电子书阅读器等。网络可包括任何适当的网络,包括内联网、互联网、蜂窝网络、局域网或任何其它此类网络或其组合。用于此类系统的组件可至少部分依赖于所选择的网络和/或环境的类型。用于经由此类网络进行通信的协议和组件已被熟知,且此处将不进行详细讨论。通过网络的通信可经由有线或无线连接及其组合来实现。在本实例中,网络包括互联网,而环境包括用于接收请求并响应于此而服务内容的网络服务器906,但是对于其它网络,可使用用于类似目的的替代装置,如将对本领域的普通技术人员显而易见。
所图示的环境包括至少一个应用程序服务器908和数据存储器910。应理解,可以存在可被链接或以别的方式被配置、可以交互以执行任务(诸如,从适当数据存储器获得数据)的若干应用服务器、层或其它元件、过程或组件。如本文中所使用,术语“数据存储器”是指能够存储、访问和检索数据的任何装置或装置组合,其可以包括任何标准、分布式或群集环境中的任何组合和数量的数据服务器、数据库、数据存储装置和数据存储介质。应用程序服务器可以包括根据需要与数据存储器整合以执行用于客户端装置的一个或多个应用的方面和处理应用的大多数数据访问和业务逻辑的任何适当硬件和软件。应用程序服务器结合数据存储提供访问控制服务,并且能够生成将传送至用户的内容,诸如文本、图像、音频和/或视频,其可以通过网络服务器以HTML、XML或本实例中另一适当的结构化语言由网络服务器提供给用户。所有请求和响应的处理,以及客户端装置902与应用程序服务器908之间的内容的传递可由网络服务器906来处理。应理解,由于此处讨论的结构化代码可以在本文其它地方讨论的任何适当的装置或主机上执行,因此网络服务器和应用程序服务器不是必需的,而仅仅是实例组件。
数据存储器910可包括若干独立的数据表、数据库或用于存储与特定方面相关的数据的其它数据存储机构和媒介。例如,所图示的数据存储包括用于存储可用于为生产方提供内容的生产数据912和用户信息916的机构。还示出了包括用于存储日志或会话数据914的机构的数据存储器。应理解,可存在需要存储于数据存储器中的许多其它方面(例如,页面图像信息和访问权信息),其可以视情况存储于上文所列任何机构中或数据存储器910中的附加机构中。数据存储器910可通过与其关联的逻辑操作以从应用程序服务器908接收指令,并响应于指令而获得、更新或以别的方式处理数据。在一个实例中,用户可以提交针对某种类型的项目的搜索请求。在这种情况下,数据存储器可以访问用户信息以验证用户的身份,且可以访问目录详细信息以获得关于该类型的项目的信息。然后,信息可以返回至用户,例如,在用户能够经由用户装置902上的浏览器查看网页上列出的结果中。可以在浏览器的专用页面或窗口中查看针对所关注的特定项目的信息。
每个服务器通常将包括操作系统,其提供用于该服务器的一般管理和操作的可执行程序指令,并且通常将包括用于存储指令的计算机可读存储介质,当指令由服务器的处理器执行时,允许服务器执行其预定功能。操作系统的合适实施方式和服务器的一般功能是已知的或可在市场上购得,且易于由本领域的普通技术人员尤其是根据本文的公开内容实现。
在一个实施方案中,环境是采用利用计算机系统和组件的分布式计算环境,系统和部件使用一个或多个计算机网络通过通信链路进行互联或直接连接。然而,本领域普通技术人员将理解,这样的系统可以同样很好地在具有比图9中所示的组件更少或更多数量的组件的系统中操作。因此,在图9中对系统900的描述实质上应被看作是说明性的,而非限制本公开的范围。
此处讨论或建议的实施方案可以在多种广泛的操作环境中进一步实施,在某些情况下所述操作环境可以包括一个或多个用户计算机、计算装置或处理装置,这些装置可用于操作许多应用程序中的任何一个。用户或客户端装置可以包括许多通用个人计算机中的任何一个,诸如运行标准操作系统的台式计算机或膝上型计算机,以及运行移动软件和能够支持多种网络和通讯协议的蜂窝、无线和手持装置。此类系统还可以包括多个工作站,工作站可以运行许多市售操作系统和用于例如开发和数据库管理目的的其它已知应用程序中的任何一个。这些装置还可以包括其它电子装置,例如虚拟终端、瘦客户端、游戏系统和能够经由网络通信的其它装置。
大多数实施方案利用本领域技术人员所熟悉的至少一种网络,并使用各种商用协议(诸如TCP/IP、OSI、FTP、UPnP,NFS、CIFS和AppleTalk)中的任意协议来支持通信。网络可以是例如局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网络、红外网络、无线网络及其任意组合。
在利用网络服务器的实施方案中,网络服务器可以运行各种服务器或中间层应用程序中的任意程序,其包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商务应用服务器。服务器还可能够诸如通过执行一个或多个网络应用程序来执行程序或脚本而响应于来自用户装置的请求,一个或多个网络应用程序可以被实施为以任何编程语言(例如
Figure BDA0000783387040000271
C、C#或C++)或任何脚本语言(例如Perl、Python或TCL)及其组合编写的一个或多个脚本或程序。服务器还可以包括数据库服务器,其包括但不限于那些来自于
Figure BDA0000783387040000272
Figure BDA0000783387040000273
的市售数据库服务器。
环境可以包括如上讨论的各种数据储存和其它存储器以及存储媒介。这些可以驻留在各个位置上,例如相对于一个或多个计算机为本地(和/或驻留在一个或多个计算机中)或相对于跨网络的任何或所有计算机为远程的存储媒介上。在特定的实施方案设置中,信息可以驻留在本领域技术人员所熟知的存储区域网络(“SAN”)中。类似地,用于执行计算机、服务器或其它网络装置所具功能的任何必要文件可以视情况进行本地和/或远程存储。在包括计算化装置的系统中,每个此类装置可包括可以经由总线电气耦接的硬件元件,元件包括例如至少一个中央处理单元(CPU)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。此类系统还可以包括一个或多个存储装置,例如磁盘驱动器、光存储装置和固态存储装置,诸如随机存取存储器(“RAM”)或只读存储器(“ROM”),以及可移动媒介装置、存储卡、闪存卡等。
此类装置还可包括计算机可读存储媒介读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外通信装置等)和如上所述的工作存储器。计算机可读存储媒介读取器可以与计算机可读存储媒介连接,或配置成接收计算机可读存储媒介,其中计算机可读存储媒介表示远程、本地、固定和/或可移动存储装置,以及用于暂时和/或更持久包含、存储、传输和检索计算机可读信息的存储媒介。系统和各种装置通常还将包括多种软件应用程序、模块、服务或位于至少一个工作存储装置内的其它元件,其包括操作系统和应用程序,诸如客户端应用程序或网络浏览器。应当理解,替代实施方案可具有与以上描述的内容不同的许多变化。例如,也可以使用定制硬件,且/或特定元件可以在硬件、软件(包括可移植软件,诸如小应用程序)或两者中实施。进一步而言,可以采用至其它计算装置(诸如,网络输入/输出装置)的连接。
用于包含代码或部分代码的存储媒介和计算机可读媒介可以包括本领域已知或使用的任何适当媒介,包括存储媒介和通信媒介,例如但不限于以用于存储和/或传输信息(例如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实施的易失性和非易失性、可移动和不可移动媒介,包括RAM、ROM、EEPROM、闪存或其它存储技术产品、CD-ROM、数字通用光盘(DVD)或其它光储存器、盒式磁带、磁带、磁盘储存器或其它磁储存装置,或可以用于存储所需信息并可由系统装置访问的任何其它媒介。基于本文提供的公开和教导,本领域的普通技术人员将了解其它实施各种实施方案的方式和/或方法。
因此,说明书和附图应视为说明性的而非限制性的。然而,将明显的是,在不偏离权利要求书中提出的本发明的较宽精神和范围的情况下,可以对其做出各种修改和变化。

Claims (13)

1.一种在云计算环境中用于对计算资源执行操作的计算机实施的方法,其包括:
在配置有可执行指令的多个计算机系统的控制下,
接收使标签与计算资源关联的请求,其中,所述标签包括关键字和关联值,并且其中,使所述标签与访问控制列表关联,所述访问控制列表指定被允许分配、修改或删除所述标签的主体,以及所述主体被允许为其分配、修改或删除所述标签的计算资源,其中,所述标签能够用于确定是准许还是拒绝对所述计算资源的操作;
评估所述访问控制列表以确定使所述标签与所述计算资源关联的请求是否来自被允许的主体,
如果确定了使所述标签与所述计算资源关联的请求来自被允许的主体,使标签与服务提供商操作的多租户环境中的计算资源关联,所述标签包括指定关键字和关联值的自由形式字符串,其中用户可利用指定任何任意关键字和值的字符串为所述计算资源加标签,或者修改所述标签或删除所述标签;
基于所述标签的所述关键字和所述关联值的组合,确定访问所述计算资源的限制,所述标签与访问控制策略关联;
接收对所述计算资源执行操作的请求;
确定所述标签与所述计算资源关联;
评估所述访问控制策略,所述访问控制策略引用所述标签作为使用所述计算资源的条件,引用具有所述服务提供商账户的用户,并如果所述标签与所述计算资源关联,则识别允许由用户执行的操作;
至少部分地基于评估所述访问控制策略,确定准许所述用户对操作的授权;以及
解决执行所述操作的请求。
2.根据权利要求1所述的用于对计算资源执行操作的计算机实施的方法,其中所述计算资源为:
虚拟机实例、主机计算装置、应用程序、存储装置、数据库、接口或包括多个虚拟机的虚拟网络。
3.根据权利要求1所述的用于对计算资源执行操作的计算机实施的方法,其中所述访问控制策略使用策略语言创建。
4.根据权利要求1所述的用于对计算资源执行操作的计算机实施的方法,其中解决所述请求由身份访问管理服务执行,所述身份访问管理服务被配置成:
收集所有与执行所述操作的请求有关的访问控制策略;以及
评估所有访问控制策略以准许或拒绝对执行所述操作的授权,其中评估至少部分地基于与所述计算资源关联的标签。
5.根据权利要求1所述的用于对计算资源执行操作的计算机实施的方法,其进一步包括:
由服务提供商向其客户提供计算资源,所述计算资源在多租户共享资源环境下提供;以及
使得所述客户能够通过调用应用程序编程接口(API)将标签分配给所述计算资源。
6.根据权利要求1所述的用于对计算资源执行操作的计算机实施的方法,其中所述访问控制策略与以下至少其中之一关联:用户、用户组或所述至少一个计算资源。
7.一种在云计算环境中用于对计算资源执行操作的计算系统,其包括:
至少一个处理器;和
存储器,其包括当由所述至少一个处理器执行时使得所述计算系统执行以下操作的指令:
接收使标签与至少一个计算资源关联的请求,其中,所述标签包括关键字和关联值,并且其中,使所述标签与访问控制列表关联,所述访问控制列表指定被允许分配、修改或删除所述标签的主体,以及所述主体被允许为其分配、修改或删除所述标签的计算资源,其中,所述标签能够用于确定是准许还是拒绝对所述计算资源的操作;
评估所述访问控制列表以确定使所述标签与所述计算资源关联的请求是否来自被允许的主体,
如果确定了使所述标签与所述计算资源关联的请求来自被允许的主体,使所述标签与环境中的至少一个计算资源关联,所述标签包括指定关键字和关联值的自由形式字符串,其中用户可利用指定任何任意关键字和值的字符串为所述计算资源加标签,或者修改所述标签或删除所述标签;
基于所述标签的所述关键字和所述关联值的组合,确定访问所述至少一个计算资源的限制,所述标签与访问控制策略关联;
接收对所述至少一个计算资源执行操作的请求;
确定所述标签与所述至少一个计算资源关联;评估所述访问控制策略,所述访问控制策略引用所述标签作为使用所述至少一部分计算资源的条件,引用具有所述环境操作者账户的用户,并如果所述标签与所述至少一个计算资源关联,则识别允许由用户执行的操作;
至少部分地基于评估所述访问控制策略,确定准许所述用户对所述操作的授权;以及
解决执行所述操作的请求。
8.根据权利要求7所述的用于对计算资源执行操作的计算系统,其中所述至少一个计算资源进一步包括一个或多个:
虚拟机实例、存储在数据存储服务中的数据、应用程序、存储装置、数据库、接口或包括多个虚拟机的虚拟网络。
9.根据权利要求7所述的用于对计算资源执行操作的计算系统,其中通过使用可用于表达所述访问控制策略的策略语言在所述条件中引用所述一个或多个标签。
10.根据权利要求7所述的用于对计算资源执行操作的计算系统,其中控制所述授权由身份访问管理服务执行,所述身份访问管理服务被配置成:
收集所有与执行所述操作的请求有关的访问控制策略;以及
评估所有访问控制策略以准许或拒绝对执行所述操作的授权,其中评估至少部分地基于与所述至少一个计算资源关联的所述标签。
11.根据权利要求7所述的用于对计算资源执行操作的计算系统,其中所述访问控制策略与以下至少其中之一关联:用户、用户组或所述至少一个计算资源。
12.根据权利要求7所述的用于对计算资源执行操作的计算系统,其中所述存储器进一步包括当由所述至少一个处理器执行时使得所述计算系统执行以下操作的指令:
由服务提供商向其客户提供所述至少一个计算资源,所述至少一个计算资源在多租户共享资源环境下提供;以及
使得所述客户能够通过调用应用程序编程接口(API)将所述一个或多个标签分配给所述至少一个计算资源。
13.根据权利要求7所述的用于对计算资源执行操作的计算系统,其中所述存储器进一步包括当由所述至少一个处理器执行时使得所述计算系统执行以下操作的指令:
通过网络从客户接收使所述标签关联的请求,所述请求经由交互式控制台接收。
CN201480009264.1A 2013-01-22 2014-01-22 用于访问控制的自由形式元数据的用途 Active CN104995598B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13/747,239 2013-01-22
US13/747,224 US9530020B2 (en) 2013-01-22 2013-01-22 Use of freeform metadata for access control
US13/747,224 2013-01-22
US13/747,261 2013-01-22
US13/747,239 US9576141B2 (en) 2013-01-22 2013-01-22 Access controls on the use of freeform metadata
US13/747,261 US10341281B2 (en) 2013-01-22 2013-01-22 Access control policies associated with freeform metadata
PCT/US2014/012609 WO2014116748A1 (en) 2013-01-22 2014-01-22 Use of freeform metadata for access control

Publications (2)

Publication Number Publication Date
CN104995598A CN104995598A (zh) 2015-10-21
CN104995598B true CN104995598B (zh) 2021-08-17

Family

ID=51228005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480009264.1A Active CN104995598B (zh) 2013-01-22 2014-01-22 用于访问控制的自由形式元数据的用途

Country Status (7)

Country Link
EP (1) EP2948840B1 (zh)
JP (1) JP6306055B2 (zh)
KR (1) KR101810755B1 (zh)
CN (1) CN104995598B (zh)
AU (3) AU2014209475B2 (zh)
CA (1) CA2898909C (zh)
WO (1) WO2014116748A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530020B2 (en) 2013-01-22 2016-12-27 Amazon Technologies, Inc. Use of freeform metadata for access control
US10341281B2 (en) 2013-01-22 2019-07-02 Amazon Technologies, Inc. Access control policies associated with freeform metadata
US9934221B2 (en) 2014-09-29 2018-04-03 Amazon Technologies, Inc. Remote access control for stored data
US10380100B2 (en) * 2016-04-27 2019-08-13 Western Digital Technologies, Inc. Generalized verification scheme for safe metadata modification
CN106506521B (zh) * 2016-11-28 2020-08-07 腾讯科技(深圳)有限公司 资源访问控制方法和装置
US20190207946A1 (en) * 2016-12-20 2019-07-04 Google Inc. Conditional provision of access by interactive assistant modules
US10929523B2 (en) 2017-01-25 2021-02-23 Samsung Electronics Co., Ltd. Electronic device and method for managing data in electronic device
US10819652B2 (en) * 2018-07-02 2020-10-27 Amazon Technologies, Inc. Access management tags
CN111428205B (zh) * 2019-01-10 2024-03-22 阿里巴巴集团控股有限公司 一种信息分享方法及装置
US11038762B2 (en) * 2019-09-23 2021-06-15 Google Llc Arbitrarily grouping computer system resources
US11580239B2 (en) * 2019-10-22 2023-02-14 Microsoft Technology Licensing, Llc Controlling access to cloud resources in data using cloud-enabled data tagging and a dynamic access control policy engine
CN112667378A (zh) * 2020-12-28 2021-04-16 紫光云技术有限公司 一种基于资源标签的计算资源调度方法
CN113438186B (zh) * 2021-06-09 2023-02-28 新华三技术有限公司 一种转发报文的方法及装置
CN114244624A (zh) * 2021-12-31 2022-03-25 北京市商汤科技开发有限公司 流量控制方法及装置、设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133486A1 (en) * 2006-10-17 2008-06-05 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US20100058340A1 (en) * 2008-08-27 2010-03-04 Fujitsu Limited Access Controlling System, Access Controlling Method, and Recording Medium Having Access Controlling Program Recorded Thereon
US20120117610A1 (en) * 2003-06-10 2012-05-10 Pandya Ashish A Runtime adaptable security processor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504479B2 (en) * 2001-08-29 2013-08-06 Conexant Systems, Inc. Key interface for secure object manipulation
FR2867928B1 (fr) * 2004-03-16 2006-06-09 Medialive Procede et systeme hautement securises pour la distribution de flux audiovisuels
JP5637660B2 (ja) * 2005-11-17 2014-12-10 コーニンクレッカ フィリップス エヌ ヴェ アクセス制御を管理するシステム
CN1967552A (zh) * 2005-11-17 2007-05-23 北京人大金仓信息技术有限公司 一种基于对象标签的数据保护方法及执行装置
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
WO2007109241A2 (en) * 2006-03-20 2007-09-27 Axcess International Inc. Multi-tag tracking systems and methods
US8127133B2 (en) * 2007-01-25 2012-02-28 Microsoft Corporation Labeling of data objects to apply and enforce policies
JP5390910B2 (ja) * 2008-06-03 2014-01-15 株式会社日立製作所 ファイル管理システム
EP2404412B1 (en) * 2009-03-02 2019-05-01 Twilio Inc. Method and system for a multitenancy telephone network
CN102341808A (zh) * 2009-03-04 2012-02-01 皇家飞利浦电子股份有限公司 指定访问控制策略
US9038168B2 (en) * 2009-11-20 2015-05-19 Microsoft Technology Licensing, Llc Controlling resource access based on resource properties
US20110137947A1 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Dynamic access control for documents in electronic communications within a cloud computing environment
US9141410B2 (en) 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
CN102495988A (zh) * 2011-12-19 2012-06-13 北京诺思恒信科技有限公司 一种基于域的访问控制方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117610A1 (en) * 2003-06-10 2012-05-10 Pandya Ashish A Runtime adaptable security processor
US20080133486A1 (en) * 2006-10-17 2008-06-05 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US20100058340A1 (en) * 2008-08-27 2010-03-04 Fujitsu Limited Access Controlling System, Access Controlling Method, and Recording Medium Having Access Controlling Program Recorded Thereon

Also Published As

Publication number Publication date
JP6306055B2 (ja) 2018-04-04
AU2014209475B2 (en) 2016-10-13
CA2898909C (en) 2017-09-05
AU2017251702B2 (en) 2019-03-14
JP2016507839A (ja) 2016-03-10
KR101810755B1 (ko) 2017-12-19
EP2948840B1 (en) 2020-08-12
CA2898909A1 (en) 2014-07-31
EP2948840A4 (en) 2016-09-14
AU2017251702A1 (en) 2017-11-09
AU2017200168B2 (en) 2017-10-19
AU2017200168A1 (en) 2017-02-02
WO2014116748A1 (en) 2014-07-31
KR20150107830A (ko) 2015-09-23
EP2948840A1 (en) 2015-12-02
CN104995598A (zh) 2015-10-21
AU2014209475A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
CN104995598B (zh) 用于访问控制的自由形式元数据的用途
US9530020B2 (en) Use of freeform metadata for access control
US9576141B2 (en) Access controls on the use of freeform metadata
US10341281B2 (en) Access control policies associated with freeform metadata
RU2751576C2 (ru) Система управления и диспетчеризации контейнеров
US9934399B2 (en) Dynamic security policy generation
US11539709B2 (en) Restricted access to sensitive content
US10637957B2 (en) Dynamic runtime interface for device management
US9553757B1 (en) Substitution of requests or results in access control systems
US8966570B1 (en) Entity to authorize delegation of permissions
US11848935B2 (en) Dynamically generating restriction profiles for managed devices
US20200233907A1 (en) Location-based file recommendations for managed devices
US20190251094A1 (en) Techniques for interruption-free partitioning
US11882154B2 (en) Template representation of security resources
US10452675B1 (en) Source detection and indexing for managed search
US10725993B1 (en) Indexing data sources using a highly available ETL for managed search
KR20170046779A (ko) 컴퓨팅 환경 선택 기술
US11616787B1 (en) Mechanism to manage group of resources using virtual resource containers
US10614090B1 (en) Indexing and archiving streaming sources for managed search

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant