本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将您的授权模型与应用程序集成
要在您的应用程序中实施 Amazon Verified 权限,您必须定义您希望应用程序强制执行的策略和架构。在您的授权模型到位并经过测试后,下一步就是从执法角度开始生成API请求。为此,您必须设置应用程序逻辑以收集用户数据并将其填充到授权请求中。
应用程序如何使用已验证的权限授权请求
-
收集有关当前用户的信息。通常,用户的详细信息在经过身份验证的会话的详细信息中提供,例如JWT或 Web 会话 Cookie。这些用户数据可能来自链接到您的策略存储库的 Amazon Cognito 身份源,也可能来自其他 OpenID Connect OIDC () 提供商。
-
收集有关用户想要访问的资源的信息。通常,当用户做出要求您的应用程序加载新资产的选择时,您的应用程序将收到有关资源的信息。
-
确定您的用户想要采取的操作。
-
生成对已验证权限的授权请求,其中包含用户尝试操作的委托人、操作、资源和实体。verified Permissions 会根据您的策略存储中的策略评估请求并返回授权决定。
-
您的应用程序读取来自已验证权限的允许或拒绝响应,并强制执行对用户请求的决定。
已验证权限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" } } } ] } });