

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

# 使用 Amazon 验证权限实施 PDP
<a name="avp"></a>

Amazon Verified Permissions 是一项可扩展、精细的权限管理和授权服务，可用于实施政策决策点 (PDP)。作为策略引擎，它可以帮助您的应用程序实时验证用户操作，并突出显示权限过高或无效的权限。它通过外部化授权和集中策略管理和管理，帮助您的开发人员更快地构建更安全的应用程序。通过将授权逻辑与应用程序逻辑分开，Verified Permissions 支持策略解钩。

通过使用已验证的权限来实施 PDP 并在应用程序中实现最低权限和持续验证，开发人员可以使其应用程序访问权限与 [Zero Trust](https://aws.amazon.com/security/zero-trust/) 原则保持一致。此外，安全和审计团队可以更好地分析和审计谁有权访问应用程序中的哪些资源。Verified Permissions 使用 C [ed](https://www.cedarpolicy.com/en) ar（一种专门构建且安全至上的开源策略语言）根据基于角色的访问控制 (RBAC) 和基于属性的访问控制 (ABAC) 来定义基于策略的访问控制，以实现更精细的上下文感知访问控制。

已验证权限为 SaaS 应用程序提供了一些有用的功能，例如能够使用多个身份提供商（例如 Amazon Cognito、Google 和 Facebook）启用多租户授权。另一项对 SaaS 应用程序特别有用的已验证权限功能是支持基于每个租户的自定义角色。如果您正在设计客户关系管理 (CRM) 系统，则一个租户可能会根据一组特定的标准来定义销售机会访问的粒度。另一个租户可能有其他定义。已验证权限中的底层权限系统可以支持这些变体，这使其成为 SaaS 用例的绝佳选择。Verified Permissions 还支持编写适用于所有租户的策略，因此，作为 SaaS 提供商，可以直接应用护栏策略来防止未经授权的访问。

![使用 Amazon 已验证的权限实施 PDP](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/saas-multitenant-api-access-authorization/images/avp.png)


**为什么要使用已验证的权限？**

使用身份提供商（例如 [Amazon Cognito](https://aws.amazon.com/cognito/)）的已验证权限，为您的应用程序提供更加动态的、基于策略的访问管理解决方案。您可以构建应用程序来帮助用户共享信息和进行协作，同时维护其数据的安全性、机密性和隐私。Verified Permissions 为您提供精细的授权系统，可根据您的身份和资源的角色和属性强制执行访问权限，从而帮助您降低运营成本。您可以定义策略模型，在中心位置创建和存储策略，并在几毫秒内评估访问请求。

在已验证的权限中，您可以使用一种名为 Cedar 的简单、人类可读的声明性语言来表达权限。使用 Cedar 编写的策略可以在团队之间共享，无论每个团队的应用程序使用何种编程语言。

**使用已验证权限时应考虑的事项**

在已验证的权限中，您可以创建策略并将其作为配置的一部分自动执行。您还可以在运行时创建策略作为应用程序逻辑的一部分。作为最佳实践，在租户入职和置备过程中创建策略时，应使用持续集成和持续部署 (CI/CD) 管道来管理、修改和跟踪策略版本。或者，应用程序可以管理、修改和跟踪策略版本；但是，应用程序逻辑本身并不执行此功能。要在应用程序中支持这些功能，必须明确设计应用程序以实现此功能。

如果需要提供来自其他来源的外部数据才能做出授权决定，则必须检索这些数据并将其作为授权请求的一部分提供给 Verified Permissions。默认情况下，此服务不会检索其他上下文、实体和属性。