桶策略
桶策略
桶策略是作用于所配置的OS2桶及桶内对象的。OS2桶拥有者通过桶策略可为IAM用户或其他账号授权桶及桶内对象的操作权限。
1. 桶策略的设置方式
桶策略提供三种方式,方便用户快速设置桶策略:
- 只读模式: 被授权用户将拥有桶内指定对象的读权限,对应可以执行获取对象内容及元数据操作。
- 读写模式: 被授权用户将拥有桶内指定对象的读写权限,对应可以执行获取对象内容及元数据、上传对象、删除对象等操作。
- 自定义模式: 自定义配置被授权用户和其拥有桶或对象的操作权限,由效果、被授权用户、资源、动作和条件5个桶策略基本参数共同决定。
2. 桶策略参数说明
效果 (Effect)
桶策略的效果,具体表现为 Allow(允许) 和 Deny(拒绝) 请求。
- Allow:指定本条桶策略描述的权限为接受请求。
- Deny:指定本条桶策略描述的权限为拒绝请求。
当桶策略中既有Allow又有Deny的授权语句时,遵循Deny优先的原则。其判定逻辑如下:
说明 :
- 用户发起访问请求。 OS2从桶策略中优先寻找效果设置为拒绝(显式拒绝)的策略。如果找到一个显式拒绝该访问请求的策略,OS2将直接返回拒绝访问的决定,访问请求结束。
- 如果没有显式拒绝该访问的策略,OS2将寻找允许该访问请求的策略。 如果找到显式允许的策略,OS2返回允许访问的决定,随后由OS2继续处理该请求。
- 如果找不到显式允许的策略,最终返回拒绝访问的决定,访问请求结束。
被授权用户 (Principal)
被授权用户,指桶策略作用的用户,可以是帐号,也可以是IAM用户。
指定当前账号的IAM用户
当桶策略的“被授权用户”类型设置“当前账号”时,可以选择配置当前账号下的IAM用户(可多选),即为当前账号的IAM用户授权桶策略。指定其他账号 当桶策略的“被授权用户”类型设置“其他账号”时,可以为设置一个其他账号。若是只想为其他账号下的IAM用户授权,则需再配置用户ID。
资源 (Resource)
在指定资源时,资源可以是当前整个桶,也可以是桶内对象。
指定资源为桶
指定资源为当前整个桶时,桶策略动作需配置为桶相关的动作,配置方法为选择配置到整个桶。指定资源为对象
指定资源为桶内对象时,桶策略动作需配置为对象相关的动作,配置格式如下:对象: 直接输入对象名称(包括文件夹名称)
例如:指定的资源是桶中
imgs-folder
文件夹下的example.jpg
文件,则在资源输入框中输入以下内容:imgs-folder/example.jpg
对象集:当指定给对象集时,使用通配符
﹡
。通配符﹡
表示0个或多个字符的任意组合。
其输入格式为:仅使用一个通配符
﹡
,表示桶中所有对象。使用
对象名称前缀
+﹡
,表示桶中所有以此前缀开头的对象。示例:imgs﹡
,代表以imgs开头的所有对象动作 (Action)
桶策略动作与资源相关,当资源为当前整个桶时,桶策略动作需配置为桶相关的动作;当资源为桶内对象时,桶策略动作需配置为对象相关的动作。
- 与桶相关的动作
API | Action | 描述 |
---|---|---|
Get Bucket Objects | ListObjects | 列举桶内对象 |
Put Bucket ACL | PutBucketACL | 设置桶ACL |
Get Bucket ACL | GetBucketACL | 获取桶ACL |
Delete Bucket | DeleteBucket | 删除桶 |
Get Bucket Multipart Uploads | ListMultipartUploads | 列举所有执行中的Multipart Upload事件 |
Put Bucket Lifecycle | PutBucketLifecycle | 设置桶生命周期 |
Get Bucket Lifecycle | GetBucketLifecycle | 获取桶生命周期 |
Delete Bucket Lifecycle | DeleteBucketLifecycle | 删除桶生命周期 |
- 与对象相关的动作
API | Action | 描述 |
---|---|---|
Put Object | Put Object | 上传对象 可用作于PUT上传,初始化上传分片任务,上传分片,合并分片。 |
Initiate Multipart Upload | ||
Upload Part | ||
Complete Multipart Upload | ||
Get Object | GetObject | 获取对象内容,获取对象元数据。 |
Get Object Info | ||
Copy Object | CopyObject | 复制对象 |
Upload Part Copy | ||
Delete Object | DeleteObject | 删除对象 |
Put Object ACL | PutObjectACL | 设置对象ACL |
Get Object ACL | GetObjectACL | 获取对象ACL |
Get Multipart Upload Parts | ListParts | 列举UploadId对应的所有已经成功上传的分片 |
Abort Multipart Upload | AbortMultipartUpload | 终止分片上传 |
Restore Object | RestoreObject | 解冻对象 |
条件 (Condition)
除了指定效果、被授权用户、资源、动作外,桶策略还可以指定生效条件。只有当条件设置的表达式与访问请求中的值匹配时,桶策略才生效。条件是可选参数,用户可以根据业务需要选择是否使用。
关键字 | 说明 |
---|---|
SourceIp | 指定普通IP网段,支持通配符星号 ﹡ |
UserAgent | 指定HTTP User-Agent头。 类型:字符串。 |
SecureTransport | 请求的协议类型。如果请求是HTTP协议,则为HTTP,如果是HTTPS协议,则为HTTPS。 |
Prefix | 用于ListObjects请求时,列举指定前缀的Object。 |
AccessId | 请求中携带的AccessId。 |