S3验证没有密钥的用户

时间:2013-01-24 19:48:53

标签: amazon-web-services amazon-s3

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

像(伪代码):

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

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

1 个答案:

答案 0 :(得分:1)

提出这个问题的最初原因是因为我的假设是需要使用全局访问和安全密钥来生成相应的Authorization digest header

事实并非如此。

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

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

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

顺便说一句,您不应该使用特定于存储桶的权限。在我的情况下,我没有设置存储区权限(甚至没有经过身份验证的用户),它工作得很好。