

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

# Amazon 已验证权限和 Cedar 政策语言术语和概念
<a name="terminology"></a>

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

**Topics**
+ [授权模型](#term-authorization-model)
+ [授权请求](#term-authorization-request)
+ [授权响应](#term-authorization-response)
+ [考虑的策略](#term-considered-policies)
+ [上下文数据](#term-context-data)
+ [决定性策略](#term-determining-policies)
+ [实体数据](#term-entity-data)
+ [权限、授权和主体](#term-permissions-authorization-principals)
+ [策略执行](#term-policy-enforcement)
+ [策略存储](#term-policy-store)
+ [策略存储别名](#term-policy-store-alias)
+ [策略名称](#term-policy-name)
+ [策略模板名称](#term-policy-template-name)
+ [满足条件的策略](#term-satisfied-policies)
+ [Amazon 验证权限与 Cedar 政策语言之间的区别](terminology-differences-avp-cedar.md)

**Cedar 策略语言概念**
+ [授权](https://docs.cedarpolicy.com/overview/terminology.html#authorization)
+ [实体](https://docs.cedarpolicy.com/overview/terminology.html#entity)
+ [组和层次结构](https://docs.cedarpolicy.com/overview/terminology.html#term-group)
+ [命名空间](https://docs.cedarpolicy.com/policies/validation.html#namespaces)
+ [Policy](https://docs.cedarpolicy.com/overview/terminology.html#policy)
+ [策略模板](https://docs.cedarpolicy.com/overview/terminology.html#policy-template)
+ [架构](https://docs.cedarpolicy.com/overview/terminology.html#schema)

## 授权模型
<a name="term-authorization-model"></a>

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

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

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

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

## 授权请求
<a name="term-authorization-request"></a>

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

## 授权响应
<a name="term-authorization-response"></a>

*授权响应*是对[授权请求](#term-authorization-request)的响应，它包括允许或拒绝的决定，以及其他信息，例如决定性策略的信息。 IDs 

## 考虑的策略
<a name="term-considered-policies"></a>

*考虑的策略*是指在评估[授权请求](#term-authorization-request)时，由 Verified Permissions 选择包含的完整策略集。

## 上下文数据
<a name="term-context-data"></a>

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

## 决定性策略
<a name="term-determining-policies"></a>

*决定性策略*是决定[授权响应](#term-authorization-response)的策略。例如，如果有两个[满足条件的策略](#term-satisfied-policies)，其中一个是拒绝，另一个是允许，那么，拒绝策略将成为决定性策略。如果存在多个满足条件的允许策略且没有满足条件的禁止策略，那么就会存在多个决定性策略。如果没有匹配的策略，并且响应是拒绝，那么就不存在决定性策略。

## 实体数据
<a name="term-entity-data"></a>

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

## 权限、授权和主体
<a name="term-permissions-authorization-principals"></a>

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

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

与该身份关联的是一组应用程序*权限*，这些权限决定了允许该主体在该应用程序中执行哪些操作。*授权*是评估这些权限以确定是否允许主体在应用程序中执行特定操作的过程。这些权限可以表示为[策略](https://docs.cedarpolicy.com/overview/terminology.html#policy)。

## 策略执行
<a name="term-policy-enforcement"></a>

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

## 策略存储
<a name="term-policy-store"></a>

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

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

## 策略存储别名
<a name="term-policy-store-alias"></a>

*策略存储别名*是策略存储的友好名称。在任何接受`policyStoreId`参数的已验证权限操作中，您可以使用策略存储别名来标识策略存储。策略存储别名是独立的 AWS 资源，有自己的 ARNs别名。每个别名一次只能与一个策略存储关联，多个别名可以与同一个策略存储关联。有关更多信息，请参阅 [Amazon 已验证权限策略存储别名](policy-store-aliases.md)。

## 策略名称
<a name="term-policy-name"></a>

*策略名称*是策略的可选友好名称。策略存储区内所有策略的策略名称必须是唯一的，并以`name/`此为前缀。在接受`policyId`参数的控制平面操作中，您可以使用策略名称代替策略 ID。可以在创建或更新策略时设置名称。只`GetPolicy`在输出中`ListPolicies`返回名称。

## 策略模板名称
<a name="term-policy-template-name"></a>

*策略模板名称*是策略模板的可选友好名称。策略存储区内所有策略模板的策略模板名称必须是唯一的，并以`name/`此为前缀。在接受`policyTemplateId`参数的控制平面操作中，您可以使用策略模板名称代替策略模板 ID。可以在创建或更新策略模板时设置名称。只`GetPolicyTemplate`在输出中`ListPolicyTemplates`返回名称。

## 满足条件的策略
<a name="term-satisfied-policies"></a>

*满足条件的策略*是指与[授权请求](#term-authorization-request)的参数相匹配的策略。