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
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 |
|
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 |
|
Parameters |
Defina parâmetros para correspondência de regras.
|
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.
|
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" }