iam权限

IAM权限

通过IAM,您可以在云账号中创建IAM用户,并使用策略来控制IAM用户对云资源的访问范围。

IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。

对于OS2,IAM权限的OS2权限是作用于OS2所有的桶和对象的。如果要授予IAM用户操作OS2资源的权限,则需要向IAM用户进行策略绑定。

1. 策略结构和语法

策略结构包括:Version(策略版本号)和Statement(策略权限语句),其中Statement可以有多个,表示不同的授权项。每条策略权限语句Statement包括授权效力(Effect)、操作(Action)、资源(Resource)和条件(Condition)。

策略语法示例

{
"Version": "1",
"Statement": [
        {
            "Effect": "Allow",
            "Action": "os2:ListObjects",
            "Resource": "ycs:os2:*:*:myphotos"
        },
        {
            "Effect": "Allow",
            "Action": "os2:GetObject",
            "Resource": "ycs:os2:*:*:myphotos/*"
        }
    ]
}

Effect

Allow/Deny,Deny优先。

Action

Action分为以下三大类:

  • Service级别操作:对应的是GetService操作,用来列举所有属于该用户的Bucket列表。
  • Bucket级别操作:操作的对象是Bucket,其名称和相应的接口名称一一对应。
  • Object级别操作:操作的对象是Object,其名称和相应的接口名称一一对应。

具体的Action和API接口的对应关系如下:

  • Service级别
API Action
Get Bucket List os2:ListBuckets
Put Bucket os2:PutBuckets

Bucket级别

API Action
Get Bucket Objects os2:ListObjects
Put Bucket ACL os2: PutBucketAcl
Get Bucket ACL os2: GetBucketAcl
Delete Bucket os2:DeleteBucket
Get Bucket Multipart Uploads os2: ListMultipartUploads
Put Bucket Lifecycle os2:PutBucketLifecycle
Get Bucket Lifecycle os2:GetBucketLifecycle
Delete Bucket Lifecycle os2:DeleteBucketLifecycle

Object级别

API Action
Put Object os2:PutObject
Initiate Multipart Upload
Upload Part
Complete Multipart Upload
Get Object os2:GetObject
Get Object Info
Copy Object os2:CopyObject
Upload Part Copy
Delete Object os2:DeleteObject
Put Object ACL os2:PutObjectAcl
Get Object ACL os2:GetObjectAcl
Get Multipart Upload Parts os2:ListParts
Abort Multipart Upload os2: AbortMultipartUpload
Restore Object os2:RestoreObject

Resource

在OSS中,Resource指代某个具体资源或者某些资源,支持通配符星号 。单个IAM Policy允许包含多个Resource。

Resource规则:

ycs:os2:{region}:{bucket_owner}:{bucket_name}/{object_name}

注意:

针对Bucket级别的Resource设置,不需要在{bucket_name}之后添加正斜线 ⁄ 以及{object_name} ,即:

ycs:os2:{region}:{bucket_owner}:{bucket_name}

region字段当前仅支持设置为通配符星号

Condition

Condition代表IAM权限的一些条件,可以设置对于 ycs:UserAgent 的检查、 ycs:SourceIp的检查,还可以使用 os2:Prefix 项在调用 GetBucket 时对资源进行限制。

OS2支持的Condition如下:

API Action
ycs:SourceIp 指定普通IP网段,支持通配符星号
ycs:UserAgent 指定HTTP User-Agent头。
类型:字符串。
ycs:SecureTransport 请求的协议类型。如果请求是HTTP协议,则为HTTP,如果是HTTPS协议,则为HTTPS。
os2:Prefix 用于ListObjects请求时,列举指定前缀的Object。
ycs:AccessId 请求中携带的AccessId。

IAM权限设定和读取方法:

  • 控制台:创建自定义策略(敬请期待)

个结果匹配 ""

    无结果匹配 ""