用于访问 Amazon CloudFront 内容的 Amazon Cognito 和应用程序特定授权逻辑

Amazon Cognito and Application specific authorization logic to access Amazon CloudFront content

我想使用我的自定义应用程序特定授权逻辑来保护 Amazon CloudFront 内容。

例如,出于身份验证目的,我可能会使用 Amazon CognitoAmazon CloudFront 以及 AWS Lambda@Edge 方法,该方法将检查对 CloudFront 的每个传入请求并确保该请求具有有效的 JWT 令牌。

但是授权部分呢?

根据应用程序业务逻辑,每个经过身份验证的用户不应该访问相同的资源。

如何以及在何处检查具有有效 JWT 令牌的用户是否有权(根据应用程序业务逻辑)访问所请求的 Amazon CloudFront 内容?

这样的授权逻辑是否也应该包含在Lambda@Edge 处理程序中?

是的,Lambda@Edge 可用于授权用户访问 CloudFront 背后的资源。

并且授权可以通过Amazon Cognito User Pool服务完成。

您的流程将类似于以下流程:

以下是如何做到这一点的示例:使用 AWS CloudFront 和 Lambda 保护您的静态网站

查看此博文以了解有关此过程的更多信息:Authorization@Edge Protect your Amazon CloudFront content from being downloaded by unauthenticated users