Vincoli dei criteri dell'organizzazione per Cloud Load Balancing

Questa pagina fornisce informazioni supplementari sull'organizzazione norme i vincoli 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 sono applicati in modo retroattivo. Se disponi di risorse di bilanciamento del carico preesistenti sono in violazione di una nuovo criterio dell'organizzazione, dovrai risolvere queste violazioni manualmente.

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

Limita i tipi di bilanciatore 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 criterio dell'organizzazione vincolo:

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

Quando imposti compute.restrictLoadBalancerCreationForTypes devi specificare una lista consentita o un Cloud Load Balancing di testo. L'elenco dei valori consentiti o negati può includere solo valori del campo seguente elenco:

  • 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, consentire l'accesso a in:INTERNAL consente tutti i bilanciatori del carico interni dell'elenco precedente.

Per istruzioni di esempio su come utilizzare questo vincolo, consulta 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 tenti di creare un bilanciatore del carico di un tipo che viola le vincolo, il tentativo non va a buon fine e viene generato un messaggio di errore. Errore messaggio 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, che garantisce che vengano presi in considerazione anche i criteri ai livelli più alti.

Messaggi di errore di GKE

Se utilizzi Google Kubernetes Engine (GKE) Servizio e Oggetti Ingress, che utilizzano Il criterio dell'organizzazione per limitare la creazione del bilanciatore del carico genera un 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

Disabilita il bilanciamento del carico globale

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

  • 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 la sezione Impostare un valore booleano vincoli con l'organizzazione .

Limita tipi di forwarding del 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 del criterio dell'organizzazione:

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

Quando imposti compute.restrictProtocolForwardingCreationForTypes puoi specificare una lista consentita o una lista bloccata del protocollo di testo. 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, consulta 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 è per le configurazioni di forwarding del protocollo esistenti.

Se tenti di creare un deployment di forwarding del protocollo 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.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 risorse e se imposti inheritFromParent a true, i vincoli vengono applicati in modo gerarchico.

Applica restrizioni per il VPC condiviso

Utilizza i seguenti criteri dell'organizzazione per limitare il modo in cui gli utenti sono autorizzati a: per configurare i deployment delle VPC condiviso.

Limita progetti host del VPC condiviso

Questo vincolo dell'elenco consente di limitare i progetti host del VPC condiviso che a cui può collegarsi una risorsa.

  • Nome:Limita progetti host del VPC condiviso
  • ID: constraints/compute.restrictSharedVpcHostProjects

Per impostazione predefinita, un progetto può essere collegato a qualsiasi progetto host nella stessa organizzazione, e diventa 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:
    • progetti/PROJECT_ID
  • Specifica un progetto, una cartella o un'organizzazione. Il vincolo si applica a tutti i progetti al di sotto della risorsa specificata nella gerarchia delle risorse. Utilizza la seguente formato:
    • under:organizations/ORGANIZATION_ID
    • under:folders/FOLDER_ID

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

Limita subnet VPC condivise

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

  • Nome:Limita le 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 formato seguente:
    • 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 l'elenco vincoli con l'organizzazione .

Limita 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 di backend di altri progetti di servizio o del progetto host nello stesso il deployment della VPC condiviso purché l'utente che esegue l'azione abbia 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 tutte dei servizi di backend sotto la risorsa specificata nella gerarchia delle risorse. Utilizza le funzionalità di nel seguente formato:
    • under:organizations/ORGANIZATION_ID
    • under:folders/FOLDER_ID
    • under:progetti/PROJECT_ID

Dopo aver configurato un criterio dell'organizzazione con questo vincolo, verrà applicata la volta successiva che userai gcloud compute url-maps per collegare un servizio di backend a una mappa URL. Il vincolo non influiranno in modo retroattivo sui riferimenti esistenti a qualsiasi servizio di backend tra progetti.

Per istruzioni di esempio su come utilizzare questo vincolo, consulta Configurare l'elenco vincoli con l'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 del 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 ad aggiornare i blocchi può rimuovere un Blocco del progetto host del 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

Utilizzo del vincolo constraints/compute.requireSslPolicy insieme alle vincoli, puoi procedere nel seguente modo:

  • Migliorare la sicurezza e soddisfare i requisiti di conformità limitando l'uso di versioni TLS precedenti (come 1.0 e 1.1) e suite di crittografia.
  • Migliora le prestazioni riducendo il numero di handshake richiesti e riducendo 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 TLS versione 1.0 per un'organizzazione, viene negato anche per tutte le cartelle e i progetti (figlio) che discendono 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 SSL criteri, puoi definire le tue restrizioni nei 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 protocollo SSL del bilanciatore del carico proxy.

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 in base a 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, seleziona un'opzione di applicazione:
      .
    • Per attivare l'applicazione di questo vincolo, seleziona On.
    • Per disabilitare l'applicazione di questo vincolo, seleziona Off.
  7. Dopo aver apportato le modifiche, fai clic su Salva per applicare il vincolo impostazioni.

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 abilitare l'applicazione di un vincolo booleano per un criterio dell'organizzazione, utilizza la 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 Criteri 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 il vincolo.
  5. Per creare una norma personalizzata, seleziona Personalizza e specifica la o in una lista bloccata di risorse. Per istruzioni più dettagliate su personalizzando i criteri dell'organizzazione usando la console Google Cloud. consulta Personalizzazione dei criteri per gli elenchi vincoli.
  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 un vincolo di elenco. Per informazioni più dettagliate istruzioni sull'uso di vincoli di elenco dei criteri dell'organizzazione in gcloud, consulta Utilizzare vincoli.

  1. Crea il file dei criteri. Utilizza il seguente JSON di configurazione di deployment per creare il tuo file dei criteri basato i tuoi requisiti.

    • Limita i tipi di bilanciatore del carico

      • Consenti 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"
        }
        }
        
    • Limita i tipi di forwarding del protocollo

      • Nega tutto il forwarding del protocollo

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

        {
        "constraint": "constraints/compute.restrictProtocolForwardingCreationForTypes",
        "listPolicy": {
          "deniedValues": [
            "EXTERNAL"
          ]
        }
        }
        
    • Limita configurazioni VPC condivise

      • Limita i progetti host del VPC condiviso

        {
        "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 progetto.

    Per le organizzazioni, esegui questo comando:

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

    Per le cartelle, esegui questo comando:

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

    Per i progetti, esegui questo 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 di destinazione

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 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 dei 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 tutte le pagine HTTPS e di destinazione Proxy SSL che si trovano sotto la risorsa specificata nella gerarchia delle risorse:

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

    Per le organizzazioni, esegui questo comando:

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

    Per le cartelle, esegui questo comando:

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

    Per i progetti, esegui questo comando:

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

    Sostituisci quanto segue:

  • Per fare in modo che il criterio venga applicato in modo da verificare il comportamento predefinito della risorsa (organizzazione, cartella o progetto), esegui questi 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 questi 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