1. 访问控制
OS2权限控制
针对存放在Bucket的Object的访问,OSS提供了多种权限控制,主要有:
Object级别权限
Bucket级别权限
账号级别权限(IAM)
Bucket级别权限
Bucket权限类型:
名称 | 权限值 | 说明 |
---|---|---|
私有读写 | private | 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行读/写/删除操作;其他人在未经授权的情况下无法访问该Bucket内的Object。 |
公共读私有写 | public-read | 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行写/删除操作;任何人(包括匿名访问)可以对Object进行读操作。 |
Bucket权限读取与设置方法,可参考:
API:Put BucketACL
控制台:创建Bucket权限设置
对象级别权限
对象权限类型:
名称 | 权限值 | 说明 |
---|---|---|
私有读写 | private | 该ACL表明某个Object是私有资源,即只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。 |
公共读私有写 | public-read | 该ACL表明某个Object是公共读资源,即非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限。 |
默认权限 | Default | 该ACL表明某个Object是遵循Bucket读写权限的资源,即Bucket是什么权限,Object就是什么权限 |
说明:
如果没有设置Object的权限,即Object的ACL为default,Object的权限和Bucket权限一致。
如果设置了Object的权限,Object的权限大于Bucket权限。举个例子,如果设置了Object的权限是public-read,无论Bucket是什么权限,该Object都可以被身份验证访问和匿名访问。
Object权限设定和读取方法,可参考:
API:Set Object ACL
API:Get Object ACL
控制台:设置对象访问权限
账号级别权限(IAM)
在您的控制台账号下面,通过IAM可以创建具有自己AccessKey的子用户,来实现组织内部多用户共同使用时的权限管理需求。您的账号被称为主账号,创建出来的账号被称为子账号,使用子账号的AccessKey只能使用主账号授权的操作和资源。 有关IAM详情,请参阅访问控制说明文档。