>我有一个使用案例,我需要任意客户端来接收我生成并传递给它的 AWS 凭证(密钥和密钥(。 凭据应在几分钟后过期。 客户端需要发布到 s3 存储桶。
客户端不会是任何 AWS 账户的一部分,也不能使用任何多重身份验证。 这似乎阻止我使用 IAM 角色。
似乎安全令牌服务是亚马逊为类似用例提供的,但我无法按摩它以从中获得我需要的东西。 我要么需要一个角色 ARN,要么将会话令牌传递给客户端以在其请求中使用。 客户端可以没有会话令牌的概念,只能有 AWS 密钥/密钥。
简而言之,我希望能够生成一个不需要多重身份验证或会话令牌的临时 AWS 密钥/密钥对。
这可能吗? 谢谢!
这正是使用预签名 URL 上传对象的用例 - Amazon Simple Storage Service。
基本上:
- 您的应用程序确定用户是否有权上传/下载文件
- 它会生成一个包含过期时间的预签名 URL
- 客户端使用 URL 上传/下载到 S3
- 过期时间过后,URL 将不再有效