IAM策略
通过IAM,您可以在云账号中创建IAM用户,并使用策略来控制IAM用户对云资源的访问范围。
IAM策略是作用于云资源的,IAM策略定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。
对于OBS,IAM策略的OBS权限是作用于OBS所有的桶和对象的。如果要授予IAM用户操作OBS资源的权限,则需要向用户所属的用户组授予一个或多个OBS权限集。
IAM策略的OBS权限详情请参见权限管理。
IAM策略应用场景
IAM策略主要面向对同账号下IAM用户授权的场景:
- 使用策略控制账号下整个云资源的权限时,使用IAM策略授权。
 - 使用策略控制账号下OBS所有的桶和对象的权限时,使用IAM策略授权。
 
策略结构&语法
策略结构包括:Version(策略版本号)和Statement(策略权限语句),其中Statement可以有多个,表示不同的授权项。
  {
      "Version": "1.1",
      "Statement": [
            {
                  "Effect": "Allow",
                  "Action": [
                        "obs:bucket:ListAllMybuckets",
                        "obs:bucket:HeadBucket",
                        "obs:bucket:ListBucket",
                        "obs:bucket:GetBucketLocation"
                  ]
            }
      ]
}
  | 
        参数  | 
      
        说明  | 
     
|---|---|
| 
        Version  | 
      
        
        标识策略的版本号:
         
  | 
     
| 
        Statement  | 
      
        策略授权语句,描述策略的详细信息,包含Effect(作用)、Action(授权项)、Resource(资源)和Condition(条件)。其中Condition为可选。 
  | 
     
IAM策略鉴权
IAM策略遵循Deny优先的原则。在用户访问资源时,权限检查逻辑如下:
  
 
   每条策略做评估时,Action之间是“或(or)”的关系。
- 用户访问系统,发起操作请求。
 - 系统评估用户被授予的访问策略,鉴权开始。
 - 在用户被授予的访问策略中,系统将优先寻找显式拒绝指令。如找到一个适用的显式拒绝,系统将返回Deny决定。
 - 如果没有找到显式拒绝指令,系统将寻找适用于请求的任何Allow指令。如果找到一个显式允许指令,系统将返回Allow决定。
 - 如果找不到显式允许,最终决定为Deny,鉴权结束。