目前AWS显示/标记" Public"当桶对公众开放时标签。我希望通过API获取此信息,而不是查看aws s3控制台。
是否有任何API可以获取此信息?
答案 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”。必须有多种允许公共访问的方法。