【发布时间】:2018-12-09 01:07:56
【问题描述】:
我已经配置了放大角度并用于身份验证和 API 访问。使用 Angular 5。
我能否访问私有 S3 资源并利用在 API 访问期间使用的相同身份验证?
具体来说,我想向 S3 对象发出 REST GET 请求,例如:
https://s3.amazonaws.com/my-bucket-name/my-private-file.dat
需要将 AWS 签名作为授权标头包含在内才能正常工作。 (假设用户有权限)
可能的选择:
- The RestClient class :它似乎在做我想做的事,但我不认为它已导出或可供我的应用程序代码使用
- API:我可以在我的放大配置中将另一个 API 定义为
https://s3.amazonaws.com吗?我不确定将其视为 API 网关实例而不是......不管它是什么。
我不能在 S3 访问之前放置一个 API 端点;基于直接 S3 访问的 ACL 会更容易检查,因为它们对每个对象都有单独的 ACL。
“存储”模块似乎不合适。这似乎只适用于预先确定的桶。我的访问模式可以访问到运行时才知道的任意数量的存储桶。
【问题讨论】:
-
您不能将 Amplify Storage 模块配置为在运行时获取存储桶名称吗?例如。
Storage.configure -
是的,但据我了解,您只能配置单个存储桶。我的场景可以访问任意数量的存储桶,由用户决定。
标签: angular amazon-web-services aws-amplify