View a markdown version of this page

将您的授权模型与应用程序集成 - Amazon Verified Permissions

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

将您的授权模型与应用程序集成

要在您的应用程序中实施 Amazon Verified Permissions,您必须定义您希望应用程序强制执行的策略和架构。在授权模型到位并经过测试后,下一步是从强制执行开始生成 API 请求。为此,您必须设置应用程序逻辑以收集用户数据并将其填充到授权请求中。

应用程序如何使用已验证的权限授权请求
  1. 收集有关当前用户的信息。通常,用户的详细信息在经过身份验证的会话的详细信息中提供,例如 JWT 或 Web 会话 Cookie。这些用户数据可能来自链接到您的策略存储库的 Amazon Cognito 身份来源,也可能来自其他 Open ID Connect (O IDC) 提供商。

  2. 收集有关用户想要访问的资源的信息。通常,当用户做出要求您的应用程序加载新资产的选择时,您的应用程序将收到有关资源的信息。

  3. 确定您的用户想要采取的操作。

  4. 生成对已验证权限的授权请求,其中包含用户尝试操作的委托人、操作、资源和实体。verified Permissions 会根据您的策略存储中的策略评估请求并返回授权决定。

  5. 您的应用程序读取来自已验证权限的允许或拒绝响应,并强制执行对用户请求的决定。

已验证权限 API 操作内置于中 AWS SDKs。要在应用程序中加入经过验证的权限,请将适用于您所选语言的 AWS SDK 集成到应用程序包中。

要了解更多信息并进行下载 AWS SDKs,请参阅工具 Amazon Web Services

以下是各种已验证权限资源的文档链接 AWS SDKs。

以下 AWS SDK for JavaScript 示例IsAuthorized源自使用亚马逊验证权限和 Amazon Cognito 简化细粒度授权。

const authResult = await avp.isAuthorized({ principal: 'User::"alice"', action: 'Action::"view"', resource: 'Photo::"VacationPhoto94.jpg"', // whenever our policy references attributes of the entity, // isAuthorized needs an entity argument that provides // those attributes entities: { entityList: [ { "identifier": { "entityType": "User", "entityId": "alice" }, "attributes": { "location": { "String": "USA" } } } ] } });