Chaves da API

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Uma chave API (conhecida no Apigee como uma chave de consumidor) é um valor de string transmitido por uma app cliente aos seus proxies de API. A chave identifica de forma exclusiva a app cliente.

A validação da chave da API é a forma mais simples de segurança baseada em apps que pode configurar para uma API. Uma app cliente apresenta simplesmente uma chave da API com o seu pedido. Em seguida, o Apigee verifica se a chave da API se encontra num estado aprovado para o recurso que está a ser pedido. Internamente, os seus proxies usam políticas para validar a autenticidade da chave de API.

Para suportar esta simplicidade, tem de fazer alguma configuração. Para suportar chaves da API, tem de:

  • Crie um produto de API Apigee que agrupe os proxies de API que quer proteger com a chave da API.
  • Crie uma app de programador do Apigee que represente o programador da app cliente cuja app vai autenticar.

    Ao criar a app do programador, especifica os produtos da API aos quais a app do programador terá acesso e para os quais terá de fornecer uma chave da API.

  • Aos seus proxies (os que incluiu no seu produto de API), adicione políticas para verificar se uma chave da API recebida é válida.

O tutorial Proteja uma API exigindo chaves da API é uma forma rápida de saber como controlar o acesso a um proxy de API com uma chave da API.

Como funcionam as chaves da API

No Apigee, uma chave da API é denominada chave do consumidor. Quando regista apps de programador, o Apigee gera uma chave e um segredo do consumidor. O Apigee armazena a chave do consumidor para validação futura. Cada chave de consumidor é única na organização. O programador da app incorpora a chave do consumidor na app cliente. A app cliente tem de apresentar a chave do consumidor para cada pedido. Os serviços de API validam a chave do consumidor antes de permitir o pedido da app.

Passos de alto nível

Os passos seguintes descrevem como as chaves de API são usadas pelo Apigee. Estes passos também incluem a possível presença de segurança OAuth, uma vez que é frequentemente usada em conjunto com chaves de API.

  1. Crie um produto da API que inclua proxies da API que devem ser protegidos com a chave da API.
  2. Regista uma app de programador na sua organização. Quando o Apigee gera uma chave de consumidor e um segredo do consumidor.
  3. Associe a app do programador a, pelo menos, um produto de API. É o produto que associa os caminhos dos recursos e os proxies de API à aprovação de chaves.
  4. Em tempo de execução, quando a app cliente faz um pedido à sua API, a app cliente envia a chave do consumidor quando faz o pedido. Na prática, a chave de consumidor pode ser transmitida explicitamente ou pode ser referida implicitamente através de um token OAuth:
    • Quando a API usa a validação da chave de API, como através da implementação de uma política VerifyAPIKey, a app cliente tem de transmitir a chave do consumidor explicitamente.
    • Quando a API usa a validação de tokens OAuth, como através da implementação de uma política OAuthV2, a app cliente tem de transmitir um token derivado da chave do consumidor.
  5. O proxy de API valida as credenciais do pedido através de uma política VerifyAPIKey ou uma política OAuthV2 com uma operação VerifyAccessToken. Se não incluir uma política de aplicação de credenciais no seu proxy de API, qualquer autor da chamada pode invocar com êxito as suas APIs. Para mais informações, consulte a Política de Validação da Chave da API.

Validar credenciais de pedido

Segue-se uma vista geral. Certifique-se de que consulta a secção Configurar a validação da chave da API para ver detalhes e exemplos de código.

  1. Se estiver a usar a validação de tokens OAuth, implementou uma política OAuth para validar e a app cliente passou um token OAuth:
    • O Apigee verifica se o token não expirou e, em seguida, procura a chave do consumidor que foi usada para gerar o token.
  2. Se estiver a usar uma chave de API, implementou uma política VerifyAPIKey e a app cliente transmitiu a respetiva chave do consumidor:
    1. O Apigee verifica a lista de produtos de API aos quais a chave do consumidor foi associada.
    2. O Apigee verifica cada produto de API para ver se o proxy de API atual está incluído no produto de API e se o caminho do recurso atual (caminho do URL) está ativado no produto de API.
    3. O Apigee também verifica se a chave do consumidor não expirou nem foi revogada, se a app não foi revogada e se o programador não está inativo.
    4. Se todas estas condições forem verdadeiras, ou seja, o token não tiver expirado (se aplicável), a chave do consumidor for válida e aprovada, a app for aprovada, o programador estiver ativo, o proxy estiver disponível no produto e o recurso estiver disponível no produto, a validação das credenciais é bem-sucedida.