amazon-web-services - 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 的存储桶。
解决方案
没有 AWS_IAM 授权是不可能的。
API Gateway 使用该授权的结果来定位帐户、角色和存储桶。
推荐阅读
- spring-boot - 如何在迁移失败的情况下继续进行飞行
- django - Django 模板:按 __str__ 的值排序
- javascript - 如何从 Microsoft Graph 删除成员 API 获取响应代码或状态?
- sql-server - 使用 SQL 选择查询创建视图
- c++ - 在 Linux 上为 Aarch64 (yocto) 交叉编译 OpenCV 无法构建
- apache-camel - shareUnitOfWork 对骆驼的表现有负面影响吗?
- python - 如何在路由的装饰器中捕获错误并使用 JSON 响应进行响应
- react-native - 如何在 React Native 中制作一个包含图标和以省略号结尾的标题的按钮?
- javascript - 如何在 Angular 中忽略 URL 继承
- vue.js - Vuejs Fullcalendar事件未显示