Utiliser des clés API
Cette page explique comment utiliser les clés API dans API Gateway.
Présentation
Une clé API est une chaîne qui identifie un projetGoogle Cloud à des fins de gestion des quotas, de facturation et de surveillance. Les développeurs génèrent une clé API dans un projet de la console Google Cloud . Ils intègrent ensuite cette clé à chaque appel de votre API en tant que paramètre de requête ou dans un en-tête de requête.
Si vous spécifiez une exigence de clé API dans la configuration de votre API, API Gateway utilise la clé API pour rechercher le projet Google Cloud associé. API Gateway n'accepte que les requêtes comportant une clé API générée dans votre projet Google Cloud ou dans l'un des autres projetsGoogle Cloud au sein desquels votre API a été activée.
Créer une clé API
Pour créer une clé API ou afficher celles déjà disponibles dans votre projet Google Cloud , accédez à la page API et services > Identifiants, puis suivez les étapes décrites dans Créer une clé API.
Configurer l'authentification par clé API pour API Gateway
Configurez l'authentification par clé API pour API Gateway afin de sécuriser l'accès à votre passerelle à l'aide d'une clé API, comme décrit dans les sections suivantes.
- Activez la prise en charge des clés API pour votre service.
ConsoleGoogle Cloud
Procédez comme suit :
- Dans la console Google Cloud , accédez à API et services > Bibliothèque.
- Dans la barre de recherche, saisissez le nom du service géré de l'API. Vous trouverez cette valeur dans la colonne Service géré de votre API sur la page d'accueil des API. Exemple :
my-api-123abc456def1.apigateway.my-project.cloud.goog
- Cliquez sur la fiche du service pour afficher la page de destination.
- Sur la page de destination de votre service, cliquez sur Activer.
Google Cloud CLI
Saisissez la commande suivante, où MANAGED_SERVICE_NAME spécifie le nom du service géré créé lorsque vous avez déployé l'API. Vous pouvez l'afficher dans la propriété "Managed Service" (Service géré) listée avec la commande
gcloud api-gateway apis describe.gcloud services enable MANAGED_SERVICE_NAME
Exemple :
gcloud services enable my-api-123abc456def1.apigateway.my-project.cloud.goog
- Modifiez la spécification OpenAPI utilisée pour créer la configuration de votre API afin d'inclure des instructions permettant d'appliquer une stratégie de sécurité pour la validation des clés API à tout le trafic. Ajoutez le type
securityetsecurityDefinitionsousecuritySchemescomme indiqué :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"