更新时间:2023-03-07 GMT+08:00

角色

角色是IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。

由于云服务平台各服务之间存在业务依赖关系,因此给用户或用户组授予角色时,需要将依赖的其他角色一并授予该用户或用户组,保证权限生效。具体请参见:依赖角色的授权方法

角色内容

给用户组选择角色时,单击角色前面的,可以查看角色的详细内容,以“DNS Administrator”为例,说明角色的内容。

图1 DNS Administrator角色内容
{
    "Version": "1.0",
    "Statement": [
        {
            "Action": [
                "DNS:Zone:*",
                "DNS:RecordSet:*",
                "DNS:PTRRecord:*"
            ],
            "Effect": "Allow"
        }
    ],
    "Depends": [
        {
            "catalog": "BASE",
            "display_name": "Tenant Guest"
        },
        {
            "catalog": "VPC",
            "display_name": "VPC Administrator"
        }
    ]
}

参数说明

表1 参数说明

参数

含义

Version

角色的版本

1.0:代表基于角色的访问控制。

Statement:

角色的授权语句

Action:授权项

操作权限

格式为:服务名:资源类型:操作

"DNS:Zone:*":表示对DNS的Zone所有操作。其中“DNS”为服务名;“Zone”为资源类型;“*”为通配符,表示对Zone资源类型可以执行所有操作。

Effect:作用

定义Action中的操作权限是否允许执行

  • Allow:允许执行。
  • Deny:不允许执行。
说明:

当同一个Action的Effect既有Allow又有Deny时,遵循Deny优先的原则。

Depends:

角色的依赖关系

catalog

依赖的角色所属服务

服务名称。例如:BASE、VPC。

display_name

依赖的角色名称

角色名称。

说明:

给用户组授予示例的“DNS Administraor”角色时,必须同时勾选该角色依赖的角色“Tenant Guest”和“VPC Administrator”,“DNS Administraor”才会生效。

了解更多角色依赖关系,请参考:权限集。