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 2024-10-14 GMT+08:00

Autorizador de terceiros

Você pode configurar seu próprio serviço para autenticar solicitações de API. APIG primeiro invoca este serviço para autenticação e, em seguida, invoca o serviço de back-end depois de receber uma resposta bem-sucedida.

Se o gateway não oferecer suporte a essa política, entre em contato com o suporte técnico para atualizar o gateway para a versão mais recente.

A figura a seguir mostra o princípio da autenticação de terceiros. Depois de vincular uma política de autenticação de terceiros a uma API, chame a API referindo-se a Chamada das APIs.

Parâmetros de configuração

Tabela 1 Parâmetros de configuração

Parâmetro

Descrição

Load Balance Channel

Se conectar um serviço de autenticação de terceiros usando um canal de balanceamento de carga.

Backend URL

  • Method

    GET, POST, PUT e HEAD são suportados.

  • Protocol

    HTTP ou HTTPS. HTTPS é recomendado para a transmissão de dados importantes ou sensíveis.

  • Load Balance Channel (se aplicável)

    Defina esse parâmetro somente se um canal de balanceamento de carga for usado. Selecione um canal de balanceamento de carga. Se nenhum canal necessário estiver disponível, clique em Create Load Balance Channel para criar um.

  • Backend Address (se aplicável)

    Defina este parâmetro se nenhum canal de balanceamento de carga for usado.

    Digite o endereço de acesso do serviço de autenticação no formato Host:Port. Host indica o endereço IP ou nome de domínio para acessar o serviço de autenticação. Se nenhuma porta for especificada, as portas 80 e 443 serão usadas por padrão para HTTP e HTTPS, respectivamente.

    NOTA:

    Apenas endereços IPv4 são suportados.

  • Path

    Caminho (URL) do serviço de autenticação.

Host Header

Defina esse parâmetro somente se um canal de balanceamento de carga for usado.

Defina um cabeçalho de host para as solicitações a serem enviadas aos servidores de nuvem vinculados ao canal de balanceamento de carga. Por padrão, o cabeçalho do host original em cada solicitação é usado.

Timeout (ms)

Tempo limite do serviço de autenticação. Ele não pode exceder o tempo limite máximo do serviço de back-end. Visualize o limite de tempo limite na guia Parameters da página de detalhes do gateway.

Brute Force Threshold

Os endereços IP cujo número de tentativas de falha de autenticação de terceiros em 5 minutos exceder esse limite serão bloqueados. Eles serão desbloqueados após 5 minutos.

Por exemplo, se um endereço IP falhou na autenticação de terceiros mais do que o limite configurado no terceiro minuto, o endereço é bloqueado e será desbloqueado após 2 minutos.

Identity Sources

Parâmetros a serem obtidos das solicitações originais da API para autenticação de terceiros. Máximo de 10 cabeçalhos e 10 cadeias de consulta. Se não for especificado, todos os cabeçalhos e cadeias de consulta nas solicitações originais serão usados.

Relaxed Mode

Quando esta opção está ativada, o APIG aceita solicitações do cliente mesmo quando seu serviço de autenticação não consegue se conectar ou retorna um código de erro começando com "5".

Allow Original Request Body

Quando essa opção está ativada, o corpo da solicitação original é incluído para autenticação.

Request Body Size (bytes)

Disponível somente quando Allow Original Request Body estiver ativado.

O valor não pode exceder o tamanho máximo do corpo da solicitação do gateway. Visualize o limite de tamanho do corpo da solicitação na guia Parameters da página de detalhes do gateway.

Allow Original Request Path

Quando esta opção está ativada, o caminho de solicitação original é adicionado ao final do caminho de solicitação de autenticação.

Return Response

Quando esta opção está ativada, a resposta de autenticação é retornada em caso de falha.

Allowed Response Headers

Cabeçalhos para obter da resposta de autenticação e enviar para o serviço de back-end, quando a autenticação for bem-sucedida.

Máximo de 10 cabeçalhos.

Simple Authentication

Quando esta opção está ativada, os códigos de status que começam com "2" indicam a autenticação bem-sucedida.

Authentication Result

Disponível somente quando Simple Authentication estiver desativado.

As respostas cujos cabeçalhos contêm esses parâmetros com os mesmos valores indicam uma autenticação bem-sucedida.

Blacklist/Whitelist

Quando essa opção está ativada, se as solicitações de API exigem autenticação de terceiros depende das regras configuradas da lista negra ou da lista branca.

Type

  • Lista branca

    As solicitações de API que correspondem às regras da lista branca não exigem autenticação de terceiros.

  • Lista negra

    As solicitações de API que correspondem às regras da lista negra exigem autenticação de terceiros.

Parameters

Defina parâmetros para correspondência de regras.

  • Parameter Location: a localização de um parâmetro usado para correspondência de regras.
    • path: URI de solicitação da API. Este parâmetro é configurado por padrão.
    • method: método de solicitação da API. Este parâmetro é configurado por padrão.
    • header: a chave de um cabeçalho de solicitação.
    • query: a chave de uma cadeia de consulta.
    • system: um parâmetro do sistema.
  • Parameter: o nome de um parâmetro que corresponde ao valor especificado em uma regra.

Rules

Defina as condições para correspondência de regras.

Clique em Add Rule e edite o nome e as condições da regra. Na caixa de diálogo Condition Expressions, selecione um parâmetro e um operador e insira um valor.

  • =: igual a
  • !=: não igual a
  • pattern: expressão regular
  • enum: valores enumerados. Separe-os com vírgulas (,).

Exemplo de script

{
  "auth_request": {
    "method": "GET",
    "protocol": "HTTPS",
    "url_domain": "192.168.10.10",
    "timeout": 5000,
    "path": "/",
    "vpc_channel_enabled": false,
    "vpc_channel_info": null
  },
  "custom_forbid_limit": 100,
  "carry_body": {
    "enabled": true,
    "max_body_size": 1000
  },
  "auth_downgrade_enabled": true,
  "carry_path_enabled": true,
  "return_resp_body_enabled": false,
  "carry_resp_headers": [],
  "simple_auth_mode_enabled": true,
  "match_auth": null,
  "rule_enabled": false,
  "rule_type": "allow"
}