1

我有一个对存储桶具有读取权限的用户。有没有办法在不使用我的密钥的情况下使用用户的凭据进行身份验证?

类似的东西(伪代码):

auth = new S3Authentication(user, pass)
obj = S3::getObject(obj, auth)

更新 我发现了我自己问题的解决方案。见下文。

4

1 回答 1

1

问这个问题的最初原因是因为我在假设需要使用全局访问和安全密钥来生成适当的授权摘要标头的情况下进行操作。

不是这种情况。

您可以使用 Amazon 的 IAM 创建新的密钥对以在身份验证时使用。以下是步骤:

  • 在 IAM 中创建新组
  • 将组的策略设置为您希望该组中的用户拥有的任何访问权限。就我而言,我只是选择了 S3 只读策略模板
  • 创建一个新用户并将其放入该组

创建新用户将生成特定于该用户的新密钥/访问密钥。您可以使用这对来验证 S3 事务。

顺便说一句,您不需要弄乱特定于存储桶的权限。就我而言,我没有设置存储桶权限(甚至没有经过身份验证的用户),它工作得很好。

于 2013-01-24T21:27:53.100 回答