繁体   English   中英

IAM 政策:用户无法访问 S3 存储桶

[英]IAM Policy: Users cannot access S3 bucket

我创建了一个用户并分配了以下内联策略。 同时,我在 s3 中创建了一个存储桶。

"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucketname"

当我将此策略应用于特定用户并尝试访问 S3 时,资源中列出的特定存储桶未显示? 我担心我已经对所有 s3 进行了操作,然后我的存储桶没有出现在 S3 中吗?

通过可视化编辑器,我尝试为相同的事物创建策略,策略如下所示

 {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:ListStorageLensConfigurations",
                "s3:ListAccessPointsForObjectLambda",
                "s3:GetAccessPoint",
                "s3:PutAccountPublicAccessBlock",
                "s3:GetAccountPublicAccessBlock",
                "s3:ListAllMyBuckets",
                "s3:ListAccessPoints",
                "s3:ListJobs",
                "s3:PutStorageLensConfiguration",
                "s3:ListMultiRegionAccessPoints",
                "s3:CreateJob"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::bucketname"
        }
    ]
}

为什么要为列表创建单独的操作并允许每个资源使用?

一些操作在存储桶级别执行(例如列出存储桶),而一些操作在对象级别执行(例如下载对象)。

您可以同时授予这两种权限:

以下是用户策略示例 - Amazon Simple Storage Service的示例:

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action": "s3:ListAllMyBuckets",
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":["s3:ListBucket","s3:GetBucketLocation"],
         "Resource":"arn:aws:s3:::bucketname"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::bucketname/*"
      }
   ]
}

您也可以将它们全部组合成一个策略:

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

但请注意,此“全部允许”策略也授予用户删除对象和存储桶的权限,因此在授予用户此类权限时应非常小心。

暂无
暂无

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

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