Amazon IAM用户+授予对S3的访问权限

时间:2012-09-12 06:40:00

标签: amazon-s3

我有一些关于IAM用户的问题并授予对S3的访问权限。

注意:我正在使用S3.php与这些用户一起编写文件。

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

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

  3. 我只希望此用户能够编写对象(具有允许全局公开读取的存储桶策略)。我怎么能这样做呢? (用户策略)是否需要将文件放入存储桶中?

  4. THX

1 个答案:

答案 0 :(得分:3)

逐点:

  1. 用户可以设置密码吗?”用户可以设置密码,但对于API访问,我不相信可以直接使用密码。没有关于设置密码阻止 API访问。
  2. 我应该使用组或用户策略来授予访问权限吗?”用户与组策略之间的区别只是组织问题。如果您的多个用户“出于同样的原因”需要访问,那么创建组策略是有意义的。如果每个用户都有一组特定的要求,出于不重叠的原因,则各个用户策略更有意义。这基本上是未来管理的问题:如果将来政策要求发生变化,您是否更有可能需要在多个用户之间进行相同的更改,或进行各种个别更改?
  3. 我只希望此用户能够编写对象”策略生成器可以为此提供帮助,但您需要知道的关键事项是:
    • 您正在寻找的动作类型是“s3:PutObject”。根据“写”的实际含义,您可能还需要一些其他权限:“s3:DeleteObject”和“s3:ListBucket”是常见的附加功能。
    • “arn”将是:“”arn:aws:s3 ::: bucketNameGoesHere / *“,或用更具体的内容替换星号以将”puts“限制为给定的前缀”
  4. 下面,我已经包含了一个可能做你想做的基本政策。我希望它需要一些调整才能满足您的需求:

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

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

    有用的链接: