TLS-Versionen einschränken
Auf dieser Seite wird beschrieben, wie Sie den Zugriff auf Google Cloud-Ressourcen verhindern können, indem Sie Anfragen mit Transport Layer Security (TLS) 1.0 oder 1.1 ablehnen.
Überblick
Google Cloud unterstützt mehrere TLS-Protokollversionen. Es kann sinnvoll sein, Handshakeanfragen von Clients, die ältere TLS-Versionen verwenden, abzulehnen, um die Complianceanforderungen zu erfüllen. Dazu können Sie die Einschränkung für die Organisationsrichtlinie gcp.restrictTLSVersion
verwenden.
Die Einschränkung gcp.restrictTLSVersion
kann auf Organisationen, Ordner oder Projekte in der Ressourcenhierarchie angewendet werden.
Die Einschränkung verwendet eine Sperrliste, die explizite Werte ablehnt und alle anderen zulässt. Wenn Sie versuchen, eine Zulassungsliste zu verwenden, tritt ein Fehler auf.
Aufgrund des Verhaltens der Bewertung der Organisationsrichtlinienhierarchie gilt die TLS-Versionsbeschränkung für den angegebenen Ressourcenknoten und alle untergeordneten Elemente. Wenn Sie beispielsweise TLS-Version 1.0 für eine Organisation ablehnen, wird sie auch für alle Ordner und Projekte (untergeordnete Elemente) dieser Organisation abgelehnt.
Sie können die übernommene Einschränkung für TLS-Versionen überschreiben, indem Sie die Organisationsrichtlinie für eine untergeordnete Ressource aktualisieren. Wenn Ihre Organisationsrichtlinie beispielsweise TLS 1.0 auf Organisationsebene ablehnt, können Sie die Einschränkung für einen untergeordneten Ordner aufheben, indem Sie eine separate Organisationsrichtlinie für diesen Ordner festlegen. Wenn der Ordner untergeordnete Ressourcen hat, wird die Richtlinie des Ordners aufgrund der Richtlinienübernahme auch auf jede untergeordnete Ressource angewendet.
Hinweise
- Zum Festlegen, Ändern oder Löschen einer Organisationsrichtlinie muss Ihnen zuerst die IAM-Rolle Administrator für Organisationsrichtlinien (
roles/orgpolicy.policyAdmin
) zugewiesen werden.
TLS-Version einschränken
Führen Sie die folgenden Schritte aus, um eine oder mehrere TLS-Versionen einzuschränken:
Console
Öffnen Sie in der Google Cloud Console die Seite Organisationsrichtlinien.
Klicken Sie oben auf der Seite auf Projektauswahl.
Wählen Sie in der Projektauswahl die Ressource aus, für die Sie die Organisationsrichtlinie festlegen möchten.
Wählen Sie aus der Liste auf der Seite Organisationsrichtlinien die Einschränkung TLS-Version einschränken aus.
Klicken Sie auf Bearbeiten, um die Organisationsrichtlinie für diese Ressource zu aktualisieren.
Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.
Wählen Sie unter Richtlinienerzwingung eine Erzwingungsoption aus:
Wählen Sie Mit übergeordneter Ressource zusammenführen aus, um die Organisationsrichtlinien zusammenzuführen und zu evaluieren. Weitere Informationen zur Übernahme und zur Ressourcenhierarchie finden Sie unter Informationen zu Evaluierungen der Hierarchie.
Wählen Sie Ersetzen aus, um Richtlinien zu überschreiben, die von einer übergeordneten Ressource übernommen wurden.
Klicken Sie auf Regel hinzufügen.
Unter Richtlinienwerte ist der Standardwert Alle ablehnen festgelegt. Wählen Sie stattdessen Benutzerdefiniert aus.
Wählen Sie unter Richtlinientyp die Option Ablehnen aus.
Geben Sie unter Benutzerdefinierte Werte eine TLS-Version ein, die abgelehnt werden soll. Die folgenden Werte sind gültige benutzerdefinierte Werte:
TLS_VERSION_1
für TLS 1.0TLS_VERSION_1_1
für TLS 1.1
Wenn Sie mehr als eine TLS-Version einschränken möchten, klicken Sie auf Wert hinzufügen und geben Sie den Wert in das zusätzliche Feld ein.
Klicken Sie auf Speichern, um den Vorgang abzuschließen und die Organisationsrichtlinie anzuwenden.
gcloud
Verwenden Sie den Befehl gcloud org-policies set-policy
, um eine Organisationsrichtlinie für die Ressource festzulegen:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH ist der vollständige Pfad zu Ihrer Organisationsrichtliniendatei, der bei Verwendung des YAML-Formats so aussehen sollte:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Ersetzen Sie sie durch Folgendes:
RESOURCE_TYPE
istorganizations
,folders
oderprojects
.RESOURCE_ID
ist je nach Ressourcentyp, der inRESOURCE_TYPE
angegeben ist, Ihre Organisations-ID, Ordner-ID, Projekt-ID oder Projektnummer.
Prüfen Sie mit dem folgenden Befehl, ob die Richtlinie angewendet wurde:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Ersetzen Sie sie durch Folgendes:
RESOURCE_TYPE
istorganization
,folder
oderproject
.RESOURCE_ID
ist je nach Ressourcentyp, der inRESOURCE_TYPE
angegeben ist, Ihre Organisations-ID, Ordner-ID, Projekt-ID oder Projektnummer.
Richtlinie testen
Die Richtlinieneinschränkung für die TLS-Versionseinschränkung kann für jeden in den Geltungsbereich fallenden Dienst getestet werden. Mit dem folgenden curl-Beispielbefehl wird die TLS-Versionseinschränkung für einen Cloud Storage-Bucket validiert.
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
Zwischen --tlsv
und dem Wert darf kein Leerzeichen stehen. Beispiel: --tlsv1.1
Ersetzen Sie sie durch Folgendes:
GCS_BUCKET_NAME
ist der Name eines Cloud Storage-Bucket in Ihrem Projekt, z. B.mybucketname
.TLS_VERSION
ist eine TLS-Version wie1.0
oder1.1
, die in der konfigurierten Richtlinie abgelehnt wird.
In der folgenden curl
-Beispielanfrage wird GCS_BUCKET_NAME auf mybucketname
und TLS_VERSION auf 1.1
festgelegt:
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
Wenn die Organisationsrichtlinie so konfiguriert ist, dass sie TLS_VERSION_X
einschränkt, schlagen alle Versuche, auf Ressourcen mit TLS_VERSION_X
im richtlinieneingeschränkten Projekt in diesem Beispielbefehl zuzugreifen, fehl. Es wird eine Fehlermeldung zurückgegeben, in der der Grund für diesen Fehler beschrieben wird.
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`
Diese Ausgabe enthält die folgenden Werte:
PROJECT_NUMBER
: die Projektnummer, die die Ressource hostet, auf die im vorherigen Befehl verwiesen wurde.SERVICE_NAME
: der Name des in den Geltungsbereich fallenden Dienstes, der durch die TLS-Einschränkungsrichtlinie blockiert wird.
Unterstützte Dienste
Die TLS-Versionseinschränkung wird von den folgenden Diensten unterstützt:
- 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
- discoveryengine.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
- jobs.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
- retail.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
Nicht unterstützte Dienste
Die Einschränkung der Organisationsrichtlinie zur TLS-Versionseinschränkung gilt nicht für die folgenden Dienste:
- App Engine (
*.appspot.com
) - Cloud Functions (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Benutzerdefinierte Domains
Verwenden Sie Cloud Load Balancing zusammen mit SSL-Richtlinien, um TLS-Versionen für diese Dienste einzuschränken. Sie können auch die vordefinierte Einschränkung constraints/compute.requireSslPolicy
zusammen mit benutzerdefinierten Einschränkungen für SSL-Richtlinien verwenden, um für Ihre Load-Balancer Einschränkungen der TLS-Version und Cipher Suite zu erzwingen.