上云无忧 > 文档中心 > 天翼云对象存储(OOS经典版)I型访问控制IAM策略教程
对象存储
天翼云对象存储(OOS经典版)I型访问控制IAM策略教程

文档简介:
策略是以JSON格式描述权限的信息。管理员创建的IAM用户在没有授权策略前是没有任何权限的。只有将策略授权给用户组或者用户,用户才拥有对应的权限。 IAM支持系统策略和自定义策略: 系统策略:天翼云OOS预先创建好的策略,用户可以根据自身需求,直接引用。对于系统策略,用户只能使用,不能修改。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

IAM策略


策略是以JSON格式描述权限的信息。管理员创建的IAM用户在没有授权策略前是没有任何权限的。只有将策略授权给用户组或者用户,用户才拥有对应的权限。

IAM支持系统策略和自定义策略:

  • 系统策略:天翼云OOS预先创建好的策略,用户可以根据自身需求,直接引用。对于系统策略,用户只能使用,不能修改。

  • 自定义策略:用户自己创建的策略,用户可以对该类型策略进行修改和删除。

点击菜单栏中的访问控制->权限策略,进入权限策略,可以查看策略列表、创建自定义策略、删除自定义策略、对策略进行管理等。

系统策略

目前支持的系统策略有以下几种:

策略名

描述

AdministratorAccess

所有权限,与根用户的权限一样多。

IAMReadOnlyAccess

IAM相关的get和list权限。

OOSCloudTrailFullAccess

操作跟踪需要的相关权限,包括:

lOOSCreateBucketDeleteBucketGetBucketHeadBucketGetServiceGetObject

lClouldTrail:所有操作。

OOSCloudTrailReadOnlyAccess

操作跟踪读相关的权限,包括:GetTrailStatus、DescribeTrails、LookupEvents、GetEventSelectors、GetObject、GetService。

OOSFullAccess

OOS的所有权限,包括Bucket和Object的所有操作。

OOSIAMFullAccess

IAM只读权限,包括IAM的GET、List相关操作。

OOSReadOnlyAccess

OOS只读权限,包括Bucket和Object的GET、List相关操作。

自定义策略

  • 新建自定义策略

点击访问控制->权限策略->新建,进入新建策略界面,可以按照下列步骤进行新建策略。

  1. 输入策略名称。策略名需遵循下列规则: 1~128位字符串组成,字符只能包含字母、数字或特殊字符,不包含空格。字母不区分大小写,特殊字符只能是:下划线(_)、中划线(-)、逗号(,)、句点(.)、加号(+)、等号(=)和at符号(@)。

  2. 策略名必须唯一。

  3. 添加描述(可选):可以对策略进行概要描述。

  4. 添加策略内容,可以通过可视化策略编辑JSON编程实现。

  • 可视化策略编辑

点击添加策略语句,弹出添加授权语句对话框,可以根据需要,对该策略进行权限配置。


项目

描述

选择产品/服务

可以定义选择服务产品的类型:

  • oos:对象存储;

  • cloudtrail:操作跟踪;

  • statistics:统计;

  • iam:用户身份管理与访问控制服务

选择效果

对选择操作的效果:

  • 允许:根据选择的操作类别,对选择的操作效果表现为允许;

  • 拒绝:根据选择的操作类别,对选择的操作效果表现为拒绝。

操作类别

选择操作的类别。可以在搜索框中模糊搜索或者精准搜索,搜索出的操作会在操作列表中显示。

操作类别

  • Action:对指定的操作匹配;

  • NotAction:与指定的操作之外的其他操作匹配的策略元素。使用NotAction时:

(1)如果使用允许效果,则允许未列出的所有适用操作或服务;

(2)如果使用拒绝效果,则拒绝此类未列出的操作或服务。

操作列表

可以在操作列表中选择需要对操作实行的策略。各服务包含的策略见操作列表

资源类别

资源是策略生效的实体:

  • Resource:策略生效的资源。

  • NotResource:除指定资源外的其他资源,策略生效。

资源

可以指定所有资源,也可以指定特定资源。选特定资源时,必须添加具体的资源ARN。

对于statistics,无法选择资源,默认所有资源

条件(可选)

用户策略生效的条件。

注意:如果条件值输入的是时间,将需要设置的时间转换为UTC+0时间。

  • 操作列表

产品/服务

描述

OOS

列表:

  • ListBucket

  • ListAllMyBucket

  • GetRegions

读:

  • ListBucketMultipartUploads

  • GetBucketAcl

  • GetBucketAccelerate

  • GetBucketLocation

  • GetBucketPolicy

  • GetLifecycleConfiguration

  • GetBucketWebsite

  • GetBucketCORS

  • GetBucketLogging

  • GetObject

  • ListMultipartUploadParts

写:

  • DeleteBucket

  • PutLifecycleConfiguration

  • PutBucketWebsite

  • DeleteBucketWebsite

  • PutBucketCORS

  • PutBucketLogging

  • PutAccelerateConfiguration

  • PutObject

  • DeleteObject

  • DeleteMultipleObjects

  • AbortMultipartUpload

  • PutBucket

权限管理:

  • PutBucketPolicy

  • DeleteBucketPolicy

cloudtrail

 

列表:

  • DescribeTrails

  • LookupEvents

读:

  • GetEventSelectors

  • GetTrailStatus

写:

  • PutEventSelectors

  • StopLogging

  • CreateTrail

  • UpdateTrail

  • DeleteTrail

  • StartLogging

statistics

GetAccountStatistcsSummary

iam

列表:

  • GetAccountSummary

  • GetLoginProfile

  • ListAccessKeys

  • ListUsers

  • ListUserTags

  • ListGroups

  • ListGroupsForUser

  • ListPolicies

  • ListAttachedGroupPolicies

  • ListAttachedUserPolicies

  • ListEntitiesForPolicy

  • ListVirtualMFADevices

  • ListMFADevices

读:

  • GetUser

  • GetGroup

  • GetPolicy

  • GetAccountPasswordPolicy

写:

  • CreateAccessKey

  • DeleteAccessKey

  • UpdateAccessKey

  • CreateUser

  • DeleteUser

  • TagUser

  • UntagUser

  • CreateGroup

  • DeleteGroup

  • AddUserToGroup

  • RemoveUserFromGroup

  • ChangePassword

  • UpdateAccountPasswordPolicy

  • DeleteAccountPasswordPolicy

  • CreateVirtualMFADevice

  • DeleteVirtualMFADevice

  • EnableMFADevice

  • DeactivateMFADevice

  • CreateLoginProfile

  • DeleteLoginProfile

  • UpdateLoginProfile

权限:

  • CreatePolicy

  • DeletePolicy

  • AttachUserPolicy

  • DetachUserPolicy

  • AttachGroupPolicy

  • DetachGroupPolicy

  • 条件描述

条件键

运算符

ctyun:CurrentTime

l    DateEquals:匹配指定日期;

l    DateNotEquals:不等于指定日期;

l    DateLessThan:早于指定日期;

l    DateLessThanEquals:早于或等于指定日期;

l    DateGreaterThan:晚于指定日期;

l    DateGreaterThanEquals:晚于或等于指定日期。

格式为:yyyy-MM-dd’T’HH:mm:ss’Z’。例如:2019-12-18T09:00:00Z

DateEqualsDateNotEquals精确到天,其他精确到秒。

注意:将需要设置的时间转换为UTC+0时间。

ctyun:SourceIp

l  IpAddress:与指定IP地址或范围匹配;

l  NotIpAddress:除指定IP地址或范围外的所有IP地址匹配。

IPv4:点分十进制格式。

IPv63216进制数,格式为X:X:X:X:X:X:X:X

如果指定地址范围,IP地址后加掩码表示,如192.163.1.5/3

ctyun:userid

l    StringEquals:精准匹配指定的值,区分大小写;

l    StringNotEquals:与指定的值不匹配,区分大小写;

l    StringEqualsIgnoreCase:与指定的值精准匹配,不区分大小写。

l    StringNotEqualsIgnoreCase:与指定的值不匹配,不区分大小写;

l    StringLike:与指定的值精准匹配;或通过填充通配符,与指定的值相似,可以包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)。区分大小写;

l    StringNotLike:与指定的值不能进行模糊匹配,区分大小写。

包含数字和小写字母的32位字符串。

运算符为StringLikeStringNotLike可以包含通配符。

ctyun:username

l    StringEquals:精准匹配指定的值,区分大小写;

l    StringNotEquals:与指定的值不匹配,区分大小写;

l    StringEqualsIgnoreCase:与指定的值精准匹配,不区分大小写。

l    StringNotEqualsIgnoreCase:与指定的值不匹配,不区分大小写;

l    StringLike:与指定的值精准匹配;或通过填充通配符,与指定的值相似,可以包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)。区分大小写;

l    StringNotLike:与指定的值不匹配,区分大小写。值可以在字符串中的任何位置包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)

1~64位字符串组成,字符只能包含字母、数字或特殊字符,字母不区分大小写,特殊字符只能是:下划线(_)、中划线(-)、逗号(,)、句点(.)、加号(+)、等号(=)和at符号(@)。

说明:运算符为StringLikeStringNotLike可以包含通配符。

ctyun:UserAgent

l    StringEquals:精准匹配指定的值,区分大小写;

l    StringNotEquals:与指定的值不匹配,区分大小写;

l    StringEqualsIgnoreCase:与指定的值精准匹配,不区分大小写。

l    StringNotEqualsIgnoreCase:与指定的值不匹配,不区分大小写;

l    StringLike:与指定的值精准匹配;或通过填充通配符,与指定的值相似,可以包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)。区分大小写;

l    StringNotLike:与指定的值不匹配,区分大小写的无效匹配。或通过填充通配符,与指定的值也不匹配。

字符串,可以包含特殊字符。

ctyun:Referer

l    StringEquals:精准匹配指定的值,区分大小写;

l    StringNotEquals:与指定的值不匹配,区分大小写;

l    StringEqualsIgnoreCase:与指定的值精准匹配,不区分大小写。

l    StringNotEqualsIgnoreCase:与指定的值不匹配,不区分大小写;

l    StringLike:与指定的值精准匹配;或通过填充通配符,与指定的值相似,可以包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)。区分大小写;

l    StringNotLike:与指定的值不匹配,区分大小写的无效匹配。或通过填充通配符,与指定的值也不匹配。

字符串,可以包含特殊字符。

ctyun:SecureTransport

Bool:布尔匹配。

l  true

l  false

ctyun:MultiFactorAuthPresent

Bool:布尔匹配。

说明:只有IAM服务支持此条件键。

l  true

l  false

ctyun:MultiFactorAuthAge

l  NumericEquals:与指定的值相同;

l  NumericNotEquals:与指定的值不同,否定匹配;

l  NumericLessThan:小于指定的值;

l  NumericLessThanEquals:小于等于指定的值;

l  NumericGreaterThan:大于指定的值;

l  NumericGreaterThanEquals:大于等于指定的值。

说明:只有IAM服务支持此条件键。

整数形式。

oos:prefix

l  StringEquals:精准匹配指定的值,区分大小写;

l  StringNotEquals:与指定的值不匹配,区分大小写;

l  StringEqualsIgnoreCase:与指定的值精准匹配,不区分大小写。

l  StringNotEqualsIgnoreCase:与指定的值不匹配,不区分大小写;

l  StringLike:与指定的值精准匹配;或通过填充通配符,与指定的值相似,可以包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)。区分大小写;

l  StringNotLike:与指定的值不匹配,区分大小写。值可以在字符串中的任何位置包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)

字符串形式。

说明:本条件键仅对ListBucket生效。

oos:x-amz-acl

l  StringEquals:精准匹配指定的值,区分大小写;

l  StringNotEquals:与指定的值不匹配,区分大小写;

l  StringEqualsIgnoreCase:与指定的值精准匹配,不区分大小写。

l  StringNotEqualsIgnoreCase:与指定的值不匹配,不区分大小写;

l  StringLike:与指定的值精准匹配;或通过填充通配符,与指定的值相似,可以包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)。区分大小写;

l  StringNotLike:与指定的值不匹配,区分大小写。值可以在字符串中的任何位置包括多字符匹配的通配符 (*) 或单字符匹配的通配符 (?)

字符串形式。

取值为:

l  private:私有

l  public-read:只读

l  public-read-write:公有

说明:创建Bucket时,通过使用此条件键可以控制存储桶ACL的类型,本条件键仅对PutBucket生效。


  • JSON编程授权

可以使用JSON语言对策略内容进行添加。以下列策略为例,说明JSON编程策略的语法结构。


{

  "Version":   "2012-10-17",

  "Statement": [

    {

      "Effect": "Allow",

      "Action": [

        "oos:ListAllMyBuckets",

        "oos:GetBucketLocation"

      ],

      "Resource": " arn:ctyun:oos::02elbe4neijs7:*   ",

"Condition" :    {

        "DateGreaterThan" : {

           "ctyun:CurrentTime" : "2019-01-16T12:00:00Z"

       },

        "DateLessThan": {

           "ctyun:CurrentTime" : "2019-01-16T12:00:00Z"

       },

         "IpAddress" : {

            "ctyun:SourceIp" : ["192.0.2.0/24",   "203.0.113.0/24"]

      }

}

}

  ]

}

  • JSON编程参数表

参数

含义

Version

策略的版本

2012-10-17

Statement:策略的授权语句。Statement可以有多个,表示不同的授权结构。

Effect:效果

定义操作的选择效果

l    Allow:允许执行;

l    Deny:拒绝执行。

说明:当同一个Action中的Effect同时包含AllowDeny时,遵循Deny优先的原则。

l  Action:对操作的类别显性匹配;

l  NotAction:与指定的操作之外的其他操作显匹配。

说明:对于一个StatementActionNotAction二选一

定义操作的类别

格式为

l  服务名

Ø  oos:对象存储;

Ø  cloudtrail:操作跟踪;

Ø  statistics:管理API

Ø  iam:访问控制。

l  操作列表:操作列表。

l    Resource:策略生效的资源;

l    NotResource:除指定资源外,策略生效。

资源类别

格式可以为

l  arn:ctyun:service::accountid:resource

l  arn:ctyun:service::accountid:resourcetype/resource

其中:

l  service:服务名;

l    accountid:账户ID

l  resource:具体资源。在指定资源时,可以使用通配符,其中*表示字符的任意组合,?表示任何单个字符;例如oos可以表示为:arn:ctyun:oos::accountID:bucket/object,其中bucketobject为用户实际的资源名称。

l    resourcetype:资源类型。可以使用*表示所有资源类型。根据服务不同,对应的resourcetype不同:

n    iamresourcetype可以为:usergrouppolicymfa*

n    cloudtrailresourcetype可以为:trail*

n    statisticsresourcetype可以为: *

Condition:条件

策略生效的条件

格式为:

条件运算符:{条件名:[条件值1,条件值2]}

说明:一个Condition可以包含多个条件运算符,一个条件运算符又可以包含一个条件名和多个条件值。


  • IfExists条件运算符

IfExists:如果请求的内容中存在关键字,则依照策略所述的条件来处理关键字。如果该关键字不存在,则条件元素的计算结果将为true。

目前仅Bool型和数字类型的运算符支持使用IfExists条件运算符,表达形式:运算符IfExists,例如BoolIfExists、NumericEqualsIfExists。对于…IfExists的使用见示例1和示例2。

 

示例1

  • 拒绝没有使用MFA认证的控制台请求,不拒绝使用MFA认证的控制台请求和使用密钥的API请求。但如果允许使用MFA认证的控制台请求和使用密钥的API请求,需要再写显性允许语句。

"Effect" : "Deny",

"Condition" : { "Bool" : {   "ctyun:MultiFactorAuthPresent" : false } }

 

  • 拒绝没有使用MFA认证的控制台请求及使用密钥的API请求,不拒绝MFA认证的控制台请求。但如果允许MFA认证的控制台请求,需要再写显性允许语句。

"Effect" : "Deny",

"Condition" : { "BoolIfExists" : {   "ctyun:MultiFactorAuthPresent" : false } }

 

示例2

  • 允许使用MFA认证在1800秒内的请求及使用密钥的API请求。

"Effect" : "Allow",

"Condition" : { "   NumericLessThanEqualsIfExists" : { "ctyun:MultiFactorAuthAge " : 1800 } }

 

  • 允许使用MFA认证在1800秒内的请求,但不允许MFA认证超过1800秒以上及没有使用MFA的请求(包括API请求)。

"Effect" : "Allow",

"Condition" : { "   NumericLessThanEquals" : { "ctyun:MultiFactorAuthAge " : 1800 } }

 

  • 修改自定义策略

策略内容

点击权限策略->策略名称->策略内容->编辑策略,弹出编辑策略界面,可以通过可视化策略编辑器JSON对策略进行编辑,具体编辑方法见新建策略策略语法结构

  • 删除自定义策略

点击导航栏的权限策略,进入权限策略页面。选择需要删除的策略进行勾选,点击删除策略,可以删除未关联用户和用户组的策略。

点击操作中的删除,可以删除该策略。

查看策略基本信息

权限策略页面,点击策略名或者管理,可以进入具体策略页面,在该页面可以查看策略的基本信息和修改策略。

策略基本信息包含:策略名称、策略类型、创建时间、最近修改时间、描述。

授权用户

权限策略页面,点击授权用户,弹出授权用户页面。选择需要授权的用户,可以为用户进行授权。弹框中灰色的用户表示已关联该策略的用户。

 

  • 授权用户/组

权限策略页面,点击授权,弹出授权用户/页面。选择需要授权的用户或用户组,可以为其进行授权。弹框中灰色的用户组表示已关联该策略的用户或用户组。

查看授权用户/组

在权限策略页,点击对应策略或者策略后的管理,进入对应策略详情页,可以在用户/,查看当前策略已关联的用户和用户组,同时可以为用户或用户组进行授权移除授权

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部