O que é uma política?

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

Com a Apigee, é possível programar o comportamento da API por meio de políticas, sem escrever um código. 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 pela Apigee. Também é possível escrever scripts e códigos personalizados, como aplicativos JavaScript, que ampliam a funcionalidade do proxy da API e permitem que você inove os recursos básicos de gerenciamento compatíveis com as políticas da Apigee.

Neste tópico, você encontra uma visão geral dos tipos de políticas e do uso delas na Apigee. Para informações sobre políticas específicas, consulte a Visão geral de referência das políticas.

Tipos e categorias de políticas

Tecnicamente, uma política é um arquivo de configuração formatado em XML. A estrutura de cada política (por exemplo, os elementos de configuração obrigatórios e opcionais) é definida por um esquema XML. Se você tiver proficiência em ferramentas XML, vale a pena se familiarizar com os esquemas de política nas amostras da API Platform no GitHub.

As políticas do Apigee são agrupadas nas seguintes categorias funcionais. As políticas disponíveis para cada categoria estão listadas na Visão geral de referência da política.

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.

Como anexar políticas

Para que uma política seja aplicada ao proxy da API, ela precisa ser anexada ao proxy em um fluxo. Para mais informações, consulte os outros tópicos desta seção, incluindo Como anexar e configurar políticas na interface e Como anexar e configurar políticas em arquivos XML.

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 atual, use a interface da Apigee ou a API Apigee 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 uma configuração de Quota, defina uma cota (por exemplo, uma solicitação por minuto) e envie várias solicitações à API que excede 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

Após 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 Quota está sendo aplicada pela Apigee.

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 querer enviar uma mensagem personalizada para um desenvolvedor cujo app excedeu o Quota.

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 ProxyEndpoint:
  1. SpikeArrest
  2. XMLThreatProtection ou JSONThreatProtection
  3. Validação de chave de API
  4. Quota
  5. ResponseCache
Fluxo de resposta de ProxyEndpoint:
  1. ResponseCache

Transformação básica: JSON para XML

Fluxo da solicitação:
  1. SpikeArrest
  2. JSONThreatProtection
  3. Validação de chave de API
  4. Quota
  5. JSONToXML
Fluxo de resposta:
  1. XMLToJSON
  2. ResponseCache