繁体   English   中英

Amazon S3存储桶策略,允许用户写入存储桶,但仅限该存储桶

[英]Amazon S3 Bucket policy to allow user to write to the bucket but that bucket only

我在Amazon S3中有一个名为“ data1”的存储桶。

当我使用Cyber​​duck连接到S3时,我希望用户只能访问“ data1”存储桶,而不能访问其他存储桶。

我还设置了一个名为data1的新IAM用户,并将“ AmazonS3FullAccess”策略附加到该用户的权限上-但这提供了对所有存储桶的访问权限-这正是您所期望的。

我想我需要为此设置另一个策略-但是我会执行什么策略?

首先找到用户原则。 这些可以通过查看此命令输出的Arn字段来找到

aws iam list-users

例如

{
    "Users": [
        {
            "UserName": "eric",
            "Path": "/",
            "CreateDate": "2016-07-12T09:08:21Z",
            "UserId": "AIDAJXPI4SWK7X7PY4RX2",
            "Arn": "arn:aws:iam::930517348925:user/eric"
        },
        {
            "UserName": "bambi",
            "Path": "/",
            "CreateDate": "2015-07-15T11:07:16Z",
            "UserId": "AIDAJ2LEXFRXJI5AKUU7W",
            "Arn": "arn:aws:iam::930517348725:user/bambi"
        }
]
}

然后设置一个S3存储桶策略。 这些适用于存储桶,并按存储桶设置。 针对每个IAM实体设置常规IAM策略,并将其附加到IAM实体(例如用户)。 您已经有IAM策略。 为此,需要一个S3策略。

仅强调一下-S3策略适用于存储桶并“附加”到S3,IAM策略适用于IAM并与IAM对象相关联。 当IAM实体尝试使用S3存储桶时,S3策略和IAM策略都可以应用。 参见http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

一旦知道了原理的ARN,就可以像这样添加S3策略

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "arn:aws:iam::930517348725:user/bambi",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::examplebucket/*"]
    },
    {
      "Sid":"block",
      "Effect":"Deny",
      "Principal": "arn:aws:iam::930517348725:user/bambi",
      "Action":["s3:*"],
      "Resource":["arn:aws:s3:::*"]
    }
  ]
}

我还没有测试过,但这是总体思路。 抱歉,示例中的原理名称和存储桶名称均未使用“ data1”,但这太令人困惑了.. :)

对于只写访问,您可以附加以下策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::BUCKET_NAME/*"
            ]
        }
    ]
}

但这听起来像您想要做的不仅仅是写东西?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM