Esta página se aplica ao Apigee e ao Apigee híbrido .
Veja a documentação do Apigee Edge .
Uma chave de API (conhecida na Apigee como chave do consumidor ) é um valor de string passado por um aplicativo cliente para seus proxies de API. A chave identifica exclusivamente o aplicativo cliente.
A validação de chave de API é a forma mais simples de segurança baseada em aplicativo que você pode configurar para uma API. Um aplicativo cliente simplesmente apresenta uma chave de API com sua 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 suportar essa simplicidade, você precisará realizar algumas configurações. Para suportar chaves de API, você precisará:
- Crie um produto de API da Apigee que reúna os proxies de API que você deseja proteger usando a chave de API.
- Crie um aplicativo de desenvolvedor Apigee que represente o desenvolvedor do aplicativo cliente cujo aplicativo você autenticará.
Ao criar o aplicativo do desenvolvedor, você especifica os produtos de API aos quais o aplicativo do desenvolvedor terá acesso e para os quais ele precisará fornecer uma chave de API.
- Aos seus proxies (aqueles que você incluiu no seu produto de 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 como controlar o acesso a um proxy de API com uma chave de API.
Como funcionam as chaves de API
Na Apigee, uma chave de API é chamada de chave do consumidor. Quando você registra aplicativos de desenvolvedor, a Apigee gera uma chave e um segredo do consumidor. A Apigee armazena a chave do consumidor para validação futura. Cada chave do consumidor é única na organização. O desenvolvedor do aplicativo incorpora a chave do consumidor no aplicativo cliente. O aplicativo cliente deve apresentar a chave do consumidor para cada solicitação. Os Serviços de API verificam a chave do consumidor antes de permitir a solicitação do aplicativo.
Etapas de alto nível
As etapas a seguir descrevem como as chaves de API são usadas pela Apigee. Essas etapas também incluem a possível presença da segurança OAuth, já que ela costuma ser usada em conjunto com as chaves de API.
- Crie um produto de API que inclua proxies de API que devem ser protegidos com a chave de API.
- Você registra um aplicativo de desenvolvedor na sua organização. Ao fazer isso, a Apigee gera uma chave de consumidor e um segredo de consumidor.
- Associe o aplicativo do desenvolvedor a pelo menos um produto de API . É o produto que associa caminhos de recursos e proxies de API à aprovação de chaves.
- Em tempo de execução, quando o aplicativo cliente faz uma solicitação à sua API, ele envia a chave do consumidor ao fazer a solicitação . Na prática, a chave do consumidor pode ser passada explicitamente ou pode ser referenciada implicitamente por meio de um token OAuth:
- Quando a API usa a verificação de chave de API — como ao implementar uma política VerifyAPIKey — o aplicativo cliente deve passar a chave do consumidor explicitamente.
- Quando a API usa a verificação de token OAuth — como ao implementar uma política OAuthV2 — o aplicativo cliente deve passar um token que foi derivado da chave do consumidor.
- O Proxy de API valida as credenciais da solicitação por meio de uma política VerifyAPIKey ou uma política OAuthV2 com uma operação VerifyAccessToken. Se você não incluir uma política de imposição de credenciais no seu Proxy de API, qualquer chamador poderá invocar suas APIs com sucesso. Para obter mais informações, consulte a política VerifyAPI Key .
Verificando credenciais de solicitação
Esta é uma visão geral. Consulte Configurando a validação da chave de API para obter detalhes e exemplos de código.
- Se estiver usando a verificação de token OAuth, você implementou uma política OAuth para verificar e o aplicativo cliente passou um token OAuth:
- A Apigee verifica se o token não expirou e, em seguida, procura a chave do consumidor que foi usada para gerar o token.
- Se estiver usando uma chave de API, você implementou uma política VerifyAPIKey e o aplicativo cliente passou sua chave de consumidor:
- O Apigee verifica a lista de produtos de API aos quais a chave do consumidor foi associada.
- 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 da URL) está habilitado no produto de API.
- A Apigee também verifica se a chave do consumidor não expirou ou foi revogada, verifica se o aplicativo não foi revogado e verifica se o desenvolvedor não está inativo.
- Se todas essas coisas forem verdadeiras — o token não expirou (se aplicável), a chave do consumidor é válida e aprovada, o aplicativo é aprovado, o desenvolvedor está ativo, o proxy está disponível no produto e o recurso está disponível no produto — a verificação de credencial é bem-sucedida.