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 agências/ Consulta de permissões de uma agência para um projeto de serviço global
Atualizado em 2024-08-31 GMT+08:00

Consulta de permissões de uma agência para um projeto de serviço global

Função

Essa API é fornecida para que o administrador consulte as permissões de uma agência para um projeto de serviço global.

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-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles

Tabela 1 Parâmetros de URI

Parâmetro

Obrigatório

Tipo

Descrição

agency_id

Sim

String

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

domain_id

Sim

String

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

Parâmetros de solicitação

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

Parâmetro

Obrigatório

Tipo

Descrição

Content-Type

Sim

String

Preencha application/json;charset=utf8 nesse campo.

X-Auth-Token

Sim

String

Token de acesso emitido para um usuário para suportar sua identidade e permissões.

Para obter detalhes sobre as permissões exigidas pelo token, consulte Ações.

Parâmetros de resposta

Tabela 3 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

roles

Array of objects

Informações de permissão.

Tabela 4 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. 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 exibição 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.

policy

Object

Conteúdo da permissão.

updated_time

String

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

NOTA:

O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601.

created_time

String

Hora em que a permissão foi criada.

NOTA:

O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601.

Tabela 6 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 7 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 8 roles.policy.Statement

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.

Opções:

  • Allow
  • Deny

Condition

Object

Condições para que a permissão entre em vigor. Para obter detalhes, 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.

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 uma agência para um projeto de serviço global

GET https://iam.myhuaweicloud.com/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles

Exemplo de resposta

Código de status: 200

A solicitação foi bem-sucedida.

{
    "roles": [
        {
            "flag": "fine_grained",
            "display_name": "CDN Domain Viewer",
            "description": "Allow Query Domains",
            "name": "system_all_11",
            "policy": {
                "Version": "1.1",
                "Statement": [
                    {
                        "Action": [
                            "cdn:configuration:queryDomains",
                            "cdn:configuration:queryOriginServerInfo",
                            "cdn:configuration:queryOriginConfInfo",
                            "cdn:configuration:queryHttpsConf",
                            "cdn:configuration:queryCacheRule",
                            "cdn:configuration:queryReferConf",
                            "cdn:configuration:queryChargeMode",
                            "cdn:configuration:queryCacheHistoryTask",
                            "cdn:configuration:queryIpAcl",
                            "cdn:configuration:queryResponseHeaderList"
                        ],
                        "Effect": "Allow"
                    }
                ]
            },
            "description_cn": "Description of the permission in Chinese",
            "domain_id": null,
            "type": "AX",
            "catalog": "CDN",
            "id": "db4259cce0ce47c9903dfdc195eb453b"
        }
    ]
}

Códigos de status

Código de status

Descrição

200

A solicitação foi bem-sucedida.

401

Falha na autenticação.

403

Acesso negado.

404

O recurso solicitado não pode ser encontrado.

500

Erro de servidor interno.

Códigos de erro

Nenhum