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.

Accéder à "Identifiants"

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.

  1. Activez la prise en charge des clés API pour votre service.

    ConsoleGoogle Cloud

    Procédez comme suit :

    1. Dans la console Google Cloud , accédez à API et services > Bibliothèque.

      Accéder à la bibliothèque d'API et de services

    2. 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
    3. Cliquez sur la fiche du service pour afficher la page de destination.
    4. 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
  2. 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 security et securityDefinitions ou securitySchemes comme 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"