Les règles SSL spécifient l'ensemble des fonctionnalités SSL utilisées par les équilibreurs de charge Google Cloud lors de la négociation SSL avec les clients. Dans ce document, le terme SSL désigne à la fois les protocoles SSL et TLS.
Les règles SSL sont compatibles avec les équilibreurs de charge suivants :
- Règles SSL globales
- Équilibreur de charge d'application externe global
- Équilibreur de charge d'application classique
- Équilibreur de charge réseau proxy externe (avec proxy SSL cible)
- Équilibreur de charge d'application interne interrégional
- Règles SSL régionales
- Équilibreur de charge d'application externe régional
- Équilibreur de charge d'application interne régional
Pour en savoir plus sur le fonctionnement des règles SSL, consultez la page Présentation des règles SSL.
Vous pouvez créer et gérer des règles SSL à l'aide de la console Google Cloud ou de Google Cloud CLI lorsque vous créez un équilibreur de charge HTTPS ou SSL, ou à tout moment après la création de l'équilibreur de charge.
Créez des règles SSL
Vous pouvez créer des règles SSL avec des profils gérés par Google ou avec un profil personnalisé.
Créer une règle SSL avec un profil géré par Google
Console
Règle SSL globale
Pour créer une règle SSL globale avec un profil géré par Google, procédez comme suit :
Dans la console Google Cloud, accédez à la page Règles SSL.
Cliquez sur Create policy (Créer une régle).
Dans la section Règle SSL globale, cliquez sur le bouton Créer situé en regard. La page Créer une règle s'affiche.
Saisissez un nom.
Sélectionnez une Version minimale de TLS.
Dans la section Profil, sélectionnez Compatible, Moderne ou Limité. Les Fonctionnalités activées et les Fonctionnalités désactivées pour le profil s'affichent sur le côté droit de la page.
Si vous souhaitez associer la règle à un équilibreur de charge existant, cliquez sur Appliquer aux cibles et sélectionnez une règle de transfert en tant que cible de la règle SSL. Si nécessaire, ajoutez d'autres cibles.
Cliquez sur Créer.
Règle SSL régionale
Pour créer une règle SSL régionale avec un profil géré par Google, procédez comme suit :
Dans la console Google Cloud, accédez à la page Règles SSL.
Cliquez sur Create policy (Créer une régle).
Dans la section Règle SSL régionale, cliquez sur le bouton Créer situé en regard. La page Créer une règle s'affiche.
Saisissez un nom.
Sélectionnez une Région.
Sélectionnez une Version minimale de TLS.
Dans la section Profil, sélectionnez Compatible, Moderne ou Limité. Les Fonctionnalités activées et les Fonctionnalités désactivées pour le profil s'affichent sur le côté droit de la page.
Si vous souhaitez associer la règle à un équilibreur de charge existant, cliquez sur Appliquer aux cibles et sélectionnez une règle de transfert en tant que cible de la règle SSL. Si nécessaire, ajoutez d'autres cibles.
Cliquez sur Créer.
gcloud
Règle SSL globale
Voici la syntaxe générale pour créer une règle SSL globale avec un profil géré par Google :
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile COMPATIBLE | MODERN | RESTRICTED \ --min-tls-version 1.0 | 1.1 | 1.2
La commande suivante crée une règle SSL globale avec le profil MODERN
:
gcloud compute ssl-policies create my-ssl-policy \ --profile MODERN \ --min-tls-version 1.0
Règle SSL régionale
Voici la syntaxe générale pour créer une règle SSL régionale avec un profil géré par Google :
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile COMPATIBLE | MODERN | RESTRICTED \ --min-tls-version 1.0 | 1.1 | 1.2 \ --region REGION
La commande suivante crée une règle SSL régionale avec le profil COMPATIBLE
:
gcloud compute ssl-policies create my-ssl-policy \ --profile COMPATIBLE \ --min-tls-version 1.1 \ --region us-west1
Créer une règle SSL avec un profil personnalisé
Console
Règle SSL globale
Pour créer une règle SSL globale avec un profil personnalisé, procédez comme suit :
Dans la console Google Cloud, accédez à la page Règles SSL.
Cliquez sur Create policy (Créer une régle).
Dans la section Règle SSL globale, cliquez sur le bouton Créer situé en regard. La page Créer une règle s'affiche.
Saisissez un nom.
Sélectionnez une Version minimale de TLS.
Dans la section Profil, sélectionnez Personnalisé. Toutes les fonctionnalités sont affichées en tant que Fonctionnalités désactivées sur le côté droit de la page.
Dans la liste Fonctionnalités, sélectionnez toutes les suites de chiffrement que vous souhaitez activer. Les suites de chiffrement activées sont maintenant répertoriées en tant que Fonctionnalités activées.
Si vous souhaitez associer la règle à un équilibreur de charge existant, cliquez sur Appliquer aux cibles et sélectionnez une règle de transfert en tant que cible de la règle SSL. Si nécessaire, ajoutez d'autres cibles.
Cliquez sur Créer.
Règle SSL régionale
Pour créer une règle SSL régionale avec un profil personnalisé, procédez comme suit :
Dans la console Google Cloud, accédez à la page Règles SSL.
Cliquez sur Create policy (Créer une régle).
Dans la section Règle SSL régionale, cliquez sur le bouton Créer situé en regard. La page Créer une règle s'affiche.
Saisissez un nom.
Sélectionnez une Région.
Sélectionnez une Version minimale de TLS.
Dans la section Profil, sélectionnez Personnalisé. Toutes les fonctionnalités sont affichées en tant que Fonctionnalités désactivées sur le côté droit de la page.
Dans la liste Fonctionnalités, sélectionnez toutes les suites de chiffrement que vous souhaitez activer. Les suites de chiffrement activées sont maintenant répertoriées en tant que Fonctionnalités activées.
Si vous souhaitez associer la règle à un équilibreur de charge existant, cliquez sur Appliquer aux cibles et sélectionnez une règle de transfert en tant que cible de la règle SSL. Si nécessaire, ajoutez d'autres cibles.
Cliquez sur Créer.
gcloud
Lorsque vous créez une règle SSL avec le profil PERSONNALISÉ, seules les fonctionnalités que vous spécifiez dans la commande create
sont acceptées. Les autres fonctionnalités ne sont pas prises en compte.
Règle SSL globale
Voici la syntaxe générale pour créer une règle SSL globale avec un profil personnalisé :
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.0 | 1.1 | 1.2 \ --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3]
L'exemple suivant crée une règle SSL globale avec le profil PERSONNALISÉ, une version TLS minimale de 1.2 et des fonctionnalités TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
et TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
.
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.2 \ --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
Règle SSL régionale
Voici la syntaxe générale pour la création d'une règle SSL régionale avec un profil personnalisé :
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.0 | 1.1 | 1.2 \ --custom-features SSL_FEATURE_1[,SSL_FEATURE_2,SSL_FEATURE_3] \ --region REGION
L'exemple suivant crée une règle SSL régionale avec le profil PERSONNALISÉ, une version TLS minimale de 1.2 et des fonctionnalités TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
et TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
.
gcloud compute ssl-policies create SSL_POLICY_NAME \ --profile CUSTOM \ --min-tls-version 1.2 \ --custom-features TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ --region us-west1
Obtenir la liste des règles du protocole SSL
Console
Dans la console Google Cloud, accédez à la page Règles SSL.
Vous pouvez afficher la liste de toutes les règles SSL disponibles. Le champ Portée indique si la règle SSL est globale ou régionale.
gcloud
Pour répertorier les règles SSL globales et régionales, exécutez :
gcloud compute ssl-policies list
Pour répertorier uniquement les règles SSL globales, exécutez la commande suivante :
gcloud compute ssl-policies list --global
Pour répertorier uniquement les règles SSL régionales, exécutez la commande suivante :
gcloud compute ssl-policies list --regions REGION
Répertorier les fonctionnalités disponibles dans une règle SSL
Console
Dans la console Google Cloud, accédez à la page Règles SSL.
Cliquez sur le nom de la règle dont vous souhaitez afficher les fonctionnalités. Les suites de chiffrement activées et désactivées sont répertoriées sur le côté droit de la page.
gcloud
Pour répertorier les fonctionnalités disponibles dans les règles SSL globales :
gcloud compute ssl-policies list-available-features
Pour répertorier les fonctionnalités disponibles dans les règles SSL régionales, procédez comme suit :
gcloud compute ssl-policies list-available-features \ --region REGION
Modifier des règles SSL
Console
Pour modifier une règle SSL globale ou régionale, procédez comme suit:
Dans la console Google Cloud, accédez à la page Règles SSL.
Cliquez sur le nom de la règle que vous souhaitez modifier.
Cliquez sur Modifier.
Apportez les modifications souhaitées.
Cliquez sur Enregistrer.
gcloud
Pour modifier une règle SSL existante, transmettez tout ou partie des options correspondant aux champs que vous souhaitez mettre à jour. Les champs non spécifiés ne sont pas mis à jour.
Si vous mettez à jour les fonctionnalités, celles que vous avez précédemment activées sont supprimées et remplacées par les fonctionnalités que vous spécifiez.
Règles SSL globales
gcloud compute ssl-policies update SSL_POLICY_NAME \ --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \ --min-tls-version 1.0|1.1|1.2 \ --custom-features FEATURES
Règles SSL régionales
gcloud compute ssl-policies update SSL_POLICY_NAME \ --profile COMPATIBLE|MODERN|RESTRICTED|CUSTOM \ --min-tls-version 1.0|1.1|1.2 \ [--custom-features FEATURES \] --region REGION
Créer un proxy cible avec une règle SSL
Console
Vous pouvez créer un proxy cible à l'aide de la console Google Cloud lorsque vous créez ou mettez à jour l'équilibreur de charge, comme indiqué dans les documents suivants :
gcloud
Pour créer un proxy SSL cible avec une règle SSL globale :
gcloud compute target-ssl-proxies create TARGET_SSL_PROXY_NAME \ --backend-service BACKEND_SERVICE_NAME \ --ssl-certificate SSL_CERTIFICATE_NAME \ --ssl-policy SSL_POLICY_NAME
Pour créer un proxy HTTPS cible mondial avec une règle SSL globale, procédez comme suit :
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificate SSL_CERTIFICATE_NAME \ --url-map URL_MAP_NAME \ --ssl-policy SSL_POLICY_NAME
Pour créer un proxy HTTPS cible régional avec une règle SSL régionale, procédez comme suit :
gcloud compute target-https-proxies create REGIONAL_TARGET_HTTPS_PROXY_NAME \ --ssl-certificates SSL_CERTIFICATE_NAME \ --url-map URL_MAP_NAME \ --url-map-region REGION \ --ssl-policy SSL_POLICY_NAME \ --region REGION
Associer une règle SSL existante à un proxy cible existant
Console
gcloud
Utilisez ces commandes pour associer une règle SSL existante à un proxy SSL ou proxy HTTPS.
Pour rechercher tous les projets de votre organisation qui disposent de proxys SSL cibles, procédez comme suit :
gcloud asset search-all-resources \ --scope=organizations/ORGANIZATION_ID \ --asset-types=compute.googleapis.com/TargetSslProxy
Pour rechercher tous les projets de votre organisation qui disposent de proxys HTTPS cibles :
gcloud asset search-all-resources \ --scope=organizations/ORGANIZATION_ID \ --asset-types=compute.googleapis.com/TargetHttpsProxy
Pour répertorier tous les proxys SSL cibles globaux d'un projet, utilisez la méthode
targetSslProxies.aggregatedList
. Utilisez ensuite le paramètre de requêtefilter
pour rechercher les proxys SSL cibles qui ne font pas référence à une règle SSL.curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
Pour répertorier tous les proxys HTTPS cibles globaux et régionaux d'un projet, utilisez la méthode
targetHttpsProxies.aggregatedList
avec le paramètre de requêteincludeAllScopes
défini surtrue
. Utilisez ensuite le paramètre de requêtefilter
pour rechercher les proxys HTTPS cibles qui ne font pas référence à une règle SSL.curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/targetHttpsProxies?filter=sslPolicy%3D%22%22&includeAllScopes=true&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
Pour associer une règle SSL globale existante à un proxy SSL cible :
gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \ --ssl-policy SSL_POLICY_NAME
Pour associer une règle SSL globale existante à un proxy HTTPS cible mondial :
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --ssl-policy SSL_POLICY_NAME
Pour associer une règle SSL régionale existante à un proxy HTTPS cible régional :
gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \ --ssl-policy SSL_POLICY_NAME \ --region REGION
Si vous ne fournissez pas l'option --ssl-policy
ou l'option --clear-ssl-policy
dans une mise à jour du proxy cible (par exemple, lors de la mise à jour d'un certificat SSL), la règle SSL n'est pas modifiée. L'option --clear-ssl-policy
est décrite dans la section Supprimer une règle SSL d'un proxy cible.
API
Pour définir une règle SSL globale pour un proxy cible global, utilisez la méthode targetHttpsProxies.patch
.
Pour définir une règle SSL régionale pour un proxy cible régional, utilisez la méthode regionTargetHttpsProxies.patch
.
Supprimer une règle SSL d'un proxy cible
Console
gcloud
Utilisez ces commandes pour supprimer une règle SSL d'un proxy SSL ou proxy HTTPS. Si vous n'associez pas une autre règle SSL au proxy cible, l'équilibreur de charge utilisera la règle SSL par défaut. L'utilisation de l'option --clear-ssl-policy
équivaut au fait de remplacer une règle SSL par la règle SSL par défaut.
Pour supprimer une règle SSL globale d'un proxy SSL cible, procédez comme suit :
gcloud compute target-ssl-proxies update TARGET_SSL_PROXY_NAME \ --clear-ssl-policy
Pour supprimer une règle SSL globale d'un proxy HTTPS cible mondial, procédez comme suit :
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \ --clear-ssl-policy
Pour supprimer une règle SSL régionale d'un proxy HTTPS cible régional, procédez comme suit :
gcloud compute target-https-proxies update REGIONAL_TARGET_HTTPS_PROXY_NAME \ --clear-ssl-policy \ --region REGION
Lorsque vous fournissez l'option --clear-ssl-policy
dans la commande de mise à jour, la règle SSL est supprimée du proxy.
Si vous ne fournissez pas l'option --clear-ssl-policy
ou l'option --ssl-policy
dans la mise à jour du proxy cible (par exemple, lors de la mise à jour d'un certificat SSL), la règle SSL n'est pas modifiée. L'option --ssl-policy
est décrite dans la section Associer une règle SSL existante à un proxy cible existant.
Gérer les règles SSL
Si vous utilisez des contraintes personnalisées pour restreindre les fonctionnalités TLS, vérifiez manuellement la conformité TLS dans les règles SSL préexistantes associées aux proxys SSL cibles et aux proxys HTTPS cibles.
Suivez l'exemple ci-dessous pour rechercher et mettre à jour les règles SSL qui ne répondent pas à vos objectifs de sécurité.
Pour rechercher tous les projets de votre organisation disposant de ressources de règles SSL, procédez comme suit :
gcloud asset search-all-resources \ --scope=organizations/ORGANIZATION_ID \ --asset-types=compute.googleapis.com/SslPolicy
Pour répertorier toutes les règles SSL globales et régionales d'un projet, utilisez la méthode
sslPolicies.aggregatedList
avec le paramètre de requêteincludeAllScopes
défini surtrue
. Ensuite, utilisez le paramètre de requêtefilter
pour rechercher les règles SSL qui ne correspondent pas à vos objectifs de sécurité.Par exemple, pour rechercher des règles SSL avec une version TLS antérieure à
1.2
, utilisez le filtreminTlsVersion="TLS_1_0" OR minTlsVersion="TLS_1_1"
:curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/sslPolicies?filter=minTlsVersion%3D%22TLS_1_0%22%20OR%20minTlsVersion%3D%22TLS_1_1%22&includeAllScopes=true&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
Pour obtenir votre clé API, consultez S'authentifier à l'aide de clés API. Pour obtenir votre jeton d'accès, utilisez la méthode
projects.serviceAccounts.generateAccessToken
.Mettez ensuite à jour les règles SSL qui ne répondent pas à votre exigence TLS minimale.
Pour mettre à jour une règle SSL globale, vous pouvez utiliser la commande suivante:
gcloud compute ssl-policies update SSL_POLICY_NAME \ --min-tls-version=TLS_1_2 \ --global
Pour mettre à jour une règle SSL régionale, vous pouvez utiliser la commande suivante:
gcloud compute ssl-policies update SSL_POLICY_NAME \ --min-tls-version=TLS_1_2 \ --region REGION
Pour répertorier tous les proxys SSL cibles d'un projet qui ne sont pas associés à une règle SSL, exécutez la commande suivante:
curl \ 'https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetSslProxies?filter=sslPolicy%3D%22%22&key=YOUR_API_KEY' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Accept: application/json' \ --compressed
Pour associer une règle SSL à ces proxys cibles, consultez la section Associer une règle SSL existante à un proxy cible existant.
Vous pouvez également utiliser l'inventaire des éléments cloud ou Google APIs Explorer pour rechercher et mettre à jour les ressources qui ne répondent pas à vos exigences de sécurité.
Par exemple, pour rechercher une liste de proxys SSL cibles qui ne sont pas associés à une règle SSL, vous pouvez suivre la procédure ci-dessous dans inventaire des éléments cloud:
Dans la console Google Cloud, accédez à la page Inventaire des éléments.
Cliquez sur Requête sur les composants.
Dans le champ Edit query (Modifier la requête), saisissez la requête suivante, puis cliquez sur Run (Exécuter).
select * from `compute_googleapis_com_TargetSslProxy` where resource.data.sslPolicy IS NULL
Pour associer une règle SSL à ces proxys cibles, consultez la section Associer une règle SSL existante à un proxy cible existant.
Exécutez la requête dans l'inventaire des éléments cloud jusqu'à ce que la réponse soit vide.
Limites
Consultez les quotas et limites de l'équilibreur de charge.
Documentation de référence de l'API
Pour une description des propriétés et des méthodes disponibles lorsque vous utilisez des règles SSL via l'API REST, consultez les pages suivantes :
Produit | Documentation de l'API |
---|---|
|
sslPolicies |
|
regionSslPolicies |
Documentation de référence sur la CLI gcloud
Pour Google Cloud CLI, consultez les ressources suivantes :
-
- Champ d'application global :
--global
- Champ d'application régional :
--region=[REGION]
- Champ d'application global :
Étapes suivantes
- Pour obtenir des informations conceptuelles sur les règles SSL, consultez la page Règles SSL pour les protocoles SSL et TLS.
- Pour plus d'informations sur les équilibreurs de charge réseau proxy externes, consultez la page Présentation de l'équilibreur de charge réseau proxy externe.
- Pour en savoir plus sur les équilibreurs de charge d'application externes, consultez la Présentation de l'équilibreur de charge d'application externe.