Vincoli dei criteri dell'organizzazione per Cloud Load Balancing

Questa pagina fornisce informazioni supplementari sulle limitazioni dei criteri dell'organizzazione che si applicano a Cloud Load Balancing. Utilizzi il criterio dell'organizzazione per applicare le impostazioni a un intero progetto, cartella o organizzazione.

I criteri dell'organizzazione si applicano solo alle nuove risorse. I vincoli non vengono applicati in modo retroattivo. Se hai risorse di bilanciamento del carico esistenti che violano un nuovo criterio dell'organizzazione, dovrai risolvere queste violazioni manualmente.

Per un elenco completo dei vincoli disponibili, consulta Criteri dell'organizzazione vincoli.

Limitare i tipi di bilanciatori del carico

Utilizza un criterio dell'organizzazione per limitare i tipi di Cloud Load Balancing che possono essere creati nella tua organizzazione. Imposta il seguente vincolo per i criteri dell'organizzazione:

  • Nome:limita la creazione del bilanciatore del carico in base ai tipi di bilanciatore del carico
  • ID: constraints/compute.restrictLoadBalancerCreationForTypes

Quando imposti la limitazione compute.restrictLoadBalancerCreationForTypes , specifichi una lista consentita o una lista vietata dei tipi di bilanciamento del carico Cloud. L'elenco dei valori consentiti o negati può includere solo valori contenuti nell'elenco seguente:

  • Bilanciatori del carico delle applicazioni
    • GLOBAL_EXTERNAL_MANAGED_HTTP_HTTPS per il bilanciatore del carico delle applicazioni esterno globale
    • EXTERNAL_HTTP_HTTPS per il bilanciatore del carico delle applicazioni classico
    • EXTERNAL_MANAGED_HTTP_HTTPS per il bilanciatore del carico delle applicazioni esterno regionale
    • GLOBAL_INTERNAL_MANAGED_HTTP_HTTPS per il bilanciatore del carico delle applicazioni interno tra regioni
    • INTERNAL_HTTP_HTTPS per il bilanciatore del carico delle applicazioni interno regionale
  • Bilanciatori del carico di rete proxy
    • GLOBAL_EXTERNAL_MANAGED_TCP_PROXY per il bilanciatore del carico di rete proxy esterno globale con un Proxy TCP
    • GLOBAL_EXTERNAL_MANAGED_SSL_PROXY per il bilanciatore del carico di rete proxy esterno globale con un proxy SSL
    • EXTERNAL_TCP_PROXY per il bilanciatore del carico di rete proxy classico con un proxy TCP
    • EXTERNAL_SSL_PROXY per il bilanciatore del carico di rete proxy classico con un proxy SSL
    • REGIONAL_EXTERNAL_MANAGED_TCP_PROXY per il bilanciatore del carico di rete proxy esterno regionale con un proxy TCP
    • REGIONAL_INTERNAL_MANAGED_TCP_PROXY per il bilanciatore del carico di rete proxy interno regionale con un proxy TCP
    • GLOBAL_INTERNAL_MANAGED_TCP_PROXY per il bilanciatore del carico di rete proxy interno tra regioni con un proxy TCP
  • Bilanciatori del carico di rete passthrough
    • EXTERNAL_NETWORK_TCP_UDP per il bilanciatore del carico di rete passthrough esterno
    • INTERNAL_TCP_UDP per il bilanciatore del carico di rete passthrough interno

Per includere tutti i tipi di bilanciatore del carico interni o esterni, utilizza in: seguito da INTERNAL o EXTERNAL. Ad esempio, se consenti in:INTERNAL consente tutti i bilanciatori del carico interni dell'elenco precedente.

Per istruzioni di esempio su come utilizzare questo vincolo, vedi Configurare l'elenco vincoli con l'organizzazione .

Una volta configurato, il criterio viene applicato in modo forzato quando si aggiunge il rispettivo Google Cloud forwarding . Il vincolo non è alle configurazioni di Cloud Load Balancing esistenti.

Se provi a creare un bilanciatore del carico di un tipo che viola il vincolo, il tentativo non va a buon fine e viene generato un messaggio di errore. Il messaggio di errore ha il seguente formato:

Constraint constraints/compute.restrictLoadBalancerCreationForTypes
violated for projects/PROJECT_NAME. Forwarding Rule projects/PROJECT_NAME/region/REGION/forwardingRules/FORWARDING_RULE_NAME
of type SCHEME is not allowed.

Se imposti più vincoli restrictLoadBalancerCreationForTypes su a diversi livelli di risorse, vengono applicate in modo gerarchico. Per questo motivo, ti consigliamo di impostare il campo inheritFromParent su true, in modo da garantire che vengano presi in considerazione anche i criteri a livelli superiori.

Messaggi di errore di GKE

Se utilizzi gli oggetti Service e Ingress di Google Kubernetes Engine (GKE), l'utilizzo di questo criterio dell'organizzazione per limitare la creazione di bilanciatori del carico genera un messaggio di errore simile al seguente:

Warning  Sync    28s   loadbalancer-controller  Error during sync: error running
load balancer syncing routine: loadbalancer FORWARDING_RULE_NAME
does not exist: googleapi: Error 412:
Constraint constraints/compute.restrictLoadBalancerCreationForTypes violated for
projects/PROJECT_ID. Forwarding Rule
projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAME
of type LOAD_BALANCER_TYPE is not allowed, conditionNotMet

Puoi visualizzare i messaggi di errore di GKE eseguendo questi comandi:

kubectl get events -w
kubectl describe RESOURCE_KIND NAME

Sostituisci quanto segue:

  • RESOURCE_KIND: il tipo di bilanciatore del carico, ingress o service
  • NAME: il nome del bilanciatore del carico

Disattivare il bilanciamento del carico globale

Questo vincolo booleano disabilita la creazione di prodotti di bilanciamento del carico globale. Quando applicato, è possibile creare solo prodotti di bilanciamento del carico a livello di regione senza dipendenze globali.

  • Nome: Disabilita il bilanciamento del carico globale
  • ID: constraints/compute.disableGlobalLoadBalancing

Per impostazione predefinita, gli utenti sono autorizzati a creare prodotti di bilanciamento del carico globale.

Per istruzioni di esempio su come utilizzare questo vincolo, consulta Configurare vincoli booleani con i criteri dell'organizzazione.

Limitare i tipi di inoltro di protocollo

Utilizzare un criterio dell'organizzazione per limitare i tipi di forwarding del protocollo che possono essere creati nel dell'organizzazione. Imposta il seguente vincolo dei criteri dell'organizzazione:

  • Nome:limita forwarding del protocollo in base al tipo di indirizzo IP
  • ID: constraints/compute.restrictProtocolForwardingCreationForTypes

Quando imposti il vincolo compute.restrictProtocolForwardingCreationForTypes, specifichi una lista consentita o una lista vietata dei tipi di inoltro del protocollo. L'elenco dei valori consentiti o negati può includere solo valori del campo seguente elenco:

  • INTERNAL
  • EXTERNAL

Per istruzioni di esempio su come utilizzare questo vincolo, vedi Configurare l'elenco vincoli con l'organizzazione .

Dopo aver impostato il criterio, questo viene applicato quando aggiungi le rispettive regole di inoltro di Google Cloud. Il vincolo non è per le configurazioni di forwarding del protocollo esistenti.

Se tenti di creare un deployment di inoltro del protocollo di un tipo che viola la limitazione, il tentativo non va a buon fine e viene generato un messaggio di errore. Il messaggio di errore ha il seguente formato:

Constraint constraints/compute.restrictProtocolForwardingCreationForTypes
violated for projects/PROJECT_NAME. Forwarding Rule
projects/PROJECT_NAME/region/REGION/forwardingRules/FORWARDING_RULE_NAME
of type SCHEME is not allowed.

Se imposti più vincoli restrictProtocolForwardingCreationForTypes su diversi livelli di risorsa e imposti il campo inheritFromParent su true, i vincoli vengono applicati in modo gerarchico.

Applica restrizioni per il VPC condiviso

Utilizza i seguenti criteri dell'organizzazione per limitare la modalità di configurazione dei deployment VPC condivisi da parte degli utenti.

Limita i progetti host con VPC condivise

Questo vincolo dell'elenco consente di limitare i progetti host con VPC condivise ai quali una risorsa può essere collegata.

  • Nome: Limita progetti host con VPC condivise
  • ID: constraints/compute.restrictSharedVpcHostProjects

Per impostazione predefinita, un progetto può essere associato a qualsiasi progetto host nella stessa organizzazione, diventando quindi un progetto di servizio. Quando imposti vincolo compute.restrictSharedVpcHostProjects, devi specificare una lista consentita di progetti host nei modi seguenti:

  • Specifica un progetto nel seguente formato:
    • projects/PROJECT_ID
  • Specifica un progetto, una cartella o un'organizzazione. Il vincolo si applica a tutti i progetti della risorsa specificata nella gerarchia delle risorse. Utilizza il seguente formato:
    • under:organizations/ORGANIZATION_ID
    • under:folders/FOLDER_ID

Per istruzioni di esempio su come utilizzare questo vincolo, vedi Configurare l'elenco vincoli con l'organizzazione .

Limita subnet VPC condivise

Questo vincolo dell'elenco definisce l'insieme di subnet VPC condivise utilizzabili dalle risorse idonee. Questo vincolo non si applica alle risorse in lo stesso progetto.

  • Nome: Limita subnet VPC condivise
  • ID: constraints/compute.restrictSharedVpcSubnetworks

Per impostazione predefinita, le risorse idonee possono utilizzare qualsiasi subnet VPC condiviso. Quando imposti il vincolo compute.restrictSharedVpcSubnetworks, specifichi un un elenco limitato di subnet nei modi seguenti:

  • Specifica una subnet nel seguente formato:
    • projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME.
  • Specifica un progetto, una cartella o un'organizzazione. Il vincolo si applica a tutte le subnet sotto la risorsa specificata nella gerarchia delle risorse. Utilizza la seguente formato:
    • under:organizations/ORGANIZATION_ID
    • under:folders/FOLDER_ID
    • under:progetti/PROJECT_ID

Per istruzioni di esempio su come utilizzare questo vincolo, consulta Configurare i vincoli degli elenchi con i criteri dell'organizzazione.

Limitare i servizi di backend tra progetti

Puoi utilizzare questo vincolo per limitare i servizi di backend che una mappa URL può riferimento. Questo vincolo non si applica ai servizi di backend all'interno dello stesso progetto come mappa URL.

  • Nome: Limita i servizi di backend tra progetti
  • ID: constraints/compute.restrictCrossProjectServices

Per impostazione predefinita, le mappe URL in tutti i progetti host o di servizio possono fare riferimento a servizi di backend compatibili di altri progetti di servizio o del progetto host nello stesso deployment VPC condiviso, purché l'utente che esegue l'azione disponga dell'autorizzazione compute.backendServices.use. Quando imposti vincolo restrictCrossProjectServices, devi specificare inserire nella lista consentita o bloccata i servizi di backend nei seguenti modi:

  • Specifica i servizi di backend nel seguente formato:
    • projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
  • Specifica un progetto, una cartella o un'organizzazione. Il vincolo si applica a tutti i servizi di backend sotto la risorsa specificata nella gerarchia delle risorse. Utilizza le funzionalità di il seguente formato:
    • under:organizations/ORGANIZATION_ID
    • under:folders/FOLDER_ID
    • under:progetti/PROJECT_ID

Dopo aver configurato un criterio dell'organizzazione con questo vincolo, il vincolo viene applicato la volta successiva che utilizzi il comando gcloud compute url-maps per collegare un servizio di backend a una mappa di URL. Il vincolo non influisce in modo retroattivo sui riferimenti esistenti a servizi di backend tra progetti.

Per istruzioni di esempio su come utilizzare questo vincolo, consulta Configurare i vincoli degli elenchi con i criteri dell'organizzazione.

Limita la rimozione dei blocchi sul progetto del VPC condiviso

Questo vincolo booleano restringe l'insieme di utenti che possono rimuovere un Blocco del progetto host VPC condiviso senza autorizzazione a livello di organizzazione in cui questo vincolo è già impostato su True.

  • Nome: Limita la rimozione dei blocchi sul progetto del VPC condiviso
  • ID: constraints/compute.restrictXpnProjectLienRemoval

Per impostazione predefinita, qualsiasi utente con l'autorizzazione all'aggiornamento dei blocchi può rimuovere un blocco del progetto host VPC condiviso. L'applicazione di questo vincolo richiede a livello di organizzazione.

Per istruzioni di esempio su come utilizzare questo vincolo, consulta la sezione Impostare un valore booleano vincoli con l'organizzazione .

Limitazione delle funzionalità TLS con vincoli personalizzati

Per soddisfare i requisiti di conformità e limitare determinati livelli di trasporto Funzionalità di sicurezza (TLS), puoi creare il seguente criterio dell'organizzazione e utilizzarlo insieme ai vincoli personalizzati per il criterio SSL Google Cloud:

  • Nome: Richiedi criterio SSL
  • ID: constraints/compute.requireSslPolicy

Utilizzando la limitazione constraints/compute.requireSslPolicy insieme alle limitazioni personalizzate, puoi:

  • Migliora la sicurezza e soddisfa i requisiti di conformità limitando l'utilizzo di versioni TLS precedenti (ad esempio 1.0 e 1.1) e suite di crittografia.
  • Migliora le prestazioni riducendo il numero di handshake richiesti e migliorando la compatibilità del bilanciatore del carico con i client.
  • Applica la limitazione a uno specifico nodo di risorsa e ai relativi nodi figlio. Ad esempio, se neghi la versione TLS 1.0 per un'organizzazione, questa viene negata anche per tutte le cartelle e i progetti (secondari) che derivano da quell'organizzazione.
  • Definisci un insieme di proxy target HTTPS e SSL di destinazione con un protocollo SSL criterio allegato.

Utilizzando un vincolo personalizzato per i criteri SSL, puoi definire le tue limitazioni per i seguenti campi:

  • Profilo criteri SSL: resource.profile
  • Versione TLS minima del criterio SSL: resource.minTlsVersion
  • Funzionalità dei criteri SSL: resource.customFeatures

Per applicare un criterio SSL per un bilanciatore del carico delle applicazioni o un bilanciatore del carico di rete proxy, devi collegarlo al proxy HTTPS di destinazione o al proxy SSL di destinazione del bilanciatore del carico.

Per aggiornare i criteri SSL esistenti, consulta la sezione sull'aggiornamento dei criteri SSL esistenti collegati a destinazione proxy.

Configura vincoli booleani con i criteri dell'organizzazione

Console

Per impostare un criterio dell'organizzazione dalla console, completa quanto segue passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri dell'organizzazione.

    Vai a Criteri dell'organizzazione

  2. Nel campo Filtro, cerca il vincolo per Nome o per ID.
  3. Fai clic sul nome del vincolo.
  4. Fai clic su Modifica per modificare il vincolo.
  5. Nella pagina Modifica, seleziona Personalizza.
  6. In Applicazione forzata, seleziona un'opzione di applicazione:
    • Per attivare l'applicazione di questo vincolo, seleziona On.
    • Per disattivare l'applicazione di questa limitazione, seleziona Off.
  7. Dopo aver apportato le modifiche, fai clic su Salva per applicare le impostazioni del vincolo.

Per istruzioni dettagliate sulla personalizzazione dei criteri dell'organizzazione mediante nella console Google Cloud, consulta Personalizzazione dei criteri per i valori booleani vincoli.

gcloud

Per attivare l'applicazione di un vincolo booleano per un criterio dell'organizzazione, utilizza il comando gcloud resource-manager org-policies enable-enforce come segue.

Per abilitare la limitazione della rimozione dei blocchi sul progetto del VPC condiviso:

gcloud resource-manager org-policies enable-enforce \
    --organization ORGANIZATION_ID \
    constraints/compute.restrictXpnProjectLienRemoval

Per disabilitare il bilanciamento del carico globale:

gcloud resource-manager org-policies enable-enforce \
    --organization ORGANIZATION_ID \
    constraints/compute.disableGlobalLoadBalancing

Per istruzioni dettagliate sull'uso dei vincoli booleani in gcloud, consulta la sezione Utilizzo vincoli.

Configura vincoli dell'elenco con i criteri dell'organizzazione

Console

Per impostare un criterio dell'organizzazione dalla console, completa quanto segue passaggi:

  1. Nella console Google Cloud, vai alla pagina Norme dell'organizzazione.

    Vai a Criteri dell'organizzazione

  2. Nel campo Filtro, cerca il vincolo in base a Nome. o per ID. Ad esempio, per limitare i progetti host del VPC condiviso, cerchi l'ID: constraints/compute.restrictSharedVpcHostProjects.
  3. Fai clic sul nome del vincolo.
  4. Fai clic su Modifica per modificare la limitazione.
  5. Per creare una norma personalizzata, seleziona Personalizza e specifica la o in una lista bloccata di risorse. Per istruzioni più dettagliate su come personalizzare i criteri dell'organizzazione utilizzando la console Google Cloud, consulta Personalizzare i criteri per le limitazioni degli elenchi.
  6. Dopo aver apportato le modifiche, fai clic su Salva per applicare il vincolo impostazioni.

gcloud

Questa sezione fornisce alcuni esempi di configurazione per mostrarti come creare e impostare un file di criteri dell'organizzazione con vincolo dell'elenco. Per istruzioni più dettagliate sull'utilizzo dei vincoli degli elenchi e dei criteri dell'organizzazione in gcloud, consulta Utilizzare i vincoli.

  1. Crea il file di criteri. Utilizza i seguenti esempi di configurazione JSON per creare il tuo file di criteri in base ai tuoi requisiti.

    • Limita i tipi di bilanciatore del carico

      • Consentire solo un sottoinsieme di bilanciatori del carico

        {
        "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
        "listPolicy": {
          "allowedValues": [
            "INTERNAL_TCP_UDP",
            "INTERNAL_HTTP_HTTPS",
            "EXTERNAL_NETWORK_TCP_UDP",
            "EXTERNAL_TCP_PROXY",
            "EXTERNAL_SSL_PROXY",
            "EXTERNAL_HTTP_HTTPS"
          ]
        }
        }
        
      • Nega tutti i bilanciatori del carico esterni

        {
        "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
        "listPolicy": {
          "deniedValues": [
            "in:EXTERNAL"
          ]
        }
        }
        
      • Nega tutti i bilanciatori del carico

        {
        "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
        "listPolicy": {
          "allValues": "DENY"
        }
        }
        
    • Limitare i tipi di inoltro di protocollo

      • Negare tutto l'inoltro del protocollo

        {
        "constraint": "constraints/compute.restrictProtocolForwardingCreationForTypes",
        "listPolicy": {
          "allValues": "DENY"
        }
        }
        
      • Consentire solo il forwarding del protocollo interno

        {
        "constraint": "constraints/compute.restrictProtocolForwardingCreationForTypes",
        "listPolicy": {
          "deniedValues": [
            "EXTERNAL"
          ]
        }
        }
        
    • Limitare le configurazioni di VPC condiviso

      • Limita i progetti host con VPC condivise

        {
        "constraint": "constraints/compute.restrictSharedVpcHostProjects",
        "listPolicy": {
          "allowedValues": [
            "under:folders/FOLDER_ID",
            "under:projects/PROJECT_ID"
          ]
        }
        }
        
      • Limita le subnet VPC condivise

        {
        "constraint": "constraints/compute.restrictSharedVpcSubnetworks",
        "listPolicy": {
          "deniedValues": [
            "under:organizations/ORGANIZATION_ID",
            "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
          ]
        }
        }
        
      • Limita i servizi di backend del VPC condiviso

        {
        "constraint": "constraints/compute.restrictCrossProjectServices",
        "listPolicy": {
          "allowedValues": [
            "under:folders/FOLDER_ID",
            "under:projects/PROJECT_ID",
            "projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME"
          ]
        }
        }
        
  2. Applica il vincolo a una risorsa: un'organizzazione, una cartella o un progetto.

    Per le organizzazioni, esegui il seguente comando:

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --organization=ORGANIZATION_ID
    

    Per le cartelle, esegui il seguente comando:

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --folder=FOLDER_ID
    

    Per i progetti, esegui il seguente comando:

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --project=PROJECT_ID
    

    Sostituisci quanto segue:

Configura un criterio dell'organizzazione per applicare un criterio SSL ai proxy HTTPS e SSL target

Console

Per impostare un criterio dell'organizzazione dalla console, completa quanto segue passaggi:

  1. Nella console Google Cloud, vai alla pagina Norme dell'organizzazione.

    Vai a Criteri dell'organizzazione

  2. Nel campo Filtro, cerca il vincolo in base a Nome. o per ID.

  3. Fai clic sul nome del vincolo.

  4. Fai clic su Modifica per modificare il vincolo.

  5. Per creare un criterio personalizzato, seleziona Personalizza e specifica la lista consentita o la lista bloccata delle risorse.

  6. Dopo aver apportato le modifiche, fai clic su Salva per applicare il vincolo impostazioni.

gcloud

Questa sezione fornisce alcuni esempi di configurazione che mostrano come creare e impostare un file dei criteri dell'organizzazione con il vincolo constraints/compute.requireSslPolicy.

  • Crea un file di criteri per non consentire l'utilizzo dei criteri SSL.

    {
      "constraint": "constraints/compute.requireSslPolicy",
      "listPolicy": {
        "allValues": "DENY"
      }
    }
    
  • Crea un file di criteri per applicare un criterio SSL a tutti i proxy HTTPS e SSL target della risorsa specificata nella gerarchia delle risorse:

    {
      "constraint": "constraints/compute.requireSslPolicy",
      "listPolicy": {
        "allowedValues": [
          "under:folders/FOLDER_ID",
          "under:projects/PROJECT_ID"
        ]
      }
    }
    
  • Applica il vincolo ai proxy HTTPS e SSL di destinazione: un'organizzazione, una cartella o un progetto.

    Per le organizzazioni, esegui il seguente comando:

    gcloud resource-manager org-policies set-policy PATH_TO_POLICY_FILE \
        --organization=ORGANIZATION_ID
    

    Per le cartelle, esegui il seguente comando:

    gcloud resource-manager org-policies set-policy PATH_TO_POLICY_FILE \
        --folder=FOLDER_ID
    

    Per i progetti, esegui il seguente comando:

    gcloud resource-manager org-policies set-policy PATH_TO_POLICY_FILE \
        --project=PROJECT_ID
    

    Sostituisci quanto segue:

  • Per ottenere il criterio effettivo per verificare il comportamento predefinito della risorsa (organizzazione, cartella o progetto), esegui i seguenti comandi:

    Per le organizzazioni:

    gcloud resource-manager org-policies describe compute.requireSslPolicy \
        --effective \
        --organization=ORGANIZATION_ID
    

    Per le cartelle:

    gcloud resource-manager org-policies describe compute.requireSslPolicy \
        --effective \
        --folder=FOLDER_ID
    

    Per i progetti:

    gcloud resource-manager org-policies describe compute.requireSslPolicy \
        --effective \
        --project=PROJECT_ID
    
  • Per eliminare il criterio dalla risorsa (organizzazione, cartella o progetto), esegui i seguenti comandi:

    Per le organizzazioni:

    gcloud resource-manager org-policies delete compute.requireSslPolicy \
        --organization=ORGANIZATION_ID
    

    Per le cartelle:

    gcloud resource-manager org-policies delete compute.requireSslPolicy \
        --folder=FOLDER_ID
    

    Per i progetti:

    gcloud resource-manager org-policies delete compute.requireSslPolicy \
        --project=PROJECT_ID
    

Per impostare vincoli personalizzati, vedi Utilizzare vincoli personalizzati per limitare le funzionalità TLS.

Passaggi successivi