Usar chaves da API
Esta página descreve como usar chaves da API no API Gateway.
Uma chave de API é uma string que identifica um Google Cloud projeto para fins de quota, faturação e monitorização. Os programadores geram uma chave da API num projeto na Google Cloud consola. Em seguida, incorporam essa chave em cada chamada à sua API como um parâmetro de consulta ou num cabeçalho de pedido.
Se especificar um requisito de chave de API na configuração da API, o API Gateway usa a chave de API para procurar o Google Cloud projeto associado. O API Gateway rejeita pedidos, a menos que a chave da API tenha sido gerada no seu Google Cloud projeto ou noutrosGoogle Cloud projetos nos quais a sua API tenha sido ativada.
Para criar uma chave da API ou ver as chaves da API já disponíveis no seu Google Cloud projeto, aceda à página APIs e serviços > Credenciais.
Use uma chave da API
Para usar funcionalidades do API Gateway, como quotas, pode transmitir uma chave de API para que o API Gateway possa identificar o Google Cloud projeto ao qual a aplicação cliente está associada.
Configure a autenticação de chaves de API para o API Gateway
Para proteger o acesso ao seu gateway através de uma chave da API:
- Ative o suporte de chaves da API para o seu serviço. Introduza o seguinte comando, em que:
- MANAGED_SERVICE_NAME especifica o nome do serviço gerido criado quando implementou a API. Pode ver esta propriedade de serviço gerido apresentada com o comando
gcloud api-gateway apis describe. - PROJECT_ID especifica o nome do seu Google Cloud projeto.
Por exemplo:gcloud services enable MANAGED_SERVICE_NAME.apigateway.PROJECT_ID.cloud.goog
gcloud services enable my-api-123abc456def1.apigateway.my-project.cloud.goog
- MANAGED_SERVICE_NAME especifica o nome do serviço gerido criado quando implementou a API. Pode ver esta propriedade de serviço gerido apresentada com o comando
- Modifique a especificação OpenAPI usada para criar a configuração da API de modo a incluir instruções para aplicar uma política de segurança de validação de chaves da API a todo o tráfego. Adicione o tipo
securityesecurityDefinitionsousecuritySchemes, conforme mostrado:OpenAPI 2.0
# openapi2-functions.yaml swagger: '2.0' info: title: API_ID optional-string description: Sample API on API Gateway with a Google Cloud Functions backend version: 1.0.0 schemes: - https produces: - application/json paths: /hello: get: summary: Greet a user operationId: hello x-google-backend: address: https://GCP_REGION-PROJECT_ID.cloudfunctions.net/helloGET security: - api_key: [] responses: '200': description: A successful response schema: type: string securityDefinitions: # This section configures basic authentication with an API key. api_key: type: "apiKey" name: "key" in: "query"
O
securityDefinitionconfigura a sua API para exigir uma chave de API transmitida como um parâmetro de consulta denominadokeyquando pede acesso a todos os caminhos definidos na especificação.OpenAPI 3.x
# openapi-functions.yaml openapi: 3.0.4 info: title: API_ID