策略授权参考
本章节介绍OBS策略授权场景下支持的策略授权项。
支持的授权项
策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:
- 权限:允许或拒绝对指定资源在特定条件下进行某项操作。
- 对应API接口:自定义策略实际调用的API接口。
- 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
- 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。
OBS的支持自定义策略授权项如下所示:
桶相关授权项
权限 | 对应API接口 | 授权项(Action) | IAM项目(Project) | 企业项目(Enterprise Project) |
|---|---|---|---|---|
列举全部桶 | obs:bucket:ListAllMyBuckets | √ | √ | |
创建桶 | obs:bucket:CreateBucket | √ | √ | |
列举桶内对象 | obs:bucket:ListBucket | √ | √ | |
列举桶内多版本对象 | obs:bucket:ListBucketVersions | √ | √ | |
判断桶是否存在并获取桶的元数据 | obs:bucket:HeadBucket | √ | √ | |
获取桶位置 | obs:bucket:GetBucketLocation | √ | √ | |
删除桶 | obs:bucket:DeleteBucket | √ | √ | |
设置桶策略 | obs:bucket:PutBucketPolicy | √ | √ | |
获取桶策略配置的相关信息 | obs:bucket:GetBucketPolicy | √ | √ | |
删除桶策略 | obs:bucket:DeleteBucketPolicy | √ | √ | |
设置桶ACL | obs:bucket:PutBucketAcl | √ | √ | |
获取桶ACL的相关信息 | obs:bucket:GetBucketAcl | √ | √ | |
设置桶日志记录 | obs:bucket:PutBucketLogging | √ | √ | |
获取桶日志记录的相关信息 | obs:bucket:GetBucketLogging | √ | √ | |
设置和删除桶生命周期规则 | obs:bucket:PutLifecycleConfiguration | √ | √ | |
获取桶生命周期规则 | obs:bucket:GetLifecycleConfiguration | √ | √ | |
设置多版本 | obs:bucket:PutBucketVersioning | √ | √ | |
获取桶多版本的相关信息 | obs:bucket:GetBucketVersioning | √ | √ | |
设置桶默认存储类型 | obs:bucket:PutBucketStoragePolicy | √ | √ | |
获取桶默认存储类型 | obs:bucket:GetBucketStoragePolicy | √ | √ | |
设置桶的跨区域复制配置 | obs:bucket:PutReplicationConfiguration | √ | √ | |
获取桶的跨区域复制配置 | obs:bucket:GetReplicationConfiguration | √ | √ | |
删除桶的跨区域复制配置 | obs:bucket:DeleteReplicationConfiguration | √ | √ | |
设置桶标签 | obs:bucket:PutBucketTagging | √ | √ | |
获取桶标签 | obs:bucket:GetBucketTagging | √ | √ | |
删除桶标签 | obs:bucket:DeleteBucketTagging | √ | √ | |
设置桶配额 | obs:bucket:PutBucketQuota | √ | √ | |
获取桶配额 | obs:bucket:GetBucketQuota | √ | √ | |
获取桶存量信息 | obs:bucket:GetBucketStorage | √ | √ | |
设置桶清单 | obs:bucket:PutBucketInventoryConfiguration | √ | √ | |
获取和列举桶清单 | obs:bucket:GetBucketInventoryConfiguration | √ | √ | |
删除桶清单 | obs:bucket:DeleteBucketInventoryConfiguration | √ | √ | |
设置桶的自定义域名 | obs:bucket:PutBucketCustomDomainConfiguration | √ | √ | |
获取桶的自定义域名 | obs:bucket:GetBucketCustomDomainConfiguration | √ | √ | |
删除桶的自定义域名 | obs:bucket:DeleteBucketCustomDomainConfiguration | √ | √ | |
设置和删除桶的加密配置 | obs:bucket:PutEncryptionConfiguration | √ | √ | |
获取桶的加密配置 | obs:bucket:GetEncryptionConfiguration | √ | √ | |
设置桶归档存储对象直读策略 | obs:bucket:PutDirectColdAccessConfiguration | √ | √ | |
获取桶归档存储对象直读策略 | obs:bucket:GetDirectColdAccessConfiguration | √ | √ | |
删除桶归档存储对象直读策略 | obs:bucket:DeleteDirectColdAccessConfiguration | √ | √ | |
设置桶的静态网站托管 | obs:bucket:PutBucketWebsite | √ | √ | |
获取桶的静态网站配置的相关信息 | obs:bucket:GetBucketWebsite | √ | √ | |
删除桶的静态网站托管配置 | obs:bucket:DeleteBucketWebsite | √ | √ | |
设置和删除桶CORS | obs:bucket:PutBucketCORS | √ | √ | |
获取桶CORS配置的相关信息 | obs:bucket:GetBucketCORS | √ | √ | |
删除解压策略 | obs:notificationPolicy:DeleteDecompressRules | √ | √ | |
配置桶级默认WORM策略 | obs:bucket:PutBucketObjectLockConfiguration | √ | √ | |
获取桶级默认WORM策略 | obs:bucket:GetBucketObjectLockConfiguration | √ | √ | |
设置桶级阻止公开访问配置 | obs:bucket:PutBucketPublicAccessBlock | √ | √ | |
获取桶级阻止公开访问配置 | obs:bucket:GetBucketPublicAccessBlock | √ | √ | |
删除桶级阻止公开访问配置 | obs:bucket:DeleteBucketPublicAccessBlock | √ | √ | |
获取桶公开状态 | obs:bucket:GetBucketPublicStatus | √ | √ | |
获取桶策略公开状态 | obs:bucket:GetBucketPolicyPublicStatus | √ | √ | |
列举桶中已初始化多段任务 | obs:bucket:ListBucketMultipartUploads | √ | √ |
对象相关授权项
权限 | 对应API接口 | 授权项(Action) | IAM项目(Project) | 企业项目(Enterprise Project) |
|---|---|---|---|---|
可用作于PUT上传对象,POST上传对象,复制对象,追加写对象,初始化上传段任务,上传段,拷贝段,合并段,修改写对象,截断对象,重命名对象 | obs:object:PutObject | √ | √ | |
获取对象内容和对象元数据 | obs:object:GetObject | √ | √ | |
获取指定版本对象内容和对象元数据 | obs:object:GetObjectVersion | √ | √ | |
单个删除和批量删除对象 | obs:object:DeleteObject | √ | √ | |
单个删除和批量删除指定版本对象 | obs:object:DeleteObjectVersion | √ | √ | |
恢复归档存储对象 | obs:object:RestoreObject | √ | √ | |
设置对象ACL | obs:object:PutObjectAcl | √ | √ | |
设置指定版本对象ACL | obs:object:PutObjectVersionAcl | √ | √ | |
获取对象ACL的相关信息 | obs:object:GetObjectAcl | √ | √ | |
获取指定版本对象ACL的相关信息 | obs:object:GetObjectVersionAcl | √ | √ | |
修改对象元数据 | obs:object:ModifyObjectMetaData | √ | √ | |
列举已上传段 | obs:object:ListMultipartUploadParts | √ | √ | |
取消多段上传任务 | obs:object:AbortMultipartUpload | √ | √ | |
设置对象标签 | obs:object:PutObjectTagging | √ | √ | |
获取对象标签 | obs:object:GetObjectTagging | √ | √ | |
删除对象标签 | obs:object:DeleteObjectTagging | √ | √ | |
配置对象级WORM保护策略 | obs:object:PutObjectRetention | √ | √ | |
获取对象级WORM保护策略 | obs:object:GetObjectRetention | √ | √ |

