Restreindre les versions TLS
Cette page explique comment empêcher l'accès aux ressources Google Cloud en refusant les requêtes effectuées à l'aide de Transport Layer Security (TLS) 1.0 ou 1.1.
Présentation
Google Cloud est compatible avec plusieurs versions du protocole TLS. Pour répondre aux exigences de conformité, vous pouvez refuser les requêtes de handshake des clients qui utilisent d'anciennes versions de TLS.
Cette fonctionnalité est fournie par la contrainte de règle d'administration gcp.restrictTLSVersion
.
La contrainte peut être appliquée aux organisations, aux dossiers ou aux projets qui figurent dans la hiérarchie des ressources.
La contrainte gcp.restrictTLSVersion
utilise une liste de refus qui refuse les valeurs explicites et autorise toutes les autres. Une erreur se produit si vous essayez d'utiliser une liste d'autorisation.
En raison du comportement de l'évaluation de la hiérarchie des règles d'administration, la restriction de version de TLS s'applique au nœud de ressource spécifié et à tous ses enfants. Par exemple, si vous refusez la version 1.0 de TLS pour une organisation, elle l'est également pour tous les dossiers et projets (enfants) descendant de cette organisation.
Vous pouvez ignorer la restriction de version TLS héritée en mettant à jour la règle d'administration sur une ressource enfant. Par exemple, si votre règle d'administration refuse TLS 1.0 au niveau de l'organisation, vous pouvez supprimer la restriction appliquée à un dossier enfant en définissant une règle d'administration distincte pour ce dossier. Si le dossier a des enfants, la stratégie du dossier sera également appliquée à chaque ressource enfant en raison de l'héritage des stratégies.
Avant de commencer
- Pour définir, modifier ou supprimer une règle d'administration, vous devez d'abord disposer du rôle Identity and Access Management (IAM) Administrateur des règles d'administration (
roles/orgpolicy.policyAdmin
).
Restreindre une version de TLS
Pour limiter une ou plusieurs versions de TLS, procédez comme suit:
Console
Ouvrez la page Règles d'administration dans la console Google Cloud.
Cliquez sur le sélecteur de projets en haut de la page.
Dans le sélecteur de projet, choisissez la ressource pour laquelle vous souhaitez définir la règle d'administration.
Sélectionnez la contrainte Restreindre la version TLS dans la liste de la page Règles d'administration.
Pour mettre à jour la règle d'administration pour cette ressource, cliquez sur Modifier.
Sur la page Modifier, sélectionnez Personnaliser.
Sous Application des règles, sélectionnez une option d'application :
Pour fusionner et évaluer vos règles d'administration ensemble, sélectionnez Fusionner avec le parent. Pour en savoir plus sur l'héritage et la hiérarchie des ressources, consultez la page Comprendre l'évaluation hiérarchique.
Pour remplacer les règles héritées d'une ressource parente, sélectionnez Remplacer.
Cliquez sur Ajouter une règle.
Sous Valeurs de règle, la valeur par défaut est définie sur Tout refuser. Sélectionnez Personnalisée à la place.
Sous Policy type (Type de règle), sélectionnez Deny (Refuser).
Sous Valeurs personnalisées, saisissez une version de TLS à refuser. Les valeurs suivantes sont des valeurs personnalisées valides:
TLS_VERSION_1
pour TLS 1.0TLS_VERSION_1_1
pour TLS 1.1
Si vous restreignez plusieurs versions de TLS, cliquez sur Ajouter une valeur et saisissez la valeur dans le champ supplémentaire.
Pour terminer et appliquer la règle d'administration, cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud org-policies set-policy
pour définir une règle d'administration sur la ressource souhaitée:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH est le chemin d'accès complet à votre fichier de règles d'administration, qui doit se présenter comme suit si vous utilisez le format YAML:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Remplacez-la par celle-ci:
RESOURCE_TYPE
estorganizations
,folders
ouprojects
.RESOURCE_ID
correspond à l'ID de l'organisation, à l'ID du dossier, à l'ID du projet ou au numéro du projet, en fonction du type de ressource spécifié dansRESOURCE_TYPE
.
Exécutez la commande suivante pour vérifier que votre stratégie a été appliquée:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Remplacez-la par celle-ci:
RESOURCE_TYPE
estorganization
,folder
ouproject
.RESOURCE_ID
correspond à l'ID de l'organisation, à l'ID du dossier, à l'ID du projet ou au numéro du projet, en fonction du type de ressource spécifié dansRESOURCE_TYPE
.
Tester la stratégie
La contrainte de règle de restriction de version TLS peut être testée pour tout service couvert. L'exemple de commande curl suivant valide la restriction de version TLS pour un bucket Cloud Storage.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/GCS_BUCKET_NAME/o" \ --tlsvTLS_VERSION --tls-max TLS_VERSION --ciphers DEFAULT@SECLEVEL=0
Il n'y a pas d'espace entre --tlsv
et la valeur. Par exemple : --tlsv1.1
Remplacez-la par celle-ci:
GCS_BUCKET_NAME
est un nom de bucket Cloud Storage dans votre projet, par exemplemybucketname
.TLS_VERSION
est une version de TLS telle que1.0
ou1.1
refusée dans la règle configurée.
Dans l'exemple de requête curl
suivant, GCS_BUCKET_NAME est défini sur mybucketname
et TLS_VERSION défini sur 1.1
:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/mybucketname/o" \ --tlsv1.1 --tls-max 1.1 --ciphers DEFAULT@SECLEVEL=0
Si la règle d'administration est configurée pour restreindre TLS_VERSION_X
, toute tentative d'accès aux ressources avec TLS_VERSION_X
dans le projet limité aux règles de cet exemple de commande échouera. Un message d'erreur décrivant la raison de cet échec s'affiche.
Request is disallowed by organization's constraints/gcp.restrictTLSVersion constraint for 'projects/PROJECT_NUMBER' to use service 'SERVICE_NAME.googleapis.com' by violated TLS version `TLS_VERSION_X`
Ce résultat inclut les valeurs suivantes :
PROJECT_NUMBER
: numéro du projet hébergeant la ressource mentionnée dans la commande précédente.SERVICE_NAME
: nom du service couvert bloqué par la règle de restriction TLS.
Services compatibles
La restriction de version TLS est compatible avec les services suivants:
- apigateway.googleapis.com
- appengine.googleapis.com
- artifactregistry.googleapis.com
- assuredworkloads.googleapis.com
- bigquery.googleapis.com
- bigqueryreservation.googleapis.com
- bigtableadmin.googleapis.com
- binaryauthorization.googleapis.com
- cloudasset.googleapis.com
- cloudbuild.googleapis.com
- clouddebugger.googleapis.com
- cloudfunctions.googleapis.com
- cloudkms.googleapis.com
- cloudresourcemanager.googleapis.com
- cloudscheduler.googleapis.com
- cloudsearch.googleapis.com
- cloudtasks.googleapis.com
- cloudtrace.googleapis.com
- composer.googleapis.com
- compute.googleapis.com
- container.googleapis.com
- containeranalysis.googleapis.com
- datacatalog.googleapis.com
- dataflow.googleapis.com
- datafusion.googleapis.com
- datalabeling.googleapis.com
- datamigration.googleapis.com
- dataproc.googleapis.com
- datastore.googleapis.com
- deploymentmanager.googleapis.com
- dialogflow.googleapis.com
- dlp.googleapis.com
- dns.googleapis.com
- domains.googleapis.com
- file.googleapis.com
- firebaserules.googleapis.com
- firestore.googleapis.com
- genomics.googleapis.com
- healthcare.googleapis.com
- iam.googleapis.com
- iamcredentials.googleapis.com
- iap.googleapis.com
- identitytoolkit.googleapis.com
- language.googleapis.com
- lifesciences.googleapis.com
- logging.googleapis.com
- managedidentities.googleapis.com
- memcache.googleapis.com
- metastore.googleapis.com
- ml.googleapis.com
- monitoring.googleapis.com
- networkmanagement.googleapis.com
- notebooks.googleapis.com
- osconfig.googleapis.com
- policytroubleshooter.googleapis.com
- privateca.googleapis.com
- pubsub.googleapis.com
- pubsublite.googleapis.com
- recommender.googleapis.com
- redis.googleapis.com
- run.googleapis.com
- runtimeconfig.googleapis.com
- secretmanager.googleapis.com
- servicecontrol.googleapis.com
- servicedirectory.googleapis.com
- servicenetworking.googleapis.com
- sourcerepo.googleapis.com
- spanner.googleapis.com
- sqladmin.googleapis.com
storage.googleapis.com
storagetransfer.googleapis.com
sts.googleapis.com
texttospeech.googleapis.com
tpu.googleapis.com
videointelligence.googleapis.com
vision.googleapis.com
workflowexecutions.googleapis.com
workflows.googleapis.com
Services incompatibles
La contrainte de règle d'administration de restriction de version TLS n'est pas applicable aux services suivants:
- App Engine (
*.appspot.com
) - Cloud Functions (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Domaines personnalisés
Pour limiter les versions TLS pour ces services, utilisez Cloud Load Balancing avec la règle de sécurité SSL.
Étapes suivantes
- Découvrez les produits compatibles avec chaque package de contrôle.