详细解答可以参考官方帮助文档
对于Object,有四种访问权限:
创建Object时,默认为default权限。之后用户可以通过
Bucket.SetObjectACL
来设置Object的权限。上面四种权限分布对应
Go SDK中的常量ACLDefault、ACLPublicReadWrite、ACLPublicRead、ACLPrivate。
提示:
- Object访问权限设置的示例代码在
sample/object_acl.go
。
import "fmt"
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
// 设置Object的访问权限
err = bucket.SetObjectACL("my-object", oss.ACLPrivate)
if err != nil {
// HandleError(err)
}
// 查看Object的访问权限
aclRes, err := bucket.GetObjectACL("my-object")
if err != nil {
// HandleError(err)
}
fmt.Println("Object ACL:", aclRes.ACL)
注意:
- 如果设置了Object的权限(非default),则访问该Object时进行权限认证时 会优先判断Object的权限,而Bucket的权限设置会被忽略。
- 允许匿名访问时(设置了public-read或者public-read-write权限),用户 可以直接通过浏览器访问,例如 :
http://bucket-name.oss-cn-hangzhou.aliyuncs.com/object.jpg
更多关于访问权限控制的内容请参考 访问控制
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。