策略授权参考
本章节介绍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 |
√ |
√ |