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.

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ê tiver proficiência em ferramentas XML, vale a pena se familiarizar com os esquemas de política nas amostras da API Platform no GitHub.

Os tipos de política da Apigee 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.

Security

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 atual, use a IU 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 essa configuração de Quota, envie várias solicitações à API, excedendo o limite de cota que você definiu 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