角色语法介绍
角色是IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
由于华为云各服务之间存在业务依赖关系,因此给用户或用户组授予角色时,需要将依赖的其他角色一并授予该用户或用户组,保证权限生效。具体请参见:依赖角色的授权方法。
约束与限制
企业项目授权场景下不支持授予角色。
角色内容
给用户组选择角色时,单击角色前面的
,可以查看角色的详细内容,以“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"
}
]
} 参数说明
| 参数 | 含义 | 值 | |
|---|---|---|---|
| Version | 角色的版本 | 1.0:代表基于角色的访问控制。 | |
| Statement: 角色的授权语句 | Action:授权项 | 操作权限 | 格式为:服务名:资源类型:操作 "DNS:Zone:*":表示对DNS的Zone所有操作。其中“DNS”为服务名;“Zone”为资源类型;“*”为通配符,表示对Zone资源类型可以执行所有操作。 |
| Effect:作用 | 定义Action中的操作权限是否允许执行 |
说明: 当同一个Action的Effect既有Allow又有Deny时,遵循Deny优先的原则。 | |
| Depends: 角色的依赖关系 | catalog | 依赖的角色所属服务 | 服务名称。例如:BASE、VPC。 |
| display_name | 依赖的角色名称 | 角色名称。 说明: 给用户组授予示例的“DNS Administrator”角色时,必须同时勾选该角色依赖的角色“Tenant Guest”和“VPC Administrator”,“DNS Administrator”才会生效。 了解更多角色依赖关系,请参考:系统权限。 | |