Amazon 已验证权限和 Cedar 政策语言术语和概念 - Amazon Verified Permissions

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon 已验证权限和 Cedar 政策语言术语和概念

要使用 Amazon Verified Permissions,您应该了解以下概念。

Cedar 策略语言概念

授权模型

授权模型描述了应用程序发出的授权请求的范围,以及评估这些请求的依据。它是根据不同类型的资源、对这些资源执行的操作以及执行这些操作的主体类型来定义的,同时还考虑了执行这些操作的上下文。

基于角色的访问权限控制(RBAC)是一种评估基础,其会定义各种角色并将这些角色与一组权限相关联。之后,这些角色就可以分配给一个或多个身份。分配到该角色的身份会获得与该角色关联的权限。如果修改了与该角色关联的权限,则此项修改会自动影响分配到该角色的所有身份。Cedar 通过使用主体组来支持 RBAC 决策。

基于属性的访问权限控制(ABAC)是一种评估基础,其中,与身份关联的权限由该身份的属性决定。Cedar 通过使用引用主体属性的策略条件来支持 ABAC 决策。

Cedar 策略语言允许为具有基于属性的条件的一组用户定义权限,从而将 RBAC 和 ABAC 组合到一个策略中。

授权请求

授权请求是应用程序对 Verified Permissions 发出的请求,用于评估一组策略,以确定主体是否可以在给定上下文中对资源执行操作。

授权响应

授权响应是对授权请求的响应,它包括允许或拒绝的决定,以及其他信息,例如决定性策略的信息。 IDs

考虑的策略

考虑的策略是指在评估授权请求时,由 Verified Permissions 选择包含的完整策略集。

上下文数据

上下文数据是提供要评估的额外信息的属性值。

决定性策略

决定性策略是决定授权响应的策略。例如,如果有两个满足条件的策略,其中一个是拒绝,另一个是允许,那么,拒绝策略将成为决定性策略。如果存在多个满足条件的允许策略且没有满足条件的禁止策略,那么就会存在多个决定性策略。如果没有匹配的策略,并且响应是拒绝,那么就不存在决定性策略。

实体数据

实体数据是有关主体、操作和资源的数据。与策略评估相关的实体数据包括实体层次结构中的组成员关系,以及主体和资源的属性值。

权限、授权和主体

Verified Permissions 管理您构建的自定义应用程序中的精细权限授权

主体是指将身份绑定到用户名或机器 ID 等标识符的应用程序的用户(人类或机器)。身份验证过程会确定主体是否确实是其所声称的身份。

与该身份关联的是一组应用程序权限,这些权限决定了允许该主体在该应用程序中执行哪些操作。授权是评估这些权限以确定是否允许主体在应用程序中执行特定操作的过程。这些权限可以表示为策略

策略执行

策略执行是在 Verified Permissions 之外的应用程序中执行评估决策的过程。如果 Verified Permissions 评估返回的结果为拒绝,则执行将确保禁止主体访问资源。

策略存储

策略存储是策略和模板的容器。每个存储都包含一个架构,用于验证添加到存储中的策略。默认情况下,每个应用程序都有自己的策略存储,但多个应用程序可以共享一个策略存储。当应用程序发出授权请求时,它会识别用于评估该请求的策略存储。策略存储提供了一种隔离策略集的方式,因此可以在多租户应用程序中使用,以包含每个租户的架构和策略。单个应用程序可以为每个租户提供单独的策略存储。

在评估授权请求时,Verified Permissions 仅会考虑策略存储中与该请求相关的策略子集。相关性是根据策略的范围确定的。范围确定了策略适用的特定主体和资源,以及主体可以对资源执行的操作。定义范围有助于缩小考虑的策略集的范围,从而提高性能。

满足条件的策略

满足条件的策略是指与授权请求的参数相匹配的策略。