Ler em inglês

Partilhar via


Tutorial: Transforme e proteja sua API

APLICA-SE A: Todas as camadas de gerenciamento de API

Neste tutorial, você aprenderá a configurar políticas para proteger ou transformar sua API. As políticas são uma coleção de instruções que são executadas sequencialmente na solicitação ou resposta de uma API que modifica o comportamento da API.

Por exemplo, talvez você queira definir um cabeçalho de resposta personalizado. Ou proteja sua API de back-end configurando uma política de limite de taxa, para que a API não seja usada em excesso pelos desenvolvedores. Esses exemplos são uma introdução simples às políticas de gerenciamento de API. Para obter mais opções de política, consulte Políticas de gerenciamento de API.

Nota

Por padrão, o Gerenciamento de API configura uma política global forward-request . A forward-request política é necessária para que o gateway conclua uma solicitação para um serviço de back-end.

Neste tutorial, irá aprender a:

  • Transformar uma API para definir um cabeçalho de resposta personalizado
  • Proteger uma API adicionando uma política de limite de taxa (limitação)
  • Testar as transformações

Captura de tela das políticas de Gerenciamento de API no portal.

Pré-requisitos

Vá para a sua instância de Gestão de API

  1. No portal do Azure, procure e selecione serviços de Gerenciamento de API.

    Selecionar serviços de gerenciamento de API

  2. Na página Serviços de Gerenciamento de API, selecione sua instância de Gerenciamento de API.

    Selecione sua instância de Gerenciamento de API

Testar a resposta original

Para ver a resposta original:

  1. Na instância do serviço Gerenciamento de API, selecione APIs.
  2. Selecione Swagger Petstore na sua lista de APIs.
  3. Selecione a guia Teste , na parte superior da tela.
  4. Selecione a operação GET Localiza animais de estimação por status e, opcionalmente, selecione um valor diferente do parâmetro de consulta de status. Selecione Enviar.

A resposta original da API deve ser semelhante à seguinte resposta:

Captura de tela da resposta original da API no portal.

Transformar uma API para adicionar um cabeçalho de resposta personalizado

O Gerenciamento de API inclui várias políticas de transformação que você pode usar para modificar cargas úteis de solicitação ou resposta, cabeçalhos ou códigos de status. Neste exemplo, você define um cabeçalho de resposta personalizado na resposta da API.

Definir a política de transformação

Esta seção mostra como configurar um cabeçalho de resposta personalizado usando a set-header política. Aqui você usa um editor de política baseado em formulário que simplifica a configuração da política.

  1. Selecione Swagger Petstore>Design>Todas as operações.

  2. Na seção Processamento de saída, selecione + Adicionar política.

    Captura de ecrã a mostrar a navegação para a política de saída no portal.

  3. Na janela Adicionar política de saída, selecione Definir cabeçalhos.

    Captura de ecrã a mostrar a configuração da política Definir cabeçalhos no portal.

  4. Para configurar a política Definir cabeçalhos, faça o seguinte:

    1. Em Nome, insira Personalizado.
    2. Em Valor, selecione + Adicionar valor. Digite "Meu valor personalizado".
    3. Selecione Guardar.
  5. Após a configuração, um elemento de política set-header aparece na seção Processamento de saída.

    Captura de ecrã do Definir políticas de saída de cabeçalhos no portal.

Proteger uma API ao adicionar a política de limite de taxas (limitação)

Esta seção mostra como adicionar proteção à sua API de back-end configurando limites de taxa, para que a API não seja usada em excesso pelos desenvolvedores. Este exemplo mostra como configurar a rate-limit-by-key política usando o editor de códigos. Neste exemplo, o limite é definido como três chamadas a cada 15 segundos. Após os 15 segundos, um programador pode tentar chamar a API novamente.

Nota

Esta política não é suportada na camada Consumo.

  1. Selecione Swagger Petstore>Design>Todas as operações.

  2. Na seção Processamento de entrada, selecione o ícone do editor de código (</>).

    Captura de ecrã a mostrar a navegação para o editor de códigos de política de entrada no portal.

  3. Posicione o cursor dentro do <inbound> elemento em uma linha em branco. Em seguida, selecione Mostrar trechos no canto superior direito da tela.

    Captura de tela mostrando mostrar trechos no editor de políticas de entrada no portal.

  4. Na janela direita, em Políticas de restrição de acesso, selecione Limitar taxa de chamadas por chave.

    O <rate-limit-by-key /> elemento é adicionado no cursor.

    Captura de tela da inserção da taxa de chamada de limite por política de chave no portal.

  5. Modifique seu <rate-limit-by-key /> código no elemento para o <inbound> código a seguir. Em seguida, selecione Guardar.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

Testar as transformações

Neste ponto, se você examinar o código no editor de códigos, suas políticas se parecerão com o seguinte código:

<policies>
     <inbound>
         <rate-limit calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
         <base />
     </inbound>
     <outbound>
         <set-header name="Custom" exists-action="override">
             <value>"My custom value"</value>
           </set-header>
         <base />
     </outbound>
     <on-error>
         <base />
     </on-error>
 </policies>

O resto desta secção testa as transformações de política que definiu neste artigo.

Testar o cabeçalho de resposta personalizado

  1. Selecione Swagger Petstore>Test.

  2. Selecione a operação GET Localiza animais de estimação por status e, opcionalmente, selecione um valor diferente do parâmetro de consulta de status. Selecione Enviar.

    Como você pode ver, o cabeçalho de resposta personalizado é adicionado:

    Captura de tela mostrando o cabeçalho de resposta personalizado no portal.

Testar o limite de taxa (limitação)

  1. Selecione Swagger Petstore>Test.

  2. Selecione a operação GET Localiza animais de estimação por status . Selecione Enviar várias vezes seguidas.

    Depois de enviar muitas solicitações no período configurado, você obtém a resposta 429 Solicitações Demais .

    Captura de tela mostrando muitas solicitações na resposta no portal.

  3. Aguarde 15 segundos ou mais e selecione Enviar novamente. Neste momento, deve obter uma resposta 200 OK.

Resumo

Neste tutorial, ficou a saber como:

  • Transformar uma API para definir um cabeçalho de resposta personalizado
  • Proteger uma API adicionando uma política de limite de taxa (limitação)
  • Testar as transformações

Próximos passos

Avance para o tutorial seguinte: