Guide de démarrage rapide : Sécuriser le trafic vers un service avec la gcloud CLI

Cette page vous explique comment déployer une API sur API Gateway pour sécuriser le trafic vers un service de backend.

Procédez comme suit pour déployer une nouvelle API permettant d'accéder à un service de backend sur Cloud Run Functions à l'aide de la Google Cloud CLI. Ce guide de démarrage rapide explique également comment utiliser une clé API pour protéger votre backend contre les accès non autorisés.

Avant de commencer

  1. Dans la console Google Cloud , accédez à la page Tableau de bord, puis sélectionnez ou créez un projet Google Cloud .

    Accéder à Google Dashboard

  2. Vérifiez que la facturation est activée sur votre projet.

    Activer la facturation

  3. Vérifiez que la Google Cloud CLI est téléchargée et installée sur votre ordinateur.

    Télécharger gcloud CLI

  4. Mettez à jour les composants gcloud :

    gcloud components update
  5. Définissez le projet par défaut. Remplacez PROJECT_ID par l'ID du projet Google Cloud .

    gcloud config set project PROJECT_ID

Activer les services requis

API Gateway nécessite l'activation des services Google Cloud suivants :

Nom Nom du service
API de la passerelle API apigateway.googleapis.com
API Service Management servicemanagement.googleapis.com
API Service Control servicecontrol.googleapis.com

Pour activer les services requis :

Console Google Cloud

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

    Accéder à la bibliothèque d'API

  2. Sur la page Bibliothèque d'API, saisissez le nom de l'API requise dans la barre de recherche.
  3. Dans les résultats de recherche, sélectionnez la page de l'API.
  4. Sur la page de l'API, cliquez sur Activer.
  5. Répétez ces étapes pour chacun des services listés dans le tableau précédent.

Google Cloud CLI

Utilisez les commandes suivantes pour activer les services :

gcloud services enable apigateway.googleapis.com
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com

Pour en savoir plus sur les services gcloud, consultez la section Services gcloud.

Déployer un backend d'API

API Gateway se situe devant un service de backend déployé et gère toutes les requêtes entrantes. Dans ce guide de démarrage rapide, API Gateway achemine les appels entrants vers un backend Cloud Run Functions nommé helloGET, qui contient la fonction Node.js ci-dessous.

const functions = require('@google-cloud/functions-framework');

// Register an HTTP function with the Functions Framework that will be executed
// when you make an HTTP request to the deployed function's endpoint.
functions.http('helloGET', (req, res) => {
  res.send('Hello World!');
});

Suivez les étapes du Guide de démarrage rapide : déployer une fonction Cloud Run à l'aide de Google Cloud CLI pour télécharger l'exemple de code Cloud Run Functions et déployer le service de backend de la fonction Cloud Run. Votre administrateur devra attribuer des rôles supplémentaires à votre compte et au compte de service Cloud Build, comme décrit dans ce démarrage rapide.

Copiez l'URL du service qui s'affiche lorsque la fonction Cloud Run est déployée. Vous en aurez besoin pour créer la configuration de l'API à une étape ultérieure.

Créer une API

Vous êtes maintenant prêt à créer votre API sur API Gateway.

  1. Saisissez la commande suivante, où :

    • API_ID spécifie le nom de votre API. Consultez les exigences concernant les ID d'API pour connaître les consignes de dénomination des API.
      gcloud api-gateway apis create API_ID 

    Exemple :

    gcloud api-gateway apis create my-api
  2. Si l'opération réussit, vous pouvez utiliser la commande suivante pour afficher les détails de la nouvelle API :

    gcloud api-gateway apis describe API_ID 

    Exemple :

    gcloud api-gateway apis describe my-api 

    Cette commande renvoie les éléments suivants :

      createTime: '2020-02-29T21:52:20.297426875Z'
      displayName: my-api
      managedService: my-api-123abc456def1.apigateway.my-project.cloud.goog
      name: projects/my-project/locations/global/apis/my-api
      state: ACTIVE
      updateTime: '2020-02-29T21:52:20.647923711Z'

Copiez la valeur de la propriété managedService. Cette valeur est utilisée pour activer votre API lors d'une étape ultérieure.

Créer une configuration d'API

Pour que API Gateway puisse être utilisé afin de gérer le trafic vers votre backend API déployé, il a besoin d'une configuration d'API.

Vous pouvez créer une configuration d'API à l'aide d'une description OpenAPI contenant des annotations spécialisées pour définir le comportement choisi d'API Gateway. Pour en savoir plus sur les extensions OpenAPI compatibles, consultez les pages suivantes :

La description OpenAPI utilisée pour ce guide de démarrage rapide contient des instructions de routage vers notre backend de fonction Cloud Run :

OpenAPI 2.0

# openapi-functions.yaml
swagger: '2.0'
info: