Déployer un certificat autogéré régional

Pour sécuriser la communication de vos équilibreurs de charge d'application externes régionaux ou de vos équilibreurs de charge d'application internes régionaux, utilisez le gestionnaire de certificats pour déployer un certificat autogéré. Cette approche vous permet d'utiliser vos propres certificats de confiance pour vos applications. Ce tutoriel vous explique comment déployer des certificats autogérés spécifiquement pour les équilibreurs de charge régionaux.

Avant de commencer, assurez-vous d'avoir créé un équilibreur de charge d'application externe régional ou un équilibreur de charge d'application interne régional.

Pour les déploiements externes globaux ou interrégionaux, consultez les ressources suivantes :

Objectifs

Ce guide vous explique comment effectuer les tâches suivantes :

  • Importez un certificat autogéré dans Certificate Manager.
  • Déployez le certificat sur un équilibreur de charge d'application externe régional ou sur un équilibreur de charge d'application interne régional à l'aide d'un proxy HTTPS cible.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . 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 sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine, Certificate Manager APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine, Certificate Manager APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init

Rôles requis

Assurez-vous de disposer des rôles suivants pour effectuer les tâches de ce tutoriel :

  • Propriétaire du gestionnaire de certificats (roles/certificatemanager.owner)

    Nécessaire pour créer et gérer des ressources Certificate Manager.

  • Administrateur de l'équilibreur de charge Compute (roles/compute.loadBalancerAdmin) ou Administrateur de réseaux Compute (roles/compute.networkAdmin)

    Obligatoire pour créer et gérer le proxy HTTPS cible.

Pour en savoir plus, consultez les ressources suivantes :

Créer l'équilibreur de charge

Ce tutoriel part du principe que vous avez déjà créé et configuré les backends, les vérifications de l'état, les services de backend et les mappages d'URL de l'équilibreur de charge. Notez le nom de la carte d'URL, car vous en aurez besoin plus tard dans ce tutoriel.

Créer une clé privée et un certificat

Pour créer une clé privée et un certificat :

  1. Faites appel à une autorité de certification (CA) tierce de confiance pour émettre le certificat et la clé associée.

  2. Vérifiez que le certificat est correctement chaîné et que la racine est approuvée.

  3. Préparez les fichiers encodés au format PEM suivants :

    • Fichier de certificat (CRT)
    • Fichier de clé privée correspondant (KEY)

Pour savoir comment demander et valider un certificat, consultez Créer une clé privée et un certificat.

Importer un certificat autogéré dans Certificate Manager

Pour importer le certificat dans le gestionnaire de certificats, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Certificate Manager.

    Accéder à Certificate Manager

  2. Dans l'onglet Certificats, cliquez sur Ajouter un certificat.

  3. Dans le champ Nom du certificat, saisissez un nom unique pour le certificat.

  4. Facultatif : Dans le champ Description, saisissez une description du certificat. La description vous permet d'identifier le certificat.

  5. Pour l'Emplacement, sélectionnez Régional.

  6. Dans la liste Région, sélectionnez votre région.

  7. Pour Type de certificat, sélectionnez Créer un certificat autogéré.

  8. Pour le champ Certificat, effectuez l'une des opérations suivantes :

    • Cliquez sur le bouton Importer, puis sélectionnez votre fichier de certificat au format PEM.
    • Copiez et collez le contenu d'un certificat au format PEM. Le contenu doit commencer par -----BEGIN CERTIFICATE----- et se terminer par -----END CERTIFICATE-----.
  9. Pour le champ Certificat de clé privée, effectuez l'une des opérations suivantes :

    • Cliquez sur le bouton Importer et sélectionnez votre clé privée. Votre clé privée doit être au format PEM et ne pas être protégée par une phrase secrète.
    • Copiez et collez le contenu d'une clé privée au format PEM. Les clés privées doivent commencer par -----BEGIN PRIVATE KEY----- et se terminer par -----END PRIVATE KEY-----.
  10. Dans le champ Libellés, spécifiez les libellés à associer au certificat. Pour ajouter un libellé, cliquez sur Ajouter un libellé, puis spécifiez une clé et une valeur pour votre libellé.

  11. Cliquez sur Créer.

    Le nouveau certificat apparaît dans la liste des certificats.

gcloud

Pour créer un certificat autogéré régional, exécutez la commande certificate-manager certificates create :

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    --location="LOCATION"

Remplacez les éléments suivants :

  • CERTIFICATE_NAME : nom du certificat.
  • CERTIFICATE_FILE : chemin d'accès et nom du fichier de certificat CRT.
  • PRIVATE_KEY_FILE : chemin d'accès et nom de fichier de la clé privée KEY.
  • LOCATION : emplacement Google Cloud cible.

Terraform

Pour importer un certificat autogéré, vous pouvez utiliser une ressource google_certificate_manager_certificate avec le bloc self_managed.

API

Importez le certificat en envoyant une requête POST à la méthode certificates.create comme suit :

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME
{
  self_managed: {
    pem_certificate: "PEM_CERTIFICATE",
    pem_private_key: "PEM_KEY",
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • CERTIFICATE_NAME : nom du certificat.
  • PEM_CERTIFICATE : PEM du certificat.
  • PEM_KEY : clé PEM.
  • LOCATION : emplacement Google Cloud cible.

Déployer le certificat autogéré sur un équilibreur de charge

Pour déployer le certificat autogéré, associez-le directement au proxy cible.

Associer le certificat directement au proxy cible

Vous pouvez associer le certificat à un proxy cible nouveau ou existant.

Pour associer le certificat à un nouveau proxy cible, utilisez la commande gcloud compute target-https-proxies create :

gcloud compute target-https-proxies create PROXY_NAME \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --url-map=URL_MAP \
    --region=LOCATION

Remplacez les éléments suivants :

  • PROXY_NAME : nom du proxy cible.
  • CERTIFICATE_NAME : nom du certificat.
  • URL_MAP : nom du mappage d'URL. Vous avez créé le mappage d'URL lorsque vous avez créé l'équilibreur de charge.
  • LOCATION : emplacement Google Cloud cible où vous souhaitez créer le proxy cible HTTPS.

Pour associer un certificat à un proxy HTTPS cible existant, utilisez la commande gcloud compute target-https-proxies update. Si vous ne connaissez pas le nom du proxy cible existant, accédez à la page Proxies cibles et notez le nom du proxy cible.

gcloud compute target-https-proxies update PROXY_NAME \
    --region=LOCATION \
    --certificate-manager-certificates=CERTIFICATE_NAME

Après avoir créé ou mis à jour le proxy cible, exécutez la commande suivante pour le vérifier :

gcloud compute target-https-proxies list

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans ce tutoriel ne soient facturées sur votre compte Google Cloud , supprimez le certificat importé :

gcloud certificate-manager certificates delete CERTIFICATE_NAME

Remplacez CERTIFICATE_NAME par le nom du certificat cible.

Si vous ne prévoyez pas d'utiliser l'équilibreur de charge, supprimez-le ainsi que ses ressources. Consultez Nettoyer une configuration d'équilibrage de charge.

Étapes suivantes