Présentation des certificats SSL

Le protocole TLS (Transport Layer Security) permet de chiffrer les informations lors de leur envoi sur un réseau afin de garantir la confidentialité entre un client et un serveur ou un équilibreur de charge. Les équilibreurs de charge proxy Google Cloud dont les règles de transfert font référence à un proxy HTTPS cible ou à un proxy SSL cible nécessitent une clé privée et un certificat SSL dans la configuration du proxy cible de l'équilibreur de charge.

Méthodes de configuration des certificats

Google Cloud propose deux méthodes pour configurer des certificats SSL pour les équilibreurs de charge HTTP(S) et proxy SSL. Les deux méthodes sont compatibles avec les certificats SSL autogérés et gérés par Google.

  • Ressource de certificat SSL Compute Engine : avec cette méthode, le proxy cible pour un équilibreur de charge d'application externe global, un équilibreur de charge d'application classique, un équilibreur de charge réseau proxy externe, un équilibreur de charge d'application externe régional ou un équilibreur de charge d'application interne est configuré pour référencer une ressource de certificat SSL Compute Engine. La ressource de certificat SSL contient la clé privée, le certificat correspondant et, éventuellement, les certificats CA. Cette méthode est compatible avec tous les niveaux de service réseau pris en charge par l'équilibreur de charge.

  • Gestionnaire de certificats : avec cette méthode, le proxy cible pour un équilibreur de charge d'application externe global, un équilibreur de charge d'application classique ou un équilibreur de charge réseau proxy externe est configuré pour référencer un mappage de certificats. Le mappage de certificats contient une ou plusieurs entrées de certificat. Chaque entrée de certificat fait référence à une seule ressource de certificat du gestionnaire de certificats, et chaque ressource de certificat contient une clé privée et un certificat. Avec le gestionnaire de certificats, un proxy HTTPS ou SSL cible peut référencer un mappage de certificats avec des milliers d'entrées de certificat SSL. Cette méthode n'est disponible que lorsque l'équilibreur de charge utilise le niveau de service réseau Premium.

    Pour les équilibreurs de charge d'application internes interrégionaux, les équilibreurs de charge d'application internes régionaux et externes régionaux, les certificats du gestionnaire de certificats sont associés au proxy cible. Les mappages de certificats ne sont pas acceptés.

    Pour en savoir plus, consultez la documentation suivante :

Types de certificat

Vous pouvez créer vos propres certificats ou Google peut les gérer pour vous :

  • Les certificats SSL autogérés sont des certificats que vous obtenez, provisionnez et renouvelez vous-même. Les certificats autogérés peuvent appartenir à l'un des types de certificat de clé publique suivants :

    • Validation de domaine (DV)
    • Validation de l'organisation (OV)
    • Validation étendue (EV)

    Pour en savoir plus sur les certificats SSL Compute Engine autogérés, consultez la section Utiliser des certificats SSL autogérés.

    Pour en savoir plus sur les certificats SSL autogérés et le gestionnaire de certificats, consultez la section Importer un certificat autogéré dans la documentation du gestionnaire de certificats, ou la section Déployer un certificat autogéré pour accéder à un tutoriel de bout en bout.

  • Les certificats SSL gérés par Google sont des certificats que Google Cloud obtient, gère et renouvelle automatiquement. Les certificats gérés par Google sont toujours des certificats de validation de domaine (DV). Ils ne prouvent pas l'identité d'une organisation ou d'une personne associée au certificat, et ne sont pas compatibles avec les noms communs contenant des caractères génériques.

    Pour en savoir plus sur les certificats SSL Compute Engine gérés par Google, consultez la section Utiliser des certificats SSL gérés par Google.

    Le gestionnaire de certificats prend en charge les certificats SSL gérés par Google qui utilisent l'autorisation de l'équilibreur de charge, l'autorisation DNS et l'intégration avec Certificate Authority Service. Pour en savoir plus sur le gestionnaire de certificats SSL géré par Google, consultez la page Présentation du déploiement dans la documentation du gestionnaire de certificats.

Certificats et équilibreurs de charge Google Cloud

Les sections suivantes décrivent la compatibilité de chaque équilibreur de charge d'application avec les différentes méthodes de configuration des certificats.

Certificats SSL Compute Engine

Le tableau suivant indique quels équilibreurs de charge Google Cloud sont compatibles avec les certificats SSL Compute Engine autogérés, les certificats SSL Compute Engine gérés par Google ou les deux :

Compatibilité avec les certificats SSL Compute Engine
Équilibreur de charge Autogéré Gérés par Google
Équilibreur de charge d'application externe global *
sslCertificates

sslCertificates
Équilibreur de charge d'application classique *
sslCertificates

sslCertificates
Équilibreur de charge d'application externe régional
regionSslCertificates
Équilibreur de charge d'application interne régional
regionSslCertificates
Équilibreur de charge d'application interne interrégional *
Équilibreur de charge réseau proxy externe (avec un proxy SSL)
sslCertificates

sslCertificates

* L'équilibreur de charge d'application externe global, l'équilibreur de charge d'application interne interrégional et l'équilibreur de charge d'application classique utilisent des proxys HTTPS cibles globaux même lorsqu'un équilibreur de charge d'application classique utilise le niveau Standard.

L'équilibreur de charge d'application externe régional et l'équilibreur de charge d'application interne régional utilisent des proxys HTTPS cibles régionaux.

L'équilibreur de charge réseau proxy externe utilise des proxys SSL cibles globaux, même au niveau Standard.

Certificats SSL du gestionnaire de certificats

Le tableau suivant indique les équilibreurs de charge Google Cloud compatibles avec les certificats autogérés du gestionnaire de certificats, les certificats gérés par Google, ou les deux à la fois.

Équilibreur de charge Certificat géré par Google Certificat autogéré
Autorisation DNS Autorisation d'équilibreur de charge Certificate Authority Service (service d'autorité de certification)
Équilibreur de charge d'application externe global
info

info

info

info
Équilibreur de charge d'application classique
info

info

info

info
Équilibreur de charge réseau proxy externe global
info

info

info

info
Équilibreur de charge d'application interne interrégional
info

info

info
Équilibreur de charge d'application externe régional
info

info

info
Équilibreur de charge d'application interne régional
info

info

info

Plusieurs certificats SSL

Vous pouvez utiliser le même proxy HTTPS ou SSL cible pour héberger plusieurs certificats, ce qui est courant lorsque l'équilibreur de charge prend en charge plusieurs noms de domaine. Vous pouvez configurer une seule règle de transfert (une seule adresse IP et un seul port) pour référencer un proxy cible commun, ou vous pouvez configurer plusieurs règles de transfert (différentes adresses IP et ports) pour référencer un proxy cible commun.

Plusieurs ressources de certificat SSL Compute Engine

Lorsque vous utilisez des ressources de certificat SSL Compute Engine, chaque ressource de proxy cible peut référencer jusqu'à un nombre maximal de certificats SSL par proxy HTTPS ou SSL cible non configurable. Pour en savoir plus, consultez la section Pools cibles et proxys cibles dans la documentation sur les quotas et les limites d'équilibrage de charge.

La première ressource de certificat SSL Compute Engine référencée par le proxy cible d'un équilibreur de charge est considérée comme le certificat par défaut (principal) de l'équilibreur de charge.

Utiliser plusieurs certificats SSL à l'aide du gestionnaire de certificats

Lorsque vous utilisez le gestionnaire de certificats avec un mappage de certificats sur un équilibreur de charge, chaque ressource de proxy cible référence un seul mappage de certificats. Un mappage de certificat référence une ou plusieurs entrées de certificat, et vous pouvez configurer quelle entrée de certificat est le certificat par défaut (principal) pour le mappage. Le nombre de cartes, d'entrées et de certificats du gestionnaire de certificats sont des quotas configurables par projet. Pour en savoir plus, consultez la section Quotas de ressources de la documentation du gestionnaire de certificats.

Si vous utilisez un équilibreur de charge compatible avec le gestionnaire de certificats et que vous devez héberger plus que quelques certificats SSL par proxy cible, assurez-vous d'utiliser le gestionnaire de certificats plutôt que les ressources de certificats SSL Compute Engine.

Méthode de sélection du certificat

Une fois qu'un client se connecte à un équilibreur de charge proxy HTTP(S) ou SSL, le client et l'équilibreur de charge négocient une session TLS. Lors de la négociation de la session TLS, le client envoie à l'équilibreur de charge une liste d'algorithmes de chiffrement TLS compatibles (dans ClientHello). L'équilibreur de charge sélectionne un certificat dont l'algorithme de clé publique est compatible avec le client. Le client peut également envoyer un nom d'hôte d'indication de nom de serveur (SNI) à l'équilibreur de charge lors de cette négociation. Les données de nom d'hôte SNI sont parfois utilisées pour aider l'équilibreur de charge à choisir le certificat qu'il doit envoyer au client.

Vous pouvez modéliser le processus utilisé par les équilibreurs de charge proxy Google Cloud pour sélectionner un certificat à envoyer à un client comme suit. Dans votre modèle, commencez par tous les certificats SSL qui ont été configurés sur le proxy HTTPS ou SSL cible, quelle que soit la méthode de configuration.

  1. L'équilibreur de charge sélectionne un seul candidat de certificat :

    • Si le proxy cible d'un équilibreur de charge ne référence qu'une seule ressource de certificat SSL Compute Engine, ou si le proxy cible d'un équilibreur de charge référence un mappage du gestionnaire de certificats avec une seule entrée de certificat, l'équilibreur de charge utilise le seul et unique certificat configuré comme candidat du certificat. La valeur du nom d'hôte SNI (si elle est fournie) n'a aucune influence sur l'équilibreur de charge. Passez à l'étape 2.

    • Si le proxy cible d'un équilibreur de charge référence deux ressources de certificat SSL Compute Engine ou plus, ou si le proxy cible d'un équilibreur de charge référence un mappage du gestionnaire de certificats avec deux entrées de certificat ou plus, l'équilibreur de charge utilise le processus suivant pour sélectionner un seul candidat de certificat :

      • Si le client n'envoie aucun nom d'hôte SNI dans son ClientHello, l'équilibreur de charge utilise le certificat SSL par défaut (principal) comme candidat du certificat. Passez à l'étape 2.

      • Si le client envoie un nom d'hôte SNI qui ne correspond à aucun nom commun de certificat (CN) et ne correspond à aucun autre nom d'objet de certificat (SAN), l'équilibreur de charge utilise le certificat SSL par défaut (principal) comme candidat du certificat. Passez à l'étape 2.

      • L'équilibreur de charge sélectionne un candidat de certificat correspondant au nom d'hôte SNI envoyé par le client. La correspondance se fait par préfixe le plus long par rapport aux attributs de certificat du nom commun (CN) et de l'autre nom de l'objet (SAN), avec une préférence pour les certificats ECDSA par rapport aux certificats RSA. Pour illustrer la méthode de mise en correspondance, considérons un proxy cible qui référence un certificat dont le nom commun est cats.pets.example.com et un autre certificat dont le nom commun est dogs.pets.example.com. En plus d'inclure chaque valeur CN dans ses SAN, chaque certificat inclut *.pets.example.com et *.example.com dans ses SAN.

        • Si le nom d'hôte SNI fourni est cats.pets.example.com, l'équilibreur de charge utilise le certificat dont le nom commun est cats.pets.example.com comme candidat du certificat. Passez à l'étape 2.
        • Si le nom d'hôte SNI fourni est ferrets.pets.example.com, l'équilibreur de charge utilise l'un des deux certificats comme candidat du certificat, car les deux certificats configurés comportent des SAN qui incluent *.pets.example.com. Vous ne pouvez pas contrôler lequel des deux certificats devient le candidat du certificat dans cette situation. Passez à l'étape 2.
  2. Le candidat de certificat est envoyé au client s'il utilise un algorithme de clé publique compatible avec l'un des algorithmes de chiffrement déclarés par le client.

    • La négociation TLS peut échouer si le client ne prend pas en charge une suite de chiffrement incluant l'algorithme de clé publique (ECDSA ou RSA) du certificat.
    • L'équilibreur de charge n'utilise pas les attributs notValidBefore et notValidAfter du certificat pour la méthode de sélection du candidat. Par exemple, l'équilibreur de charge peut diffuser un certificat expiré si le certificat expiré a été sélectionné comme candidat.

Tarifs

Des frais de mise en réseau vous sont facturés lorsque vous utilisez des équilibreurs de charge Google Cloud. Pour plus d'informations, consultez la page Tous les tarifs de mise en réseau. Pour en savoir plus sur les tarifs du gestionnaire de certificats, consultez la section Tarifs dans la documentation du gestionnaire de certificats. L'utilisation des ressources de certificat SSL Compute Engine n'entraîne aucuns frais supplémentaires.

Étapes suivantes

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Essai gratuit