Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da Apigee Edge.
Uma chave de API (conhecida na Apigee como chave do 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 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:
- Crie um produto da API Apigee que agrupe os proxies de API que você quer proteger usando a chave de API.
-
Criar um aplicativo para desenvolvedores da Apigee que represente o desenvolvedor do aplicativo cliente
cujo aplicativo será autenticado.
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
Na Apigee, uma chave de API é chamada de chave do consumidor. Quando você registra apps de desenvolvedor, a Apigee gera uma chave e um segredo de cliente. A Apigee armazena a chave do 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 pela Apigee. Essas etapas incluem a possível presença da segurança do OAuth, já que ela é frequentemente usada com as chaves de API.
- Crie um produto de API que inclua proxies de API que precisam ser protegidos com a chave de API.
- Registre um aplicativo de desenvolvedor na sua organização. Ao fazer a Apigee, uma chave e um secret do consumidor são gerados.
- 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.
- 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.
- 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.
- Se estiver usando a verificação de token OAuth, implemente uma política OAuth para verificar
se o app de cliente transmitiu um token OAuth:
- A Apigee verifica se o token não está expirado e procura a chave do consumidor usada para gerar o token.
- Se estiver usando uma chave de API, você implementou uma política VerifyAPIKey e o app de cliente
transmitiu a chave de consumidor:
- A Apigee verifica a lista de produtos de API com os quais a chave do consumidor foi associada.
- A Apigee 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.
- A Apigee também verifica se a chave do consumidor não está expirada ou foi revogada, verifica se o app não está revogado e se o desenvolvedor não está inativo.
- 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.