桶和对象的拥有者
桶的拥有者是创建桶的帐号。一个帐号下的IAM用户创建的桶,桶拥有者为该IAM用户的父级帐号。
对象的拥有者是上传对象的帐号,而不是对象所属的桶的拥有者。例如,如果帐号B被授予访问帐号A的桶的权限,然后帐号B上传一个文件到桶中,则帐号B是对象的拥有者,而不是帐号A。
桶策略
桶策略是作用于所配置的OBS桶及桶内对象的。OBS桶拥有者通过桶策略可为IAM用户或其他帐号授权桶及桶内对象的操作权限。
桶策略的应用场景 :
- 不用IAM策略控制访问权限的情况下,允许其他帐号访问OBS资源,可以使用桶策略的方式授权其他帐号对应的权限。
- 当不同的桶对于不同的IAM用户有不同的访问控制需求时,需使用桶策略分别授权IAM用户不同的权限。
- 桶拥有者允许其他帐号访问自己的桶时,可使用桶策略授权其他帐号对应的权限。
桶策略模板:
OBS控制台预置了六种常用典型场景的桶策略模板,用户可以使用模板创建桶策略,快速完成桶策略配置。
选择使用模板创建时,部分模板需要指定被授权用户或资源范围,您也可以在原模板基础上修改被授权用户、资源范围、模板动作以及增加桶策略执行的条件。
模板名称 | 被授权用户 | 资源范围 | 模板动作 |
---|---|---|---|
桶只读 | 待指定 | 包含当前桶和桶内所有对象 | 允许指定用户对当前桶和桶内所有对象执行以下动作: Get*(所有获取操作) List*(所有列举操作) |
桶读写 | 待指定 | 包含当前桶和桶内所有对象 | 允许指定用户对当前桶和桶内所有对象执行除以下动作以外的所有动作: DeleteBucket(删除桶) PutBucketPolicy(设置桶策略) PutBucketAcl(设置桶ACL) |
目录只读 | 待指定 | 待指定(需指定对象前缀) | 允许指定用户对当前桶和桶内指定资源执行以下动作: ListBucket(列举桶内对象、获取桶元数据) GetBucketLocation(获取桶位置) ListBucketVersions(列举桶内多版本对象) GetObject(获取对象内容、获取对象元数据) RestoreObject(恢复归档存储对象) GetObjectAcl(获取对象ACL) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) GetObjectVersionAcl(获取指定版本对象ACL) |
目录读写 | 待指定 | 待指定(需指定对象前缀) | 允许指定用户对当前桶和桶内指定资源执行以下动作: ListBucket(列举桶内对象、获取桶元数据) GetBucketLocation(获取桶位置) ListBucketVersions(列举桶内多版本对象) ListBucketMultipartUploads(列举多段上传任务) GetObject(获取对象内容、获取对象元数据) PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段) RestoreObject(恢复归档存储对象) GetObjectAcl(获取对象ACL) PutObjectAcl(设置对象ACL) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) GetObjectVersionAcl(获取指定版本对象ACL) AbortMultipartUpload(取消多段上传任务) ListMultipartUploadParts(列举已上传段) ModifyObjectMetaData(修改对象元数据) |
公共读 | 匿名用户(表示所有互联网用户) | 包含当前桶和桶内所有对象 | 允许匿名用户(所有互联网用户)对当前桶和桶内所有对象执行以下动作: GetBucketLocation(获取桶位置) ListBucketVersions(列举桶内多版本对象) GetObject(获取对象内容、获取对象元数据) RestoreObject(恢复归档存储对象) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) |
公共读写 | 匿名用户(表示所有互联网用户) | 包含当前桶和桶内所有对象 | 允许匿名用户(所有互联网用户)对当前桶和桶内所有对象执行以下动作: ListBucket(列举桶内对象、获取桶元数据) GetBucketLocation(获取桶位置) ListBucketVersions(列举桶内多版本对象) ListBucketMultipartUploads(列举多段上传任务) GetObject(获取对象内容、获取对象元数据) PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段) RestoreObject(恢复归档存储对象) GetObjectAcl(获取对象ACL) PutObjectAcl(设置对象ACL) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) GetObjectVersionAcl(获取指定版本对象ACL) AbortMultipartUpload(取消多段上传任务) ListMultipartUploadParts(列举已上传段) ModifyObjectMetaData(修改对象元数据) |
自定义桶策略:
您也可以根据实际业务场景的定制化需求,不使用预置桶策略模板,自定义创建桶策略。自定义桶策略由允许/拒绝、被授权用户、资源、动作和条件5个桶策略基本元素共同决定。
对象策略
对象策略即为桶策略中针对对象的策略,桶策略中针对对象的策略是通过配置资源来实现对象匹配的,资源可配置“*”(表示所有对象)或对象前缀(表示对象集)。对象策略则是直接选定对象后,配置到选定的对象资源的策略。
对象策略模板:
OBS控制台预置了四种常用典型场景的对象策略模板,用户可以使用模板创建对象策略,快速完成对象策略配置。
选择使用模板创建时,部分模板需要指定被授权用户,您也可以在原模板基础上修改被授权用户、模板动作以及增加对象策略执行的条件。资源范围即为所需配置对象策略的对象,系统自动指定,无需修改
模板名称 | 被授权用户 | 资源范围 | 模板动作 |
---|---|---|---|
只读模式 | 待指定 | 系统自动指定为已选对象,无需修改 | 允许指定用户对当前对象执行以下动作: GetObject(获取对象内容、获取对象元数据) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) GetObjectVersionAcl(获取指定版本对象ACL) GetObjectAcl(获取对象ACL) RestoreObject(恢复归档存储对象) |
读写模式 | 待指定 | 系统自动指定为已选对象,无需修改 | 允许指定用户对当前对象执行以下动作: PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段) GetObject(获取对象内容、获取对象元数据) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) ModifyObjectMetaData(修改对象元数据) ListMultipartUploadParts(列举已上传段) AbortMultipartUpload(取消多段上传任务) GetObjectVersionAcl(获取指定版本对象ACL) GetObjectAcl(获取对象ACL) PutObjectAcl(设置对象ACL) RestoreObject(恢复归档存储对象) |
公共读 | 匿名用户(表示所有互联网用户) | 系统自动指定为已选对象,无需修改 | 允许匿名用户(所有互联网用户)对当前对象执行以下动作: GetObject(获取对象内容、获取对象元数据) RestoreObject(恢复归档存储对象) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) |
公共读写 | 匿名用户(表示所有互联网用户) | 系统自动指定为已选对象,无需修改 | 允许匿名用户(所有互联网用户)对当前对象执行以下动作: PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段) GetObject(获取对象内容、获取对象元数据) ModifyObjectMetaData(修改对象元数据) ListMultipartUploadParts(列举已上传段) AbortMultipartUpload(取消多段上传任务) RestoreObject(恢复归档存储对象) GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) PutObjectAcl(设置对象ACL)GetObjectVersionAcl(获取指定版本对象ACL) GetObjectAcl(获取对象ACL) |
自定义对象策略:
你也可以根据实际业务场景的定制化需求,不使用预置对象策略模板,自定义创建对象策略。自定义对象策略由允许/拒绝、被授权用户、资源、动作和条件5个桶策略基本元素共同决定,与桶策略类似,其中资源为已选择的对象,系统自动配置。