用户策略(User Policy)是基于用户的授权策略。通过设置用户策略,您可以集中管理您的用户,以及控制用户可以访问您名下哪些资源的权限,用户策略包含以下几个元素:
下面是一条用户策略示例。此策略允许对 examplebucket 存储桶具有ks3:listbucket和ks3:getobject的权限。创建完此策略后,将策略授权给子用户,子用户就拥有了相对应的权限。其他示例请参阅用户权限示例。
{
"Version":"2015-11-01",
"Statement": [
{
"Sid":"1",
"Effect":"Allow",
"Action":[
"ks3:ListBucket",
"ks3:GetObject"
],
"Resource":["krn:ksc:ks3:::examplebucket","krn:ksc:ks3:::examplebucket/*"]
}
]
}
注意:和空间策略(Bucket policy)不同,用户策略中不必指定被授权人,因为用户策略直接附加到特定用户。
在KS3中,使用资源名称(KRN)来标识资源,KRN的格式如下:
krn:ksc:ks3:::bucketname
krn:ksc:ks3:::bucketname/keyname
其中bucketname
表示存储空间名称,keyname
表示对象/文件(Object)的名称,支持通配符*(匹配多个字符)和?(匹配单个字符)。
以下为 KS3 资源KRN的示例:
krn:ksc:ks3:::mybucket
用户策略中不必指定,因为用户策略直接附加到特定用户。如何将自定义策略授权给IAM子用户或用户组或角色,请参照访问控制。
KS3在策略中指定的一组权限。每一个权限,都会映射到特定 KS3 操作。权限分为Service级别操作、Bucket级别操作以及Object级别的操作。各API接口功能描述的更多信息,请参见API概览。
Service级别操作对应的是ks3:ListBuckets,用来列举所有属于该用户的Bucket列表。
权限关键字 | 对应的KS3操作 |
---|---|
ks3:ListBuckets | 查询Bucket列表 |
注意:
ListBuckets是服务级别的操作,与Bucket级别ListBucket不同,ListBuckets能查看到所有的Bucket列表,但不能看到Bucket中具体的Object内容,而ListBucket可以看到Bucket下的Object信息。
Bucket级别操作的对象均为Bucket,权限关键字与对应的操作如下:
权限关键字 | 对应的KS3操作 |
---|---|
ks3:GetBucketLocation | 查询Bucket归属region |
ks3:PutBucket | 新建Bucket |
ks3:DeleteBucket | 删除Bucket |
ks3:ListBucket | 列举Bucket下的文件和查询bucket信息 |
ks3:GetBucketAcl | 获取Bucket的ACL信息 |
ks3:PutBucketAcl | 设置Bucket的ACL信息 |
ks3:PutBucketPolicy | 创建Bucket的空间策略信息 |
ks3:GetBucketPolicy | 获取Bucket的空间策略信息 |
ks3:DeleteBucketPolicy | 删除Bucket的空间策略信息 |
ks3:GetBucketCORS | 获取Bucket的CORS配置信息 |
ks3:PutBucketCORS | 设置Bucket的CORS |
ks3:DeleteBucketMirror | 删除(清空)Bucket回源规则 |
ks3:GetBucketMirror | 获取Bucket的CORS配置信息 |
ks3:PutBucketMirror | 设置Bucket回源规则 |
Object级别操作的对象均为Object,权限关键字与对应的操作如下:
权限关键字 | 对应的KS3操作 |
---|---|
ks3:PutObject | 上传文件,包含post、PUT和分块上传 |
ks3:DeleteObject | 删除文件 |
ks3:GetObject | GET Object 和 HEAD Object |
ks3:GetObjectAcl | 获取文件的ACL信息 |
ks3:PutObjectAcl | 设置文件的ACL |
ks3:ListBucketMultipartUploads | 列出分段上传 |
ks3:ListMultipartUploadParts | 列出分段 |
ks3:AbortMultipartUpload | 取消分块上传 |
ks3:PutBucketLifecycle | 创建生命周期管理规则 |
ks3:DeleteBucketLifecycle | 删除生命周期管理规则 |
ks3:GetBucketLifecycle | 查看生命周期管理规则 |
ks3:PostObjectRestore | 解冻归档文件 |
ks3:PutObjectTagging | 添加/更新对象的标签 |
ks3:GetObjectTagging | 查询对象的标签 |
ks3:DeleteObjectTagging | 删除对象的标签 |
访问策略语言可使您在授予权限时指定条件。在 Condition 元素(或 Condition 块)中,可以指定策略生效的条件。
KS3支持的Condition如下:
Condition | 功能 |
---|---|
ksc:SourceIp | 指定IP地址 |
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!