Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-08 GMT+08:00

Permisos de listado

Función

Esta API se proporciona para que el administrador muestre todos los permisos.

Se puede llamar a la API utilizando tanto el punto de conexión global como los puntos de conexión específicos de la región. Para los puntos de conexión de IAM, consulte Regions y puntos de conexión.

URI

GET /v3/roles

Tabla 1 Parámetros de Query

Parámetro

Obligatorio

Tipo

Descripción

domain_id

No

String

ID de cuenta. Para obtener más información sobre cómo obtener el ID de cuenta, consulte Obtención de información de cuenta, usuario de IAM, grupo, proyecto, región y agencia.

NOTA:
  • Si se especifica este parámetro, solo se devolverán las políticas personalizadas de la cuenta.
  • Si no se especifica este parámetro, se devolverán todos los permisos del sistema (incluidas las políticas y los roles definidos por el sistema).

permission_type

No

String

Tipo de permiso del sistema. Este parámetro solo es válido cuando domain_id se deja en blanco.

  • policy: política definida por el sistema
  • role: rol definido por el sistema

name

No

String

Nombre de permiso para uso interno. Por ejemplo, ccs_user es el nombre interno de la función de CCS User para Cloud Catalog Service (CCS).

Se recomienda transferir el parámetro display_name en lugar del parámetro name.

display_name

No

String

Nombre de permiso o condición de filtro. El valor de este parámetro puede ser el nombre de permiso mostrado en la consola o incluido en Permisos de sistema.

  • Nombre del permiso: Por ejemplo, si establece este parámetro en ECS FullAccess, se devolverá información sobre el permiso.
  • Condición del filtro: por ejemplo, si establece este parámetro en Administrator, se devolverán todos los permisos de administrador que cumplan las condiciones.

page

No

Integer

Número de página para consulta de paginación, que debe usarse junto con per_page. El valor mínimo es 1. Puede utilizar este parámetro al establecer domain_id para consultar directivas personalizadas.

per_page

No

Integer

Número de registros de datos que se mostrarán en cada página. El valor varía de 1 a 300, y el valor predeterminado es 300. Este parámetro debe usarse junto con page.

Se mostrará un máximo de 300 permisos en cada página si no se transfieren los parámetros de page y per_page.

type

No

String

Modo de visualización del permiso. Las opciones incluyen domain, project, y all. domain significa devolver todos los permisos de los niveles AA y AX; project significa devolver todos los permisos de los niveles AA y XA; all significa devolver los permisos de los permisos AA, AX y XA.

NOTA:
  • AX: Nivel de cuenta.
  • XA: Nivel de proyecto.
  • AA: Tanto a nivel de cuenta como a nivel de proyecto.
  • XX: Ni el nivel de cuenta ni el nivel de proyecto.

catalog

No

String

Catálogo de servicios, que corresponde al campo de catalog en las políticas. Puede establecer este parámetro para consultar directivas definidas por el sistema y directivas personalizadas.

Parámetros de solicitud

Tabla 2 Parámetros en el encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Content-Type

String

Rellene application/json;charset=utf8 en este campo.

X-Auth-Token

String

Consulte Acciones.

Parámetros de respuesta

Tabla 3 Parámetros en el cuerpo de respuesta

Parámetro

Tipo

Descripción

links

Object

Información de enlace de recurso.

roles

Array of objects

Información de permiso.

total_number

Integer

Número total de permisos.

Tabla 5 roles

Parámetro

Tipo

Descripción

domain_id

String

ID de la cuenta a la que pertenece el permiso.

flag

String

Si este parámetro se establece en fine_grained, el permiso es una política definida por el sistema.

description_cn

String

Descripción del permiso en chino.

catalog

String

Catálogo de servicios del permiso.

name

String

Nombre de permiso para uso interno. Por ejemplo, ccs_user es el nombre interno de la función de usuario de CCS User para CCS.

Este parámetro se lleva en el token de un usuario, lo que permite al sistema determinar si el usuario tiene permisos para acceder a un servicio en la nube específico.

description

String

Descripción del permiso.

links

Object

Enlace de recurso de permiso.

id

String

ID de permiso.

display_name

String

Nombre del permiso.

type

String

Modo de visualización del permiso.

NOTA:
  • AX: Nivel de cuenta.
  • XA: Nivel de proyecto.
  • AA: Tanto a nivel de cuenta como a nivel de proyecto.
  • XX: Ni el nivel de cuenta ni el nivel de proyecto.
  • El modo de visualización de una política personalizada solo puede ser AX o XA. Se debe mostrar una política personalizada en cualquiera de los dos niveles.

policy

Object

Contenido del permiso.

updated_time

String

Hora en la que se actualizó por última vez el permiso.

created_time

String

Hora en la que se creó el permiso.

Tabla 7 roles.policy

Parámetro

Tipo

Descripción

Depends

Array of objects

Permisos dependientes.

Statement

Array of objects

Sentencia de la autorización.

Version

String

Versión de política.

NOTA:
  • 1.0: Función definida por el sistema. Solo se proporciona un número limitado de roles de nivel de servicio para la autorización.
  • 1.1: Política. Una política define los permisos necesarios para realizar operaciones en un recurso de nube específico bajo ciertas condiciones.
Tabla 8 roles.policy.Depends

Parámetro

Tipo

Descripción

catalog

String

Catálogo de servicios del permiso.

display_name

String

Nombre para mostrar del permiso.

Tabla 9 roles.policy.Statement

Parámetro

Tipo

Descripción

Action

Array of strings

Permiso de operación específico en un recurso. Se permite un máximo de 100 acciones.

NOTA:
  • El formato de valor es Service name:Resource type:Operation, por ejemplo, vpc:ports:create.
  • Nombre del servicio: indica el nombre del producto, como ecs, evs, or vpc. Solo se permiten letras minúsculas. Los tipos de recursos y las operaciones no distinguen entre mayúsculas y minúsculas. Puede utilizar un asterisco (*) para representar todas las operaciones.
  • En el caso de una política personalizada para agencias, este parámetro debe establecerse en "Action": ["iam:agencies:assume"].

Effect

String

Efectos de la autorización. El valor puede ser Allow o Deny. Si las instrucciones Permitir y Deny se encuentran en una política, la autenticación comienza desde las sentencias Deny.

Opciones:

  • Allow
  • Deny

Condition

Object

Condiciones para que el permiso entre en vigor. Se permite un máximo de 10 condiciones. Para obtener más información sobre los parámetros de condición, consulte Creación de una política personalizada.

NOTA:

Tome la condición en la solicitud de ejemplo como un ejemplo, los valores de la clave de condición (obs:prefix) y cadena (public) deben ser iguales (StringEquals).

 "Condition": {
              "StringEquals": {
                "obs:prefix": [
                  "public"
                ]
              }
            }

Resource

Array of strings

Recurso en la nube. La matriz puede contener un máximo de 10 cadenas de recursos, y cada cadena no puede exceder de 128 caracteres.

NOTA:
  • Formato: ::::. Por ejemplo, obs:::bucket:*. Se permiten asteriscos.
  • El segmento de región puede ser * o una región accesible para el usuario. El recurso especificado debe pertenecer al servicio correspondiente que realmente existe.
  • En el caso de una política personalizada para agencias, el tipo de este parámetro es Object, y el valor debe establecerse en "Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}.
Tabla 10 roles.policy.Statement.Condition.operator

Parámetro

Tipo

Descripción

attribute

Array of strings

Clave de condición. La clave de condición debe corresponder al operador especificado. Se permite un máximo de 10 claves de condición.

El tipo de parámetro es una matriz de cadena de caracteres personalizada.

Solicitud de ejemplo

GET https://iam.myhuaweicloud.com/v3/roles

Ejemplo de respuesta

Código de estado: 200

La solicitud se ha realizado correctamente.

{
  "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
}

Códigos de estado

Código de estado

Descripción

200

La solicitud se ha realizado correctamente.

400

Parámetros no válidos.

401

Error de autenticación.

403

Acceso denegado.

Códigos de error

Ninguno