文档中心

存储空间策略(Bucket Policy)


空间策略定义了对KS3资源(空间和对象)的访问控制策略。只有空间的所有者才能对该空间配置空间策略。

用户对空间和空间内对象的访问请求都受到空间策略的控制,这种访问控制表现为接受或拒绝请求。对访问请求是接受还是拒绝,取决于空间策略中的描述。

1. 设置位置:空间设置->空间策略,点击添加策略

2. 设置空间策略

Effect:操作效果,allow、deny,allow表示允许,deny表示禁止。

Actions:操作关键字,允许或者禁止的操作类型,操作关键字和操作对应关系见下表。

Principal:指定委托人,通过用户id表示,任何账户可以通过在自己的控制台点击查看账号ID查看自己的账号ID。

Resource:资源(空间和对象),如果没有明确的资源指向,此处建议填写资源全集(bucketname,bucketname/*),如上图示例。

3. 保存成功后,可以点击策略语言,查看空间策略内容

4. 权限判断逻辑

Policy在做权限判断时,每条Statement会有3种结果,explicit deny、allow和default deny。Bucket Policy对于Policy中的多条Statement采用以下规则进行判定:Bucket Policy对Policy中包含的每条Statement都要进行Explicit Deny、Allow和Default Deny的判断,最终的判决结果遵循explicit deny>allow>default deny的规则:

(1)如果没有显式的Deny和Allow,则请求权限判别为Default Deny

(2)显式的Deny覆盖Allow

(3)Allow覆盖默认的Default Deny

(4)Statement的顺序没有影响

5. 操作关键字和操作的对应关系

权限关键字 涉及的KS3操作
• ks3:AbortMultipartUpload 取消分块上传
• ks3:DeleteBucket DELETE Bucket
• ks3:DeleteBucketPolicy DELETE Bucket policy
• ks3:DeleteObject DELETE Object
• ks3:GetBucketAcl GET Bucket ACL
• ks3:GetBucketCORS GET Bucket cors
• ks3:GetBucketLocation GET Bucket location
• ks3:GetBucketLogging GET Bucket logging
• ks3:GetBucketPolicy GET Bucket policy
• ks3:GetObject GET Object
HEAD Object
• ks3:GetObjectAcl GET Object ACL
• ks3:ListBucket GET Bucket(List Objects)
HEAD Bucket
• ks3:ListBucketMultipartUploads 列出分段上传
• ks3:ListMultipartUploadParts 列出分段
• ks3:PutBucketAcl PUT Bucket ACL
• ks3:PutBucketCORS PUT Bucket cors
• ks3:PutBucketLogging PUT Bucket logging
• ks3:PutBucketPolicy PUT Bucket policy
• ks3:PutObject PUT Object
POST Object
Initiate Multipart Upload
Upload Part
Complete Multipart Upload
• ks3:PutObjectAcl PUT Object ACL