确定s3桶公共访问

时间:2018-05-24 21:41:22

标签: amazon-s3

目前AWS显示/标记" Public"当桶对公众开放时标签。我希望通过API获取此信息,而不是查看aws s3控制台。

是否有任何API可以获取此信息?

2 个答案:

答案 0 :(得分:0)

您可以使用GET Bucket acl rest方法。不确定您的选择语言,但这是一个javascript示例。请参阅javascript sdk s3.getBucketAcl documentation

const params = {
    Bucket: 'YOUR_BUCKET_NAME',
};
s3.getBucketAcl(params, function(err, data) {
      if (err) 
        console.log(err, err.stack);
      else
        console.log(data);
});

这会将我的测试示例中的响应返回为:

{
  "Owner": {
    "DisplayName": "",
    "ID": ""
  },
  "Grants": [
    {
      "Grantee": {
        "Type": "Group",
        "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
      },
      "Permission": "READ"
    },
  ]
}

如您所见,AllUsers组具有READ访问权限,因此这是我通过控制台配置的公共readonly-s3存储桶。

答案 1 :(得分:0)

我有一个没有这样的“ AllUsers” URI的存储桶,但在控制台中仍显示为“ public access”。必须有多种允许公共访问的方法。