O que é uma política?

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

O Apigee Edge permite "programar" o comportamento da API sem escrever nenhum código usando "políticas". Uma política é como um módulo que implementa uma função de gerenciamento específica e limitada. As políticas são projetadas para você adicionar tipos comuns de recursos de gerenciamento para uma API com facilidade e segurança. As políticas fornecem recursos como segurança, limitação de taxa, transformação e recursos de mediação, evitando que você precise codificar e manter essa funcionalidade por conta própria.

Você não está limitado ao conjunto de tipos de políticas fornecidos pelo Apigee Edge. Também é possível escrever scripts e códigos personalizados, como aplicativos JavaScript e Node.js, que ampliam a funcionalidade do proxy de API e permitem inovar com base nos recursos básicos de gerenciamento aceitos pelas políticas da Apigee.

Assista a este vídeo para uma introdução ao anexo e à aplicação da política.

Tipos de política

Tecnicamente, uma política é um arquivo de configuração formatado em XML. A estrutura de cada tipo de política (por exemplo, os elementos de configuração obrigatórios e opcionais) é definida por um esquema XML. Se você for proficiente com as ferramentas XML, vale a pena se familiarizar com os esquemas de políticas nos exemplos de plataformas de APIs (link em inglês) no GitHub.

Os tipos de política de borda são agrupados nas seguintes categorias funcionais:

Gerenciamento de tráfego

As políticas na categoria de gerenciamento de tráfego permitem controlar o fluxo de mensagens de solicitação e resposta por meio de um proxy de API. Essas políticas são compatíveis com o controle operacional e no nível de negócios. Elas oferecem controle sobre a capacidade bruta e também podem controlar o tráfego por aplicativo. Os tipos de política de gerenciamento de tráfego permitem que você aplique cotas, além de ajudar a reduzir os ataques de negação de serviço.

Segurança

As políticas na categoria de segurança oferecem suporte a autenticação, autorização e segurança baseada em conteúdo.

Mediação

As políticas na categoria de mediação permitem manipular ativamente as mensagens à medida que elas passam por proxies de API. Eles permitem que você transforme o formato das mensagens, de XML para JSON (e vice-versa) ou de um formato XML para outro formato XML. Elas também permitem analisar mensagens, gerar novas mensagens e alterar os valores nas mensagens de saída. As políticas de mediação também interagem com os serviços básicos expostos pelos serviços da API, permitindo que você recupere dados sobre apps, desenvolvedores, tokens de segurança e produtos de API no ambiente de execução.

Extensão

As políticas na categoria de extensão permitem que você explore a capacidade de extensão dos serviços de API para implementar um comportamento personalizado na linguagem de programação escolhida.

Cada tipo de política está documentado em detalhes na Visão geral da referência da política. Este tópico demonstra a interação geral, mostrando como criar políticas e como anexá-las a fluxos em uma configuração de proxy de API.

Como implantar alterações de políticas

Para que as alterações na política entrem em vigor, você precisa implantar a revisão de proxy da API em um ambiente. Depois de anexar uma política ou fazer alterações em uma política, use a interface ou a API de gerenciamento para implantar as alterações.

Como verificar a aplicação da política

Para verificar se uma política foi aplicada corretamente, a API precisa ser invocada por um cliente HTTP. Para verificar essa configuração de cota, envie várias solicitações à API, excedendo o limite de cota definido na política de cota. O caminho do URI configurado como a configuração de caminho base no ProxyEndpoint na solicitação abaixo é /weather.

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

Depois de enviar mais de uma solicitação em um minuto, você verá a seguinte mensagem de erro:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

Isso indica que a política de cotas está sendo aplicada pelos serviços da API.

Tratamento de falhas com base em políticas

Observe o formato da mensagem de erro acima. Ela contém uma propriedade faultstring e uma propriedade errorcode. Em muitos casos, é necessário implementar algum comportamento para lidar com esses erros. Por exemplo, você pode emitir uma mensagem personalizada para um desenvolvedor cujo app excedeu a cota.

Para saber mais sobre como lidar com falhas, consulte Como lidar com falhas.

Práticas recomendadas: conjuntos comuns de políticas

Para atender aos requisitos básicos de gerenciamento, os proxies de API geralmente aplicam as seguintes políticas:

Validação básica da chave de API

Fluxo de solicitação do ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection ou JSONTreatProtection
  3. Validação de chave de API
  4. Cota
  5. ResponseCache
Fluxo de resposta do ProxyEndpoint:
  1. ResponseCache

Transformação básica: JSON para XML

Fluxo de solicitações:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Validação de chave de API
  4. Cota
  5. JSONtoXML
Fluxo de resposta:
  1. XMLToJSON
  2. ResponseCache