【问题标题】:Generate temporary AWS creds that could be used by any client生成可供任何客户使用的临时 AWS 凭证
【发布时间】:2018-06-16 06:38:54
【问题描述】:

我有一个用例,我需要任意客户端来接收我生成并传递给它的 AWS 凭证(密钥和秘密)。凭据应在几分钟后过期。客户端需要发布到 s3 存储桶。

客户端不会是任何 AWS 账户的一部分,也不能使用任何多因素身份验证。这似乎阻止了我使用 IAM 角色。

似乎安全令牌服务是亚马逊为类似用例提供的服务,但我无法对其进行按摩以从中获得我需要的东西。我需要一个角色 ARN,或者将会话令牌传递给客户端以在他们的请求中使用。客户端可以没有会话令牌的概念 - 只有 AWS 密钥/秘密。

简而言之,我希望能够生成不需要多重身份验证或会话令牌的临时 AWS 密钥/秘密对。

这可能吗?谢谢!

【问题讨论】:

  • 您真的需要临时 IAM 凭证,还是可以共享一个预签名的 URL,让某人将新文件发布到 S3?如果预签名的 URL 方法是可以接受的,那么 SO 中已经有很多答案了。
  • “客户端可能没有会话令牌的概念 - 只有 AWS 密钥/秘密。” 那么客户端没有正确实现。对会话令牌的支持是请求签名的一个非常基本的组成部分。你确定这部分?

标签: amazon-web-services amazon-iam aws-sts


【解决方案1】:

这正是Uploading Objects Using Pre-Signed URLs - Amazon Simple Storage Service 的用例。

基本上:

  • 您的应用程序确定用户是否有权上传/下载文件
  • 它会生成一个包含过期时间的预签名 URL
  • 客户端使用 URL 上传/下载到 S3
  • 过期后,URL 不再有效

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-27
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
相关资源
最近更新 更多