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.
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.
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.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-05 UTC."],[[["\u003cp\u003eAPI keys, also known as consumer keys, uniquely identify client apps in Apigee and are used for a simple form of app-based security.\u003c/p\u003e\n"],["\u003cp\u003eTo implement API key validation, you must create an API product bundling the desired API proxies and a developer app representing the client app to be authenticated.\u003c/p\u003e\n"],["\u003cp\u003eClient apps present the API key with each request, and Apigee proxies utilize policies to verify the key's authenticity and approved status.\u003c/p\u003e\n"],["\u003cp\u003eAt runtime, requests from client apps include the consumer key, either directly or via an OAuth token derived from the consumer key, which is then validated by the API Proxy.\u003c/p\u003e\n"],["\u003cp\u003eApigee verifies that the API key is associated with an appropriate API Product, not expired or revoked, and that the corresponding app and developer are active, as well as that the requested resource is available.\u003c/p\u003e\n"]]],[],null,["# API keys\n\n*This page\napplies to **Apigee** and **Apigee hybrid**.*\n\n\n*View [Apigee Edge](https://docs.apigee.com/api-platform/get-started/what-apigee-edge) documentation.*\n\nAn *API key* (known in Apigee as a *consumer key*) is a string value passed\nby a client app to your API proxies. The key uniquely identifies the client app.\n\nAPI key validation is the simplest form of app-based security that you can configure for an\nAPI. A client app simply presents an API key with its request, then Apigee checks to see\nthat the API key is in an approved state for the resource being requested. Internally, your\nproxies use policies to verify API key authenticity.\n\nTo support this simplicity, you'll need to do a bit of setup. To support API keys, you'll need\nto:\n\n- **Create an Apigee API product** that bundles the API proxies you want to protect using the API key.\n- **Create an Apigee developer app** that represents the client app developer whose app you'll be authenticating.\n\n In creating the developer app, you specify API products the developer's app will have\n access to -- and for which it will need to provide an API key.\n- To your proxies (the ones you included in your API product), **add policies** to verify that an incoming API key is valid.\n\nThe [Secure an API by\nrequiring API keys](/apigee/docs/api-platform/tutorials/secure-calls-your-api-through-api-key-validation) tutorial is a quick way to learn how to control access to an API proxy\nwith an API key.\n| **Note:** The security associated with API keys is limited. Because API keys can easily be extracted from app code and used to access an API, they work better as unique app identifiers, rather than security tokens. If you're looking for a way to implement security, be sure to see [OAuth home](/apigee/docs/api-platform/security/oauth/oauth-home).\n| **Note:** API keys go by many names. You may see them referred to as app keys, developer app keys, consumer keys, or client IDs.\n| **Sample:** A working sample API proxy that enforces API key validation is available in the [API Platform\n| Samples](https://github.com/apigee/api-platform-samples) available on GitHub. You can use the sample API proxy to secure your own API. Locate the API proxy found under `/sample-proxies/apikey`. Modify the TargetEndpoint configuration to point to your URL. Then deploy.\n\nHow API keys work\n-----------------\n\nIn Apigee, an API key is referred to as a consumer key. When you register developer apps,\nApigee generates a consumer key and secret. Apigee stores the consumer key for future\nvalidation. Each consumer key is unique in the organization. The app developer embeds the\nconsumer key in the client app. The client app must present the consumer key for each request.\nAPI Services verifies the consumer key before permitting the app's request.\n\n### High-level steps\n\nThe following steps describe how API keys are used by Apigee. These steps include the\npossible presence of OAuth security as well, since it is often used in conjunction with API\nkeys.\n\n1. **Create an API product** that includes API proxies that should be protected with the API key.\n2. You **register a developer app** in your organization. When you do Apigee generates a consumer key and a consumer secret.\n3. **Associate the developer app with at least one API product**. It is the product that associates resource paths and API proxies with key approval.\n4. At run time, when the client app makes a request to your API, the **client app sends\n the consumer key when making the request** . In practice, the consumer key might be either passed explicitly or it might be implicitly referred to via an OAuth token:\n - When the API uses API key verification -- such as by implementing a VerifyAPIKey policy -- the client app must pass the consumer key explicitly.\n - When the API uses OAuth token verification -- such as by implementing an OAuthV2 policy -- the client app must pass a token that has been *derived from* the consumer key.\n5. The **API Proxy validates the request** credentials through either a VerifyAPIKey policy or an OAuthV2 policy with a VerifyAccessToken operation. If you do not include a credential enforcement policy in your API Proxy, any caller can successfully invoke your APIs. For more information, see [Verify API Key\n policy](/apigee/docs/api-platform/reference/policies/verify-api-key-policy).\n\n### Verifying request credentials\n\nThis is an overview. Be sure to see\n[Setting up API key\nvalidation](/apigee/docs/api-platform/security/setting-api-key-validation) for\ndetails and code examples.\n\n1. If you're using OAuth token verification -- you've implemented an OAuth policy to verify and the client app has passed an OAuth token:\n - Apigee verifies that the token is not expired, and then looks up the consumer key that was used to generate the token.\n2. If you're using an API key -- you've implemented a VerifyAPIKey policy and the client app has passed its consumer key:\n 1. Apigee checks the list of API Products with which the consumer key has been associated.\n 2. Apigee checks each API Product to see if the current API Proxy is included in the API Product, and if the current resource path (url path) is enabled on the API Product.\n 3. Apigee also verifies that the consumer key is not expired or revoked, checks that the app is not revoked, and checks that the developer is not inactive.\n 4. If all of those things are true -- the token is not expired (if applicable), the consumer key is valid and approved, the app is approved, the developer is active, the proxy is available in the product, and the resource is available on the product -- the credential verification succeeds."]]