Limita le suite di crittografia TLS

Questa pagina descrive come impedire l'accesso alle risorse negando le richieste effettuate utilizzando determinate suite di crittografia TLS (Transport Layer Security) meno sicure. Google Cloud

Panoramica

Google Cloud supporta più suite di crittografia TLS. Per soddisfare i requisiti di sicurezza o conformità, potresti voler rifiutare le richieste dei client che utilizzano suite di crittografia TLS meno sicure.

Questa funzionalità è fornita dal gcp.restrictTLSCipherSuites vincolo del criterio dell'organizzazione. Il vincolo può essere applicato a organizzazioni, cartelle o progetti nella gerarchia delle risorse.

Puoi utilizzare il vincolo gcp.restrictTLSCipherSuites come lista consentita o come lista bloccata:

  • Elenco consentito: Consente un insieme specifico di suite di crittografia. Tutte le altre richieste vengono rifiutate.
  • Elenco di negazione: Nega un insieme specifico di suite di crittografia. Tutti gli altri sono consentiti.

A causa del comportamento di valutazione della gerarchia dei criteri dell'organizzazione, il vincolo Limita suite di crittografia TLS si applica al nodo della risorsa specificato e a tutti i relativi elementi secondari. Ad esempio, se consenti solo determinate suite di crittografia TLS per un'organizzazione, queste si applicano anche a tutte le cartelle e i progetti (secondari) che derivano da quell'organizzazione.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per impostare, modificare o eliminare le policy dell'organizzazione, chiedi all'amministratore di concederti il ruolo IAM Amministratore policy dell'organizzazione (roles/orgpolicy.policyAdmin) nell'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Impostazione del criterio dell'organizzazione

Il vincolo Limita le suite di crittografia TLS è un tipo di vincolo di elenco. Puoi aggiungere e rimuovere le suite di crittografia dagli elenchi allowed_values o denied_values di un vincolo Limita le suite di crittografia TLS. Per evitare che le policy dell'organizzazione siano troppo restrittive e per semplificare la gestione delle policy, utilizza i gruppi di valori. I gruppi di valori sono suite di crittografia TLS consigliate e curate da Google.

Console

  1. Apri la pagina Policy dell'organizzazione nella console Google Cloud .

    Vai a Policy dell'organizzazione

  2. Seleziona il selettore del progetto nella parte superiore della pagina.

  3. Nel selettore di progetti, seleziona la risorsa per cui vuoi impostare il criterio dell'organizzazione.

  4. Seleziona il vincolo Limita suite di crittografia TLS dall'elenco nella pagina Criteri organizzazione.

  5. Per aggiornare la policy dell'organizzazione per questa risorsa, fai clic su Gestisci policy.

  6. Nella pagina Modifica, seleziona Personalizza.

  7. In Applicazione criterio, seleziona un'opzione di applicazione:

    • Per unire e valutare insieme le policy della tua organizzazione, seleziona Unisci a principale. Per ulteriori informazioni sull'ereditarietà e sulla gerarchia delle risorse, vedi Informazioni sulla valutazione della gerarchia.

    • Per eseguire l'override delle policy ereditate da una risorsa padre, seleziona Sostituisci.

  8. Fai clic su Aggiungi regola.

  9. In Valori policy, seleziona Personalizzato.

  10. In Tipo di criterio, seleziona Consenti per creare un elenco di suite di crittografia consentite o seleziona Rifiuta per creare un elenco di suite di crittografia rifiutate.

  11. In Valori personalizzati, inserisci il prefisso in: e una stringa di gruppo di valori, poi premi Invio.

    • Ad esempio, in:NIST-800-52-recommended-ciphers. Puoi inserire più stringhe di gruppi di valori facendo clic su Aggiungi valore.

    • Puoi anche inserire stringhe di suite di crittografia specifiche utilizzando il prefisso is:. Per un elenco dei valori supportati, consulta Suite di crittografia supportate.

  12. Per applicare il criterio, fai clic su Imposta criterio.

gcloud

Per creare una policy dell'organizzazione che applichi il vincolo Limita suite di crittografia TLS, crea un file YAML della policy che faccia riferimento al vincolo:

constraint: constraints/gcp.restrictTLSCipherSuites
listPolicy:
  allowedValues:
  - in:CNSA-2.0-recommended-ciphers
  - is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

Per applicare la policy dell'organizzazione contenente il vincolo, esegui questo comando:

gcloud resource-manager org-policies set-policy \
--RESOURCE_TYPE RESOURCE_ID \
POLICY_PATH

Sostituisci quanto segue:

  • RESOURCE_TYPE con organization, folder o project.

  • RESOURCE_ID con l'ID organizzazione, l'ID cartella, l'ID progetto o il numero di progetto.

  • POLICY_PATH con il percorso completo del file YAML contenente il criterio dell'organizzazione.

Viene restituita una risposta con i risultati della nuova norma dell'organizzazione:

constraint: constraints/gcp.restrictTLSCipherSuites
etag: COS9qr0GELii6o0C
listPolicy:
  allowedValues:
  - in:CNSA-2.0-recommended-ciphers
  - is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
updateTime: '2025-02-11T00:50:44.565875Z'

Gruppi di valori

I gruppi di valori sono raccolte di suite di crittografia curate da Google per fornire un modo più semplice per definire le suite di crittografia TLS preferite o consigliate. I gruppi di valori includono più suite di crittografia e vengono espansi nel tempo da Google. Non è necessario modificare i criteri dell'organizzazione per adattarsi alle nuove suite di crittografia.

Per utilizzare i gruppi di valori nelle policy dell'organizzazione, aggiungi il prefisso in: alle voci. Per ulteriori informazioni sull'utilizzo dei prefissi dei valori, consulta la sezione Utilizzare i vincoli. I nomi dei gruppi di valori vengono convalidati nella chiamata per impostare i criteri dell'organizzazione. L'utilizzo di un nome di gruppo non valido causerà l'errore dell'impostazione del criterio.

La seguente tabella contiene l'elenco attuale dei gruppi disponibili:

Gruppo Dettagli Membri diretti
CNSA-2.0-recommended-ciphers Cipher consigliati da CNSA 2.0 supportati da Google Cloud:
in:CNSA-2.0-recommended-ciphers
Valori:
  • TLS_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
NIST-800-52-recommended-ciphers Cifrari consigliati da NIST SP 800-52 supportati da Google Cloud:
in:NIST-800-52-recommended-ciphers
Valori:
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

Suite di crittografia supportate

Questo è l'elenco delle suite di crittografia supportate da Google Cloud.

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256

Messaggio di errore

I servizi che supportano il vincolo Limita suite di crittografia TLS negano le richieste che lo violano.

Esempio di messaggio di errore

Il messaggio di errore ha un formato simile al seguente esempio:

Request is disallowed by organization's constraints/gcp.restrictTLSCipherSuites
constraint for 'projects/PROJECT_NUMBER'.
Access to service
'SERVICE_NAME.googleapis.com' attempted with a disallowed TLS Cipher Suite: 'TLS_Cipher_Suite_X`
To access this resource, please use an allowed TLS Cipher Suite.

Questo output include i seguenti valori:

  • PROJECT_NUMBER: il numero di progetto che ospita la risorsa a cui si fa riferimento nel comando precedente.
  • SERVICE_NAME: il nome del servizio incluso nell'ambito bloccato dalla policy Limita suite di crittografia TLS.
  • TLS_Cipher_Suite_X: la suite di crittografia TLS utilizzata nella richiesta.

Esempio di audit log di Cloud

Viene generata anche una voce di log di controllo per ulteriori monitoraggi, avvisi o debug. La voce di log di controllo è simile al seguente esempio:

{
  logName: "projects/my-project-number/logs/cloudaudit.googleapis.com%2Fpolicy"
  protoPayload: {
    @type: "type.googleapis.com/google.cloud.audit.AuditLog"
    status: {
      code: 7
      message: "Request is disallowed by organization's TLS Cipher Suite Restriction Org Policy for 'projects/my-project-number'. Attempting to use service 'bigquery.googleapis.com' with a disallowed TLS Cipher Suite: 'TLS_Cipher_Suite_X`."
    }
    serviceName: "bigquery.googleapis.com"
    methodName: "google.cloud.bigquery.v2.TableDataService.InsertAll"
    resourceName: "projects/my-project-number"
    authenticationInfo: {
      principalEmail: "user_or_service_account@example.com"
    }
  }
  requestMetadata: {
    callerIp: "123.123.123.123"
  }
  policyViolationInfo: {
    orgPolicyViolationInfo: {
      violationInfo: [
        {
          constraint: "constraints/gcp.restrictTlsCipherSuites"
          errorMessage: "TLS Cipher Suite Restriction Org Policy is violated"
          policyType: "LIST_CONSTRAINT"
        }
      ]
    }
  }
  resource: {
    type: "audited_resource"
    labels: {
      project_id: "my-project-number"
      method: "google.cloud.bigquery.v2.TableDataService.InsertAll"
      service: "bigquery.googleapis.com"
    }
  }
  severity: "ERROR"
  timestamp: "2023-10-27T19:27:24.633477924Z"
  receiveTimestamp: "2023-10-27T19:27:25.071941737Z"
  insertId "42"
}

Testare la policy

Puoi testare il vincolo di policy di limitazione della crittografia TLS per qualsiasi servizio incluso nell'ambito. Il seguente comando curl di esempio convalida le suite di crittografia TLS per un portachiavi Cloud Key Management Service.

curl --ciphers TLS_CIPHER_SUITE --tls_max 1.2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/global/keyRings" --verbose

Sostituisci le seguenti variabili:

  • TLS_CIPHER_SUITE: il nome della suite di crittografia TLS nella convenzione di denominazione OpenSSL, ad esempio ECDHE-ECDSA-AES128-SHA, che è il nome OpenSSL per TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA.

  • PROJECT_ID: Nome del progetto contenente il portachiavi

La seguente richiesta curl di esempio mostra PROJECT_ID impostato su my-project-id e TLS_CIPHER_SUITE impostato su ECDHE-ECDSA-AES128-SHA:

curl --ciphers ECDHE-ECDSA-AES128-SHA --tls-max 1.2 \
  GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://cloudkms.googleapis.com/v1/projects/my-project-id/locations/global/keyRings" --verbose

Se il criterio dell'organizzazione per "my-project-id" è configurato per negare TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA , qualsiasi tentativo di accedere alle risorse con la crittografia nel progetto con limitazioni dei criteri in questo comando di esempio non va a buon fine. Viene restituito un messaggio di errore simile al seguente esempio che descrive il motivo di questo errore.

Request is disallowed by organization's constraints/gcp.restrictTLSCipherSuites
constraint for 'projects/my-project-id'.
Access to service cloudkms.googleapis.com attempted with a disallowed TLS Cipher
Suite: `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA`.
To access this resource, please use an allowed TLS Cipher Suite.

Crea una policy dell'organizzazione in modalità dry run

Una policy dell'organizzazione in modalità dry run è un tipo di policy dell'organizzazione in cui le violazioni della policy vengono registrate nel log di controllo, ma le azioni che violano la policy non vengono negate. Puoi creare una policy dell'organizzazione in modalità di prova utilizzando il vincolo di limitazione delle suite di crittografia TLS per monitorare l'impatto sulla tua organizzazione prima di applicare la policy live. Per ulteriori informazioni, vedi Creare una policy dell'organizzazione in modalità di prova.

Servizi supportati

I seguenti servizi supportano Limita le suite di crittografia TLS. Il vincolo si applica a tutte le varianti dell'endpoint API, inclusi gli endpoint globali, locali e regionali. Per saperne di più, consulta la pagina Tipi di endpoint API.

Prodotto endpoint API
API Gateway apigateway.googleapis.com
Chiavi API apikeys.googleapis.com
Gestore contesto accesso accesscontextmanager.googleapis.com
Apigee apigee.googleapis.com
Hub API Apigee apihub.googleapis.com
API Apigee API Management apim.googleapis.com
API Apigee Connect apigeeconnect.googleapis.com
API Apigee portal apigeeportal.googleapis.com
API Apigee Registry apigeeregistry.googleapis.com
API App Config Manager appconfigmanager.googleapis.com
App Hub apphub.googleapis.com
App Design Center designcenter.googleapis.com
Application Integration integrations.googleapis.com
Artifact Analysis containeranalysis.googleapis.com
ondemandscanning.googleapis.com
Artifact Registry artifactregistry.googleapis.com
Software open source Assured assuredoss.googleapis.com
Assured Workloads assuredworkloads.googleapis.com
Audit Manager auditmanager.googleapis.com
API Authorization Toolkit authztoolkit.googleapis.com
Batch batch.googleapis.com
Chrome Enterprise Premium beyondcorp.googleapis.com
BigLake biglake.googleapis.com
BigQuery bigquery.googleapis.com
BigQuery Connections bigqueryconnection.googleapis.com
BigQuery Data Policy bigquerydatapolicy.googleapis.com
BigQuery Data Transfer bigquerydatatransfer.googleapis.com
Migrazione BigQuery bigquerymigration.googleapis.com
BigQuery Reservation bigqueryreservation.googleapis.com
API BigQuery Saved Query bigquery-sq.googleapis.com
BigQuery Storage bigquerystorage.googleapis.com
Bigtable bigtable.googleapis.com
bigtableadmin.googleapis.com
Autorizzazione binaria binaryauthorization.googleapis.com
Blockchain Analytics blockchain.googleapis.com
Blockchain Node Engine blockchainnodeengine.googleapis.com
Blockchain Validator Manager blockchainvalidatormanager.googleapis.com
Strumento di pianificazione della capacità capacityplanner.googleapis.com
Certificate Authority Service privateca.googleapis.com
Certificate Manager certificatemanager.googleapis.com
Cloud Asset Inventory cloudasset.googleapis.com
Cloud Build cloudbuild.googleapis.com
Cloud CDN compute.googleapis.com
API Cloud Commerce Producer cloudcommerceproducer.googleapis.com
Cloud Composer composer.googleapis.com
API Cloud Controls Partner cloudcontrolspartner.googleapis.com
Cloud DNS dns.googleapis.com
Cloud Data Fusion datafusion.googleapis.com
Cloud Deployment Manager runtimeconfig.googleapis.com
deploymentmanager.googleapis.com
Cloud Domains domains.googleapis.com
API Cloud Healthcare healthcare.googleapis.com
Cloud Interconnect compute.googleapis.com
Cloud Intrusion Detection System ids.googleapis.com
Cloud Key Management Service cloudkms.googleapis.com
Cloud Life Sciences lifesciences.googleapis.com
Cloud Load Balancing compute.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Monitoring monitoring.googleapis.com
Cloud NAT compute.googleapis.com
API Cloud Natural Language language.googleapis.com
Cloud Next Generation Firewall Essentials compute.googleapis.com
networksecurity.googleapis.com
Cloud Next Generation Firewall Standard compute.googleapis.com
networksecurity.googleapis.com
API Cloud OS Login oslogin.googleapis.com
Router Cloud compute.googleapis.com
Cloud Run run.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Service Mesh meshconfig.googleapis.com
networksecurity.googleapis.com
API Cloud Support cloudsupport.googleapis.com
API Cloud Tool Results toolresults.googleapis.com
Cloud VPN compute.googleapis.com
Cloud Workstations workstations.googleapis.com
API Commerce Agreement Publishing commerceagreementpublishing.googleapis.com
API Commerce Business Enablement commercebusinessenablement.googleapis.com
API Commerce Price Management commercepricemanagement.googleapis.com
Compute Engine compute.googleapis.com
Confidential Computing confidentialcomputing.googleapis.com
Connetti gkeconnect.googleapis.com
Connettere il gateway connectgateway.googleapis.com
API Contact Center AI Platform contactcenteraiplatform.googleapis.com
Container Threat Detection containerthreatdetection.googleapis.com
API Content Warehouse contentwarehouse.googleapis.com
API Continuous Validation continuousvalidation.googleapis.com
API Data Labeling datalabeling.googleapis.com
API Data Security Posture Management dspm.googleapis.com
Database Migration Service datamigration.googleapis.com
Dataflow dataflow.googleapis.com
Dataplex Universal Catalog dataplex.googleapis.com
datalineage.googleapis.com
Dataproc on GDC dataprocgdc.googleapis.com
Google Distributed Cloud opsconfigmonitoring.googleapis.com
gdcvmmanager.googleapis.com
gdchardwaremanagement.googleapis.com
API Distributed Cloud Edge Container edgecontainer.googleapis.com
API Distributed Cloud Edge Network edgenetwork.googleapis.com
Enterprise Knowledge Graph enterpriseknowledgegraph.googleapis.com
Error Reporting clouderrorreporting.googleapis.com
Contatti fondamentali essentialcontacts.googleapis.com
Eventarc eventarc.googleapis.com
Filestore file.googleapis.com
API Financial Services financialservices.googleapis.com
Firebase App Hosting firebaseapphosting.googleapis.com
Firebase Data Connect firebasedataconnect.googleapis.com
Regole di sicurezza Firebase firebaserules.googleapis.com
GKE Dataplane Management gkedataplanemanagement.googleapis.com
API GKE Enterprise Edge anthosedge.googleapis.com
Hub (parco risorse) gkehub.googleapis.com
GKE Multi-cloud gkemulticloud.googleapis.com
API GKE On-Prem gkeonprem.googleapis.com
API Gemini for Google Cloud cloudaicompanion.googleapis.com
Google Cloud API cloud.googleapis.com
Google Cloud Armor compute.googleapis.com
Google Cloud Migration Center migrationcenter.googleapis.com
Google Cloud Observability stackdriver.googleapis.com
Google Kubernetes Engine container.googleapis.com
configdelivery.googleapis.com
Google Security Operations SIEM chronicle.googleapis.com
chronicleservicemanager.googleapis.com
API Google Security Operations Partner chroniclepartner.googleapis.com
Componenti aggiuntivi di Google Workspace gsuiteaddons.googleapis.com
Identity and Access Management iam.googleapis.com
Identity-Aware Proxy iap.googleapis.com
Immersive Stream stream.googleapis.com
Infrastructure Manager config.googleapis.com
Integration Connectors connectors.googleapis.com
KRM API Hosting krmapihosting.googleapis.com
API Live Stream livestream.googleapis.com
Looker Studio datastudio.googleapis.com
BigQuery Engine per Apache Flink managedflink.googleapis.com
API Managed Kafka managedkafka.googleapis.com
Gestione del servizio servicemanagement.googleapis.com
Media Asset Manager mediaasset.googleapis.com
Memorystore for Memcached memcache.googleapis.com
Memorystore for Redis redis.googleapis.com
API Message Streams messagestreams.googleapis.com
API Microservices microservices.googleapis.com
Model Armor modelarmor.googleapis.com
Network Connectivity Center networkconnectivity.googleapis.com
Network Intelligence Center networkmanagement.googleapis.com
Network Service Tiers compute.googleapis.com
Persistent Disk compute.googleapis.com
Oracle Database @ Google Cloud oracledatabase.googleapis.com
Parallelstore parallelstore.googleapis.com
Analizzatore criteri policyanalyzer.googleapis.com
Policy Troubleshooter policytroubleshooter.googleapis.com
Progressive Rollout progressiverollout.googleapis.com
Pub/Sub pubsub.googleapis.com
Public Certificate Authority publicca.googleapis.com
Motore per suggerimenti recommender.googleapis.com
Remote Build Execution remotebuildexecution.googleapis.com
API Retail retail.googleapis.com
Cyber Insurance Hub riskmanager.googleapis.com
API SaaS Service Management saasservicemgmt.googleapis.com
API SecLM seclm.googleapis.com
Secret Manager secretmanager.googleapis.com
Security Command Center securitycenter.googleapis.com
securitycentermanagement.googleapis.com
securityposture.googleapis.com
Cloud Data Loss Prevention dlp.googleapis.com
API Service Account Credentials iamcredentials.googleapis.com
Service Directory servicedirectory.googleapis.com
Networking di servizi servicenetworking.googleapis.com
Spanner spanner.googleapis.com
Speaker ID speakerid.googleapis.com
Speech-to-Text speech.googleapis.com
Storage Insights storageinsights.googleapis.com
Storage Transfer Service storagebatchoperations.googleapis.com
Text-to-Speech texttospeech.googleapis.com
API Timeseries Insights timeseriesinsights.googleapis.com
API Transcoder transcoder.googleapis.com
Transfer Appliance transferappliance.googleapis.com
VM Manager osconfig.googleapis.com
API Vertex AI aiplatform.googleapis.com
Vertex AI Workbench notebooks.googleapis.com
Vertex AI in Firebase firebasevertexai.googleapis.com
Virtual Private Cloud (VPC) compute.googleapis.com
API Video Search cloudvideosearch.googleapis.com
API Video Stitcher videostitcher.googleapis.com
Web Risk webrisk.googleapis.com
Web Security Scanner websecurityscanner.googleapis.com
Workflow workflows.googleapis.com
API Workload Certificate workloadcertificate.googleapis.com

Servizi non supportati

Il vincolo della policy dell'organizzazione Limita suite di crittografia TLS non è applicabile ai seguenti servizi:

  • App Engine (*.appspot.com)
  • Funzioni Cloud Run (*.cloudfunctions.net),
  • Cloud Run (*.run.app)
  • Private Service Connect
  • Domini personalizzati

Per limitare le suite di crittografia TLS per questi servizi, utilizza Cloud Load Balancing insieme alla policy di sicurezza SSL.

Google Cloud preferenza della suite di crittografia

Gli endpoint per i servizi supportati danno la priorità ad AES-256 rispetto ad AES-128 e a ChaCha20. I client che supportano AES-256 dovrebbero negoziarlo correttamente senza richiedere alcuna modifica alla configurazione.