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

  1. Öffnen Sie in der Google Cloud Console die Seite Organisationsrichtlinien.

    Zu den Organisationsrichtlinien

  2. Klicken Sie oben auf der Seite auf Projektauswahl.

  3. Wählen Sie in der Projektauswahl die Ressource aus, für die Sie die Organisationsrichtlinie festlegen möchten.

  4. Wählen Sie aus der Liste auf der Seite Organisationsrichtlinien die Einschränkung TLS-Version einschränken aus.

  5. Klicken Sie auf Bearbeiten, um die Organisationsrichtlinie für diese Ressource zu aktualisieren.

  6. Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.

  7. 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.

  8. Klicken Sie auf Regel hinzufügen.

  9. Unter Richtlinienwerte ist der Standardwert Alle ablehnen festgelegt. Wählen Sie stattdessen Benutzerdefiniert aus.

  10. Wählen Sie unter Richtlinientyp die Option Ablehnen aus.

  11. 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.0
    • TLS_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.

  12. 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 ist organizations, folders oder projects.

  • RESOURCE_ID ist je nach Ressourcentyp, der in RESOURCE_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 ist organization, folder oder project.

  • RESOURCE_ID ist je nach Ressourcentyp, der in RESOURCE_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 wie 1.0 oder 1.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.

Nächste Schritte