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.
Debugging
You can debug this API in API Explorer.
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-defined 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 |
Access token issued to a user to bear its identity and permissions. For details about the permissions required by the token, see Actions. |
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. If the previous resource link is unavailable, this parameter is set to null. |
next |
String |
Next resource link. If the next resource link is unavailable, this parameter is set to null. |
Parameter |
Type |
Description |
---|---|---|
domain_id |
String |
ID of the account which the permission belongs to. |
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. This parameter is only returned in the response when description_cn is specified during policy creation. |
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. This parameter is only returned when you query all custom policies of the account. This parameter is not returned when system permissions are queried.
NOTE:
The value is a Unix timestamp in millisecond, for example, 1687913793000. |
created_time |
String |
Time when the permission was created. This parameter is only returned when you query all custom policies of the account. This parameter is not returned when system permissions are queried.
NOTE:
The value is a Unix timestamp in millisecond, for example, 1687913793000. |
Parameter |
Type |
Description |
---|---|---|
self |
String |
Resource link. |
previous |
String |
Previous resource link. If the previous resource link is unavailable, this parameter is set to null. |
next |
String |
Next resource link. If the next resource link is unavailable, this parameter is set to null. |
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 permissions on a resource. For details about supported actions, see "Permissions and Supported Actions" in the API Reference of cloud services.
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. If this parameter is not specified during policy creation, it will not be returned in the response.
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 |
Object |
Cloud resource. If this parameter is not specified during policy creation, it will not be returned in the response.
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
Request for querying permissions
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.myhuaweicloud.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
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot