
# 角色语法介绍
角色是IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度，提供有限的服务相关角色用于授权。角色并不能满足用户对精细化授权的要求，无法完全达到企业对权限最小化的安全管控要求。
由于华为云各服务之间存在业务依赖关系，因此给用户或用户组授予角色时，需要将依赖的其他角色一并授予该用户或用户组，保证权限生效。具体请参见：[依赖角色的授权方法](https://support.huaweicloud.com/usermanual-iam/iam_01_0657.html)。
#### 约束与限制
企业项目授权场景下不支持授予角色。
#### 角色内容
给用户组选择角色时，单击角色前面的![](https://support.huaweicloud.com/usermanual-iam/zh-cn_image_0000001162246460.png)，可以查看角色的详细内容，以"DNS Administrator"为例，说明角色的内容。
图1DNS Administrator角色内容   
![](https://support.huaweicloud.com/usermanual-iam/zh-cn_image_0000001918735470.png "点击放大")
```
{
    "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资源类型可以执行所有操作。                                                                                                                                                                                |
| Statement： 角色的授权语句  | Effect：作用    | 定义Action中的操作权限是否允许执行 | - Allow：允许执行。  - Deny：不允许执行。   说明： 当同一个Action的Effect既有Allow又有Deny时，遵循Deny优先的原则。                                      |
| Depends： 角色的依赖关系 | catalog      | 依赖的角色所属服务            | 服务名称。例如：BASE、VPC。                                                                                                                                                                                                                                                                                              |
| Depends： 角色的依赖关系 | display_name | 依赖的角色名称              | 角色名称。 说明： 给用户组授予示例的"DNS Administrator"角色时，必须同时勾选该角色依赖的角色"Tenant Guest"和"VPC Administrator"，"DNS Administrator"才会生效。 了解更多角色依赖关系，请参考：[系统权限](https://support.huaweicloud.com/usermanual-permissions/iam_01_0001.html)。 |
   
