Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-02-16 GMT+08:00

Listagem de permissões

Função

Essa API é fornecida para que o administrador liste todas as permissões.

A API pode ser chamada usando o ponto de extremidade global e pontos de extremidade específicos da região. Para pontos de extremidade do IAM, consulte Regiões e pontos de extremidade.

URI

GET /v3/roles

Tabela 1 Parâmetros de consulta

Parâmetro

Obrigatoriedade

Tipo

Descrição

domain_id

Não

String

ID da conta. Para obter detalhes sobre como conseguir o ID de domínio, consulte Obtenção de informações de conta, usuário do IAM, grupo, projeto, região e agência.

NOTA:
  • Se este parâmetro for especificado, somente as políticas personalizadas da conta serão retornadas.
  • Se esse parâmetro não for especificado, todas as permissões do sistema (incluindo políticas e funções definidas pelo sistema) serão retornadas.

permission_type

Não

String

Tipo de permissão do sistema. Este parâmetro é válido somente quando domain_id é deixado em branco.

  • policy: política definida pelo sistema
  • role:: função definida pelo sistema

name

Não

String

Nome de permissão para uso interno. Por exemplo, ccs_user é o nome interno da função de CCS User para o Cloud Catalog Service (CCS).

Recomenda-se que o parâmetro display_name em vez do parâmetro name seja transferido.

display_name

Não

String

Nome da permissão ou condição do filtro. O valor desse parâmetro pode ser o nome de permissão exibido no console ou incluído nas Permissões do sistema.

  • Nome da permissão: por exemplo, se você definir esse parâmetro como ECS FullAccess, as informações sobre a permissão serão retornadas.
  • Condição do filtro: por exemplo, se você definir esse parâmetro como Administrator, todas as permissões de administrador que atendam às condições serão retornadas.

page

Não

Integer

Número de página para consulta de paginação, que deve ser usado em concom per_page. O valor mínimo é 1. Você pode usar esse parâmetro ao definir domain_id para consultar políticas personalizadas.

per_page

Não

Integer

Número de registros de dados a serem exibidos em cada página. O valor varia de 1 a 300, e o valor padrão é 300. Este parâmetro deve ser usado com page.

Um máximo de 300 permissões serão exibidas em cada página se os parâmetros page e per_page não forem transferidos.

type

Não

String

Modo de exibição da permissão. As opções incluem domain, project e all. domain significa retornar todas as permissões dos níveis AA e AX; project significa retornar todas as permissões dos níveis AA e XA; all significa retornar as permissões dos níveis AA, AX e XA.

NOTA:
  • AX: nível da conta.
  • XA: nível do projeto.
  • AA: tanto o nível da conta quanto o nível do projeto.
  • XX: não o nível da conta nem o nível do projeto.

catalog

Não

String

Catálogo de serviços, que corresponde ao campo de catalog em políticas. Você pode definir esse parâmetro para consultar políticas definidas pelo sistema e políticas personalizadas.

Parâmetros de solicitação

Tabela 2 Parâmetros no cabeçalho da solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

Content-Type

Sim

String

Preencha application/json;charset=utf8 neste campo.

X-Auth-Token

Sim

String

Consulte Ações.

Parâmetros de resposta

Tabela 3 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

links

Object

Informações sobre o link do recurso.

roles

Array of objects

Informações de permissão.

total_number

Integer

Número total de permissões.

Tabela 5 roles

Parâmetro

Tipo

Descrição

domain_id

String

ID da conta à qual a permissão pertence.

flag

String

Se esse parâmetro for definido como fine_grained, a permissão será uma política definida pelo sistema.

description_cn

String

Descrição da permissão em chinês.

catalog

String

Catálogo de serviço da permissão.

name

String

Nome de permissão para uso interno. Por exemplo, ccs_user é o nome interno da função CCS User para CCS.

Esse parâmetro é transportado no token de um usuário, permitindo que o sistema determine se o usuário tem permissões para acessar um serviço de nuvem específico.

description

String

Descrição da permissão.

links

Object

Link de recurso de permissão.

id

String

ID de permissão.

display_name

String

Nome de permissão.

type

String

Modo de exibição da permissão.

NOTA:
  • AX: nível da conta.
  • XA: nível do projeto.
  • AA: tanto o nível da conta quanto o nível do projeto.
  • XX: não o nível da conta nem o nível do projeto.
  • O modo de exibição de uma política personalizada só pode ser AX ou XA. Uma política personalizada deve ser exibida em um dos dois níveis.

policy

Object

Conteúdo da permissão.

updated_time

String

Hora em que a permissão foi atualizada pela última vez.

created_time

String

Hora em que a permissão foi criada.

Tabela 7 roles.policy

Parâmetro

Tipo

Descrição

Depends

Array of objects

Permissões dependentes.

Statement

Array of objects

Declaração da permissão.

Version

String

Versão da política.

NOTA:
  • 1.0: função definida pelo sistema. Apenas um número limitado de funções de nível de serviço é fornecido para autorização.
  • 1.1: política. Uma política define as permissões necessárias para executar operações em um recurso de nuvem específico sob determinadas condições.
Tabela 8 roles.policy.Depends

Parâmetro

Tipo

Descrição

catalog

String

Catálogo de serviço da permissão.

display_name

String

Nome de exibição da permissão.

Tabela 9 roles.policy.Statement

Parâmetro

Tipo

Descrição

Action

Array of strings

Permissão de operação específica em um recurso. São permitidas no máximo 100 ações.

NOTA:
  • O formato do valor é Service name:Resource type:Operation, por exemplo, vpc:ports:create.
  • Service name: indica o nome do produto, como ecs, evs ou vpc. Somente letras minúsculas são permitidas. Os tipos de recursos e as operações não diferenciam maiúsculas de minúsculas. Você pode usar um asterisco (*) para representar todas as operações.
  • No caso de uma política personalizada para agências, este parâmetro deve ser definido como "Action": ["iam:agencies:assume"].

Effect

String

Efeito da permissão. O valor pode ser Allow ou Deny. Se as instruções Allow e Deny forem encontradas em uma política, a autenticação começará a partir das instruções Deny.

Opções:

  • Allow
  • Deny

Condition

Object

Condições para que a permissão entre em vigor. São permitidas no máximo 10 condições. Para obter detalhes sobre os parâmetros de condição, consulte Criação de uma política personalizada.

NOTA:

Tome a condição na solicitação de exemplo como um exemplo, os valores da chave de condição (obs:prefix) e cadeia (public) devem ser iguais (StringEquals).

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

Resource

Array of strings

Recursos em nuvem. A matriz pode conter um máximo de 10 cadeias de caracteres de recurso e cada cadeia não pode exceder 128 caracteres.

NOTA:
  • Formato: ::::. Por exemplo, obs:::bucket:*. Asteriscos são permitidos.
  • O segmento de região pode ser * ou uma região acessível ao usuário. O recurso especificado deve pertencer ao serviço correspondente que realmente existe.
  • No caso de uma política personalizada para agências, o tipo desse parâmetro é Object, e o valor deve ser definido como "Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}.
Tabela 10 roles.policy.Statement.Condition.operator

Parâmetro

Tipo

Descrição

attribute

Array of strings

Chave de condição. A chave de condição deve corresponder ao operador especificado. Um máximo de 10 chaves de condição são permitidas.

O tipo de parâmetro é um array de strings de caracteres personalizados.

Exemplo de solicitação

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

Exemplo de resposta

Código de status: 200

A solicitação foi bem-sucedida.

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

Código de status

Descrição

200

A solicitação foi bem-sucedida.

400

Parâmetros inválidos.

401

Autenticação falhou.

403

Acesso negado.

Códigos de erro

Nenhum