Chaves de API

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

Uma chave de API (conhecida no Apigee Edge como chave de consumidor) é um valor de string transmitido por um app de cliente para os proxies da API. A chave identifica exclusivamente o app de cliente.

A validação da chave de API é a forma mais simples de segurança baseada em aplicativo que é possível configurar para uma API. Um aplicativo cliente simplesmente apresenta uma chave de API com a solicitação e, em seguida, a Apigee Edge verifica se a chave de API está em um estado aprovado para o recurso solicitado. Internamente, seus proxies usam políticas para verificar a autenticidade da chave de API.

Para oferecer compatibilidade com essa simplicidade, será preciso algumas configurações. Para oferecer compatibilidade com chaves de API, você precisará fazer o seguinte:

  • Criar um produto de API do Apigee Edge que agrupa os proxies de API que você quer proteger usando a chave de API.
  • Crie um app de desenvolvedor do Apigee Edge que represente o desenvolvedor do app cliente cujo aplicativo você autenticará.

    Ao criar o app de desenvolvedor, você especifica os produtos de API a que o app do desenvolvedor terá acesso e para o qual precisará fornecer uma chave de API.

  • Para seus proxies, que você incluiu no produto da API, adicione políticas para verificar se uma chave de API recebida é válida.

O tutorial Proteger uma API exigindo chaves de API é uma maneira rápida de aprender a controlar o acesso a um proxy de API com uma chave de API.

Como as chaves de API funcionam

No Apigee Edge, uma chave de API é chamada de chave de consumidor. Quando você registra apps de desenvolvedor, o Apigee Edge gera um segredo e uma chave de consumidor. O Apigee Edge armazena a chave de consumidor para validação futura. Cada chave de consumidor é única na organização. O desenvolvedor do aplicativo incorpora a chave de consumidor no aplicativo cliente. O app de cliente precisa apresentar a chave de consumidor de cada solicitação. Os serviços de API verificam a chave de consumidor antes de permitir a solicitação do aplicativo.

Etapas avançadas

As etapas a seguir descrevem como as chaves de API são usadas pelo Apigee Edge. Essas etapas incluem a possível presença da segurança do OAuth, já que ela é frequentemente usada com as chaves de API.

  1. Crie um produto de API que inclua proxies de API que precisam ser protegidos com a chave de API.
  2. Registre um aplicativo de desenvolvedor na sua organização. Ao fazer o Apigee Edge, um segredo e uma chave de consumidor são gerados.
  3. Associe o app do desenvolvedor a pelo menos um produto de API. É o produto que associa caminhos de recursos e proxies de API à aprovação de chaves.
  4. No tempo de execução, quando o app de cliente faz uma solicitação à API, o aplicativo de cliente envia a chave de consumidor ao fazer a solicitação. Na prática, a chave de consumidor pode ser passada explicitamente ou referida implicitamente, por meio de um token OAuth:
    • Quando a API usa a verificação de chaves de API, como a implementação de uma política VerifyAPIKey, o app de cliente precisa transmitir explicitamente a chave de consumidor.
    • Quando a API usa a verificação de token OAuth, como a implementação de uma política OAuthV2, o app de cliente precisa passar um token derivado da chave de consumidor.
  5. O Proxy da API valida as credenciais de solicitação por meio de uma política VerifyAPIKey ou OAuthV2 com uma operação VerifyAccessToken. Se você não incluir uma política de restrição de credenciais no Proxy de API, qualquer autor da chamada poderá invocar suas APIs. Para mais informações, consulte Verificar a política de chaves de API.

Como verificar credenciais de solicitação

Esta é uma visão geral. Consulte Como configurar a validação da chave de API para ver detalhes e exemplos de código.

  1. Se estiver usando a verificação de token OAuth, você aplicou uma política OAuth para verificar e o app cliente transmitiu um token OAuth:
    • O Apigee Edge verifica se o token não expirou e procura a chave de consumidor que foi usada para gerar o token.
  2. Se você está usando uma chave de API, ou seja, se implementou uma política VerifyAPIKey, e o app cliente recebeu a chave do consumidor:
    1. O Apigee Edge verifica a lista de produtos de API aos quais a chave de consumidor foi associada.
    2. O Edge verifica cada produto da API para ver se o Proxy da API atual está incluído no produto da API e se o caminho do recurso atual (caminho do URL) está ativado no produto da API.
    3. O Edge também verifica se a chave de consumidor não expirou ou foi revogada, se o app não foi revogado e se o desenvolvedor não está inativo.
    4. Caso todas essas coisas forem verdadeiras: se o token não estiver expirado (se aplicável), a chave de consumidor estiver válida e aprovada, o aplicativo estiver aprovado, o desenvolvedor estiver ativo, o proxy estiver ativo no produto e o recurso estiver ativo no produto, a verificação de credencial foi bem-sucedida.