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.
Central de ajuda/ Identity and Access Management/ Referência de API/ API/ Gerenciamento de projetos corporativos/ Consulta das permissões de um usuário diretamente vinculado a um projeto empresarial
Atualizado em 2024-08-31 GMT+08:00

Consulta das permissões de um usuário diretamente vinculado a um projeto empresarial

Função

Essa API é usada para consultar as permissões de um usuário diretamente vinculado a um projeto empresarial especificado.

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

URI

GET /v3.0/OS-PERMISSION/enterprise-projects/{enterprise_project_id}/users/{user_id}/roles

Tabela 1 Parâmetros de URI

Parâmetro

Obrigatório

Tipo

Descrição

enterprise_project_id

Sim

String

ID do projeto empresarial.

user_id

Sim

String

ID do usuário.

Parâmetros de solicitação

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

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token autenticado com permissões iam:permissions:listRolesForUserOnEnterpriseProject ou Security Administrator.

Parâmetros de resposta

Código de status: 200

Tabela 3 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

roles

Array of objects

Lista de funções.

Tabela 4 RolesItem

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.

description

String

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

description_cn

String

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

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.

id

String

ID de permissão.

name

String

Nome de permissão.

policy

object

Conteúdo da 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: nem 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.
Tabela 5 RolePolicy

Parâmetro

Tipo

Descrição

Depends

Array of objects

Permissões de dependência.

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 6 PolicyDepends

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 7 PolicyStatement

Parâmetro

Tipo

Descrição

Action

Array of strings

Permissões de operações específicas em um recurso. Para obter detalhes sobre as ações suportadas, consulte "Permissões e ações suportadas" na Referência de API de serviços em nuvem.

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 declarações Allow e Deny forem encontradas em uma política, a autenticação começará a partir das declarações Deny.

Condition

Object

Condições para que a permissão entre em vigor.

Resource

Array of strings

Recursos em nuvem.

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"]}.

Exemplo de solicitação

Solicitação para consultar permissões de um usuário diretamente vinculado a um projeto empresarial

GET https://iam.myhuaweicloud.com/v3.0/OS-PERMISSION/enterprise-projects/{enterprise_project_id}/users/{user_id}/roles

Exemplo de resposta

Código de status: 200

A solicitação foi bem-sucedida.

{
  "roles" : [ {
    "display_name" : "Customed ECS Viewer",
    "description" : "The read-only permissions to all ECS resources, which can be used for statistics and survey.",
    "domain_id" : "9698542758bc422088c0c3eabfc30d...",
    "catalog" : "CUSTOMED",
    "policy" : {
      "Version" : "1.1",
      "Statement" : [ {
        "Action" : [ "ecs:*:get*", "ecs:*:list*", "ecs:blockDevice:use", "ecs:serverGroups:manage", "ecs:serverVolumes:use", "evs:*:get*", "evs:*:list*", "vpc:*:get*", "vpc:*:list*", "ims:*:get*", "ims:*:list*" ],
        "Effect" : "Allow"
      } ]
    },
    "id" : "24e7a89bffe443979760c4e9715c1...",
    "type" : "XA",
    "name" : "custom_9698542758bc422088c0c3eabfc30...."
  } ]
}

Códigos de status

Código de status

Descrição

200

A solicitação foi bem-sucedida.

400

Erro de parâmetro.

401

Falha na autenticação.

403

Acesso negado.

404

O recurso solicitado não pode ser encontrado.

500

O sistema está anormal.