Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Listing Permissions

Updated on 2024-11-18 GMT+08:00

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

Table 1 Query parameters

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:
  • If this parameter is specified, only custom policies of the account will be returned.
  • If this parameter is not specified, all system permissions (including system-defined policies and roles) will be returned.

permission_type

No

String

System permission type. This parameter is valid only when domain_id is left blank.

  • policy: system-defined policy
  • role: system-defined role

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.

  • Permission name: For example, if you set this parameter to ECS FullAccess, information about the permission will be returned.
  • Filter condition: For example, if you set this parameter to Administrator, all administrator permissions that meet the conditions will be returned.

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:
  • AX: Account level.
  • XA: Project level.
  • AA: Both the account level and project level.
  • XX: Neither the account level nor project level.

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

Table 2 Parameters in the request header

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

Table 3 Parameters in the response body

Parameter

Type

Description

links

Object

Resource link information.

roles

Array of objects

Permission information.

total_number

Integer

Total number of permissions.

Table 5 roles

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.

links

Object

Permission resource link.

id

String

Permission ID.

display_name

String

Permission name.

type

String

Display mode of the permission.

NOTE:
  • AX: Account level.
  • XA: Project level.
  • AA: Both the account level and project level.
  • XX: Neither the account level nor project level.
  • The display mode of a custom policy can only be AX or XA. A custom policy must be displayed at either of the two levels.

policy

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.

Table 7 roles.policy

Parameter

Type

Description

Depends

Array of objects

Dependent permissions.

Statement

Array of objects

Statement of the permission.

Version

String

Policy version.

NOTE:
  • 1.0: System-defined role. Only a limited number of service-level roles are provided for authorization.
  • 1.1: Policy. A policy defines the permissions required to perform operations on a specific cloud resource under certain conditions.
Table 8 roles.policy.Depends

Parameter

Type

Description

catalog

String

Service catalog of the permission.

display_name

String

Display name of the permission.

Table 9 roles.policy.Statement

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:
  • The value format is Service name:Resource type:Operation, for example, vpc:ports:create.
  • Service name: indicates the product name, such as ecs, evs, or vpc. Only lowercase letters are allowed. Resource types and operations are not case-sensitive. You can use an asterisk (*) to represent all operations.
  • In the case of a custom policy for agencies, this parameter should be set to "Action": ["iam:agencies:assume"].

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:

  • Allow
  • Deny

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:
  • Format: ::::. For example, obs:::bucket:*. Asterisks are allowed.
  • The region segment can be * or a region accessible to the user. The specified resource must belong to the corresponding service that actually exists.
  • In the case of a custom policy for agencies, the type of this parameter is Object, and the value should be set to "Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}.
Table 10 roles.policy.Statement.Condition.operator

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

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback