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

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

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

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

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

  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" } } } ] } });