OBS控制台预置了八种常用典型场景的桶策略模板,用户可以使用模板创建桶策略,快速完成桶策略配置。
使用方式
OBS支持通过控制台、API、SDK、OBS Browser+、obsutil方式配置桶策略。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在左侧导航栏,单击“权限控制 > 桶策略”。
- 单击“创建”。
- 选择桶策略模板。详细参数说明请参见桶策略。
图1 选择公共读模板
图2 选择公共读写模板
图3 选择桶只读模板
图4 选择桶读写模板
图5 选择目录只读模板
图6 选择目录读写模板
图7 选择对象只读模板
图8 选择对象读写模板
表1 桶策略模板
被授权用户 |
授权资源 |
模板名称 |
模板动作 |
高级设置 |
所有账号 |
整个桶(包括桶内对象) |
公共读
如图1所示 |
允许所有账号(所有互联网用户)对整个桶及桶内所有对象执行以下动作:
HeadBucket(判断桶是否存在、获取桶元数据)
GetBucketLocation(获取桶位置)
GetObject(获取对象内容、获取对象元数据)
RestoreObject(恢复归档存储对象)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据) |
不支持排除以上授权操作 |
公共读写
如图2所示 |
允许所有账号(所有互联网用户)对整个桶及桶内所有对象执行以下动作:
ListBucket(列举桶内对象、获取桶元数据)
ListBucketVersions(列举桶内多版本对象)
HeadBucket(判断桶是否存在、获取桶元数据)
GetBucketLocation(获取桶位置)
PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段)
GetObject(获取对象内容、获取对象元数据)
ModifyObjectMetaData(修改对象元数据)
ListBucketMultipartUploads(列举多段上传任务)
ListMultipartUploadParts(列举已上传段)
AbortMultipartUpload(取消多段上传任务)
RestoreObject(恢复归档存储对象)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据)
PutObjectAcl(设置对象ACL)
GetObjectVersionAcl(获取指定版本对象ACL)
GetObjectAcl(获取对象ACL) |
不支持排除以上授权操作 |
当前账号/其他账号/委托账号 |
整个桶(包括桶内对象) |
桶只读
如图3所示 |
允许指定账号对整个桶及桶内所有对象执行以下动作:
Get*(所有获取操作)
List*(所有列举操作)
HeadBucket(判断桶是否存在、获取桶元数据) |
不支持排除以上授权操作 |
桶读写
如图4所示 |
允许指定账号对整个桶及桶内所有对象执行除以下动作以外的所有动作:
DeleteBucket(删除桶)
PutBucketPolicy(设置桶策略)
PutBucketAcl(设置桶ACL) |
排除以上授权操作 |
所有账号/当前账号/其他账号/委托账号 |
当前桶+指定对象 |
目录只读
如图5所示 |
允许所有账号(所有互联网用户)或指定账号对当前桶和桶内指定资源执行以下动作:
GetObject(获取对象内容、获取对象元数据)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据)
GetObjectVersionAcl(获取指定版本对象ACL)
GetObjectAcl(获取对象ACL)
RestoreObject(恢复归档存储对象)
ListBucket(列举桶内对象、获取桶元数据)
ListBucketVersions(列举桶内多版本对象)
HeadBucket(判断桶是否存在、获取桶元数据)
GetBucketLocation(获取桶位置)
说明:
被授权用户选择“所有账号”时,模板动作中不包含ListBucket、ListBucketVersions。
|
不支持排除以上授权操作 |
目录读写
如图6所示 |
允许所有账号(所有互联网用户)或指定账号对当前桶和桶内指定资源执行以下动作:
PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段)
GetObject(获取对象内容、获取对象元数据)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据)
ModifyObjectMetaData(修改对象元数据)
ListBucketMultipartUploads(列举多段上传任务)
ListMultipartUploadParts(列举已上传段)
AbortMultipartUpload(取消多段上传任务)
GetObjectVersionAcl(获取指定版本对象ACL)
GetObjectAcl(获取对象ACL)
PutObjectAcl(设置对象ACL)
RestoreObject(恢复归档存储对象)
ListBucket(列举桶内对象、获取桶元数据)
ListBucketVersions(列举桶内多版本对象)
HeadBucket(判断桶是否存在、获取桶元数据)
GetBucketLocation(获取桶位置) |
不支持排除以上授权操作 |
所有账号/当前账号/其他账号/委托账号 |
指定对象 |
对象只读
如图7所示 |
允许所有账号(所有互联网用户)或指定账号对桶内指定资源执行以下动作:
GetObject(获取对象内容、获取对象元数据)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据)
GetObjectVersionAcl(获取指定版本对象ACL)
GetObjectAcl(获取对象ACL)
RestoreObject(恢复归档存储对象) |
不支持排除以上授权操作 |
对象读写
如图8所示 |
允许所有账号(所有互联网用户)或指定账号对桶内指定资源执行以下动作:
PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段)
GetObject(获取对象内容、获取对象元数据)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据)
ModifyObjectMetaData(修改对象元数据)
ListMultipartUploadParts(列举已上传段)
AbortMultipartUpload(取消多段上传任务)
GetObjectVersionAcl
GetObjectAcl(获取对象ACL)
PutObjectAcl(设置对象ACL)
RestoreObject(恢复归档存储对象) |
不支持排除以上授权操作 |
- 如上图所示,完善桶策略配置信息。
部分桶策略模板需要指定被授权用户或资源范围,请根据界面提示完成桶策略配置。您也可以在原有模板基础上修改策略名称、被授权用户、授权资源、动作以及条件。相关说明请参见桶策略参数说明。
- 单击界面右下角的“创建”,完成桶策略创建。