首页 > 解决方案 > AWS REST Api 作为 S3 代理并访问客户端特定的存储桶

问题描述

我已按照此处的指南将 AWS API Gateway 创建为 S3 代理。所以最终的网址看起来像

http://api.exmaple.com/v1/ {clientbucketname}/{key}

客户端将在 url 中使用他们预先分配的存储桶名称。我了解,如果 API 使用 IAM 用户进行身份验证,则 API 将有权访问属于经过身份验证的 IAM 用户的存储桶,并且只能对特定客户端的存储桶执行操作。
但是,我的 API 使用 API-KEY 进行了身份验证。每个客户端都有自己的 API-KEY 我如何将 API-KEY 绑定到 S3 存储桶,因此客户端 A 无法仅通过更改 URL 中的存储桶名称来访问客户端 B 的存储桶。

标签: amazon-web-servicesamazon-s3aws-api-gateway

解决方案


没有 AWS_IAM 授权是不可能的。

API Gateway 使用该授权的结果来定位帐户、角色和存储桶。


推荐阅读