【发布时间】:2026-02-02 03:25:02
【问题描述】:
我对 EC2 实例、IAM(用户、角色、组)、S3 存储桶和策略非常熟悉,希望社区可以在这里帮助我。
假设我有一个运行网络服务器的 EC2 实例。此 EC2 实例托管一个网络视频播放器(视频 js、JWPlayer 等)。理想情况下,我想在不公开 S3 存储桶的情况下在 S3 存储桶上托管 MP4。
我最初的想法是,我可以创建一个对 S3 存储桶具有完全访问权限的角色,也可以为存储桶分配一个允许实例具有访问权限的策略。
我尝试了许多策略和角色,但似乎都不起作用。现在我想知道这是否可能。
我知道这种架构并不完美,您可能会使用云端来提供视频。然而,这只是一个概念证明......如果可能的话。谢谢各位!!
【问题讨论】:
-
一个简单的 IAM 角色允许 s3:GetObject 访问存储桶(或它的某个子集)将允许 EC2 实例读取 MP4 文件(假设您已使用该 IAM 启动实例角色)。这假设您实际上希望您的 Web 服务器读取 MP4 并将它们代理到客户端,而不是客户端直接转到 S3 来获取 MP4。
-
“似乎都不起作用”是什么意思?
-
presigned URL's 能满足您的需求吗?
-
@jarmod 你提出了一个有趣的观点。是否必须使用 IAM 角色启动/创建 EC2 实例,或者我可以稍后分配该角色?我问是因为看起来您可以为正在运行的 EC2 实例分配角色(也可能会产生误导)
-
@stdunbar 是的,预签名 URL 也可以。我肯定会玩这个。但是,我确实喜欢通过云端提供私人内容的方法(以下作者:John Rotenstein)
标签: amazon-web-services amazon-s3