[英]Secure Amazon S3 bucket to only allow facebook access
我正在使用 Facebook 的 Instagram Messenger API 来向我们的用户发送图像。 在他们的文档中,他们指定我们需要向他们发送 url 到图像。 在我的情况下,url 指向具有图像的 S3 存储桶。 Facebook 必须有权访问资源。
我的问题是; 我如何确保只有 facebook 的 api 可以访问此存储桶上的 READ?
AWS 的 iam 策略允许我将某些 ip 列入白名单,或根据Referer header 或 userAgent 过滤请求,但这些对我来说似乎都不可靠,因为 facebook 具有广泛的 ip(经常更改)并且可以轻松地使用 referer/userAgent .
每个人都如何保护他们的资源?
您的后端应用程序可以生成一个Amazon S3 预签名 URL ,这是一个有时间限制的 URL ,提供对私有 ZA8CFDE6331BD59EB2AC96F8911C4B6666 的临时访问。
基本上,当您想为用户(或 Facebook)提供对私人文件的访问权限时,您的应用程序可以生成一个预签名的 URL,该文件在给定时间段(例如 5 分钟)内有效。 该时间到期后,该链接将不再有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.