2012-09-12 66 views
1

我有几个有关IAM用户和授予对S3的访问权限的问题。亚马逊IAM用户+授予对S3的访问权限

注意:我正在使用S3.php向该用户写入文件。

  1. 用户可以设置密码吗?

  2. 创建用户(已完成)后,我应该使用组或用户策略来授予访问权限吗?

  3. 我只希望这个用户能够写对象(具有全局公共读取的桶策略)。我怎么才能授予这个权利? (用户策略)和其他权利需要将文件放入存储桶中?

THX

回答

3

逐点:

  1. 可以在用户设置了口令?”的用户可以设置密码,不过对于API访问我做不相信密码可以直接使用。没有任何关于设置密码阻止 API访问。
  2. 我应该使用组或用户策略来授予访问权吗?”用户与组策略之间的区别只是组织的问题。如果您的几个用户需要“出于同样的原因”进行访问,那么创建组策略是有意义的。如果每个用户都有一组特定的需求,但由于不重叠的原因,个人用户策略更有意义。这基本上是未来管理的问题:如果未来政策要求发生了变化,您是否更需要在多个用户间进行相同的更改或进行各种个人更改?
  3. 我只希望此用户能够编写对象”政策发生器可以在这方面帮助,但你需要知道的关键事情是:
    • 行动的您正在寻找的类型“S3:PutObject”。根据您实际上“写”的含义,您可能还需要其他一些权限:“s3:DeleteObject”和“s3:ListBucket”是常见的附加功能。
    • 的 “ARN” 将是: “” 阿尔恩:AWS:S3 ::: bucketNameGoesHere/* “或替换一些更具体的为 ”看跌期权“ 限制在一个给定的前缀”
星号

下面,我已经包含了一个基本的策略,可以做你想做的事情。我预计这将需要一些调整来是你需要什么:

{ 
    "Statement": [ 
    { 
     "Sid": "AnyUniqueIdentifierForThePolicyStatementGoesHere", 
     "Action": [ 
     "s3:PutObject" 
     ], 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::YourBucketNameGoesHere/*" 
     ] 
    } 
    ] 
} 

希望这至少够你指出正确的方向。

有用的链接: