Listing Permissions
Function
This API is provided for the administrator to list all permissions.
The API can be called using both the global endpoint and region-specific endpoints. For IAM endpoints, see Regions and Endpoints.
URI
GET /v3/roles
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| domain_id | No | String | Account ID. For details about how to obtain the account ID, see Obtaining Account, IAM User, Group, Project, Region, and Agency Information. NOTE:
|
| permission_type | No | String | System permission type. This parameter is valid only when domain_id is left blank.
|
| name | No | String | Permission name for internal use. For example, ccs_user is the internal name of the CCS User role for Cloud Catalog Service (CCS). It is recommended that the display_name parameter rather than the name parameter be transferred. |
| display_name | No | String | Permission name or filter condition. The value of this parameter can be the permission name displayed on the console or included in System Permissions.
|
| page | No | Integer | Page number for pagination query, which must be used together with per_page. The minimum value is 1. You can use this parameter when you set domain_id to query custom policies. |
| per_page | No | Integer | Number of data records to be displayed on each page. The value ranges from 1 to 300, and the default value is 300. This parameter must be used together with page. A maximum of 300 permissions will be displayed on each page if the page and per_page parameters are not transferred. |
| type | No | String | Display mode of the permission. The options include domain, project, and all. domain means returning all permissions of the AA and AX levels; project means returning all permissions of the AA and XA levels; all means returning permissions of the AA, AX, and XA permissions. NOTE:
|
| catalog | No | String | Service catalog, which corresponds to the catalog field in policies. You can set this parameter to query system-defined policies and custom policies. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| Content-Type | Yes | String | Fill application/json;charset=utf8 in this field. |
| X-Auth-Token | Yes | String | Token with Security Administrator permissions. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| Object | Resource link information. | |
| Array of objects | Permission information. | |
| total_number | Integer | Total number of permissions. |
| Parameter | Type | Description |
|---|---|---|
| self | String | Resource link. |
| previous | String | Previous resource link. |
| next | String | Next resource link. |
| Parameter | Type | Description |
|---|---|---|
| domain_id | String | ID of the account to which the permission belongs. |
| flag | String | If this parameter is set to fine_grained, the permission is a system-defined policy. |
| description_cn | String | Description of the permission in Chinese. |
| catalog | String | Service catalog of the permission. |
| name | String | Permission name for internal use. For example, ccs_user is the internal name of the CCS User role for CCS. This parameter is carried in the token of a user, allowing the system to determine whether the user has permissions to access a specific cloud service. |
| description | String | Description of the permission. |
| Object | Permission resource link. | |
| id | String | Permission ID. |
| display_name | String | Permission name. |
| type | String | Display mode of the permission. NOTE:
|
| Object | Content of the permission. | |
| updated_time | String | Time when the permission was last updated. |
| created_time | String | Time when the permission was created. |
| Parameter | Type | Description |
|---|---|---|
| self | String | Resource link. |
| previous | String | Previous resource link. |
| next | String | Next resource link. |
| Parameter | Type | Description |
|---|---|---|
| Array of objects | Dependent permissions. | |
| Array of objects | Statement of the permission. | |
| Version | String | Policy version. NOTE:
|
| Parameter | Type | Description |
|---|---|---|
| catalog | String | Service catalog of the permission. |
| display_name | String | Display name of the permission. |
| Parameter | Type | Description |
|---|---|---|
| Action | Array of strings | Specific operation permission on a resource. A maximum of 100 actions are allowed. NOTE:
|
| Effect | String | Effect of the permission. The value can be Allow or Deny. If both Allow and Deny statements are found in a policy, the authentication starts from the Deny statements. Options:
|
| Condition | Object | Conditions for the permission to take effect. A maximum of 10 conditions are allowed. For details about the condition parameters, see Creating a Custom Policy. NOTE: Take the condition in the sample request as an example, the values of the condition key (obs:prefix) and string (public) must be equal (StringEquals). "Condition": {
"StringEquals": {
"obs:prefix": [
"public"
]
}
} |
| Resource | Array of strings | Cloud resource. The array can contain a maximum of 10 resource strings, and each string cannot exceed 128 characters. NOTE:
|
| Parameter | Type | Description |
|---|---|---|
| attribute | Array of strings | Condition key. The condition key must correspond to the specified operator. A maximum of 10 condition keys are allowed. The parameter type is custom character string array. |
Example Request
GET https://iam.myhuaweicloud.com/v3/roles
Example Response
Status code: 200
The request is successful.
{
"roles" : [ {
"domain_id" : null,
"description_cn" : "Description of the permission in Chinese",
"catalog" : "VulnScan",
"name" : "wscn_adm",
"description" : "Vulnerability Scan Service administrator of tasks and reports.",
"links" : {
"next" : null,
"previous" : null,
"self" : "https://iam.myhuaweicloud.com/v3/roles/0af84c1502f447fa9c2fa18083fbb87e"
},
"id" : "0af84c1502f447fa9c2fa18083fbb87e",
"display_name" : "VSS Administrator",
"type" : "XA",
"policy" : {
"Version" : "1.0",
"Statement" : [ {
"Action" : [ "WebScan:*:*" ],
"Effect" : "Allow"
} ],
"Depends" : [ {
"catalog" : "BASE",
"display_name" : "Server Administrator"
}, {
"catalog" : "BASE",
"display_name" : "Tenant Guest"
} ]
}
}, {
"domain_id" : null,
"flag" : "fine_grained",
"description_cn" : "Description of the permission in Chinese",
"catalog" : "CSE",
"name" : "system_all_34",
"description" : "All permissions of CSE service.",
"links" : {
"next" : null,
"previous" : null,
"self" : "https://iam.myhuaweicloud.com/v3/roles/0b5ea44ebdc64a24a9c372b2317f7e39"
},
"id" : "0b5ea44ebdc64a24a9c372b2317f7e39",
"display_name" : "CSE Admin",
"type" : "XA",
"policy" : {
"Version" : "1.1",
"Statement" : [ {
"Action" : [ "cse:*:*", "ecs:*:*", "evs:*:*", "vpc:*:*" ],
"Effect" : "Allow"
} ]
}
} ],
"links" : {
"next" : null,
"previous" : null,
"self" : "https://iam.huaweicloud.com/v3/roles"
},
"total_number" : 300
} Status Codes
| Status Code | Description |
|---|---|
| 200 | The request is successful. |
| 400 | Invalid parameters. |
| 401 | Authentication failed. |
| 403 | Access denied. |
Error Codes
None
Last Article: Permissions Management
Next Article: Querying Permission Details
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.