Effectuer un appel avec une requête HTTPS

Vous pouvez envoyer des requêtes HTTPS depuis n'importe quel système capable de le faire afin de déclencher un service hébergé sur Cloud Run. Notez que tous les services Cloud Run disposent d'une URL HTTPS stable.

Voici quelques cas d'utilisation :

  • API Web RESTful personnalisée
  • Microservice privé
  • Middleware HTTP ou proxy inverse pour vos applications Web
  • Application Web pré-empaquetée

Créer des services publics

La création d'un service public sur Cloud Run nécessite :

  • l'accès au service depuis l'Internet public ;
  • une URL destinée à un usage public.

Pour rendre un service public, configurez-le de manière à autoriser l'accès non authentifié (public) lors du déploiement ou à tout moment après le déploiement.

Vous pouvez utiliser l'URL stable et attribuée automatiquement lors du premier déploiement de votre service comme URL publique sur Cloud Run (entièrement géré). Pour déterminer l'URL d'un service déployé, exécutez la commande suivante :

gcloud run services describe SERVICE --format 'value(status.url)'

Vous pouvez également utiliser votre propre domaine personnalisé mappé au service. Les certificats SSL gérés sont alors fournis automatiquement.

Cloud Run (entièrement géré) redirige toutes les requêtes HTTP vers HTTPS, mais interrompt le protocole TLS avant que les requêtes n'atteignent votre service Web. Si votre service génère des ressources Web qui font référence à d'autres ressources Web avec des URL non sécurisées (http://), votre page peut faire l'objet d'avertissements ou d'erreurs de contenu mixte. Utilisez le protocole https pour tous les URI Web de référence ou tenez compte des instructions de proxy dans la requête HTTP, telles que l'en-tête HTTP X-Forwarded-Proto.

HTTP et HTTP/2

Par défaut, Cloud Run rétrograde les requêtes HTTP/2 à HTTP/1 lorsque ces requêtes sont envoyées au conteneur. Si vous souhaitez configurer explicitement votre service pour utiliser HTTP/2 de bout en bout, consultez la page Utiliser HTTP/2.

Créer des services privés

Pour créer un service privé sur Cloud Run, vous devez limiter l'accès au service.

Vous pouvez limiter l'accès à votre service en utilisant IAM, comme discuté à la page Gérer l'accès à l'aide d'IAM.

Le moyen le plus simple pour les développeurs de tester des services privés consiste à utiliser un outil tel que curl et à transmettre un jeton d'authentification dans l'en-tête Authorization :

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

Notez qu'un service Cloud Run peut appeler un autre service Cloud Run avec l'authentification de service à service.

Outre les méthodes répertoriées ci-dessus pour limiter l'accès, vous pouvez également limiter l'accès à un service à l'aide d'un mécanisme d'autorisation et d'authentification au niveau de l'application, par exemple Identity Platform.

Utiliser un middleware pour améliorer votre service

Les proxys HTTPS peuvent décharger les fonctionnalités courantes d'un service HTTP, telles que la mise en cache, la validation des requêtes ou l'autorisation. Pour les microservices, de nombreux proxys HTTP font partie d'une solution de passerelle d'API ou d'un maillage de services tel que Istio.

Les produits Google Cloud que vous pouvez utiliser pour améliorer votre service Cloud Run incluent :