我有一个由 2 个应用程序A和B组成的分布式系统。
B 调用 A 的特定 API,在此期间执行底层工作流,文件 a 生成并上传到S3
. A在上传之前对文件进行客户端加密。对B的API响应是上传文件的bucket+link位置。
现在在稍后的时间点,B希望从 S3 下载文件。
有两种方法可以做到这一点 -
- 在B端实现下载功能,在这种情况下,它需要知道A用来上传的 AWS 密钥。
- 让A向B公开一个
download
功能,这样B就不需要知道A用来上传的 AWS 密钥。
选项 2 似乎是做事的正确方法。
我的理解是正确的还是有第三种更合理的方法?