Configurazione dell'accesso privato Google

In questa pagina viene descritto come abilitare e configurare l'accesso privato Google. Per impostazione predefinita, quando una VM di Compute Engine non ha un indirizzo IP esterno assegnato alla sua interfaccia di rete, può inviare pacchetti solo ad altre destinazioni degli indirizzi IP interni. Puoi consentire a queste VM di connettersi al set di indirizzi IP esterni utilizzato dalle API e dai servizi Google abilitando l'accesso privato Google sulla subnet utilizzata dall'interfaccia di rete della VM.

L'accesso privato Google consente inoltre di accedere agli indirizzi IP esterni utilizzati da App Engine, inclusi i servizi di terze parti basati su App Engine.

Per visualizzare le API e i servizi idonei che puoi utilizzare con l'accesso privato Google, vedi i servizi supportati nella panoramica dell'accesso privato Google.

Vedi Opzioni di accesso privato per i servizi per informazioni di base sull'accesso privato Google e sulle altre opzioni di connettività privata offerte da Google Cloud.

Specifiche

Un'interfaccia VM può inviare pacchetti agli indirizzi IP esterni delle API e dei servizi Google utilizzando l'accesso privato Google se tutte queste condizioni sono soddisfatte:

  • L'interfaccia della VM è collegata a una subnet in cui è abilitato l'accesso privato Google.

  • La rete VPC che contiene la subnet soddisfa i requisiti di rete per le API e i servizi Google.

  • All'interfaccia della VM non è assegnato un indirizzo IP esterno.

  • L'indirizzo IP di origine dei pacchetti inviati dalla VM corrisponde a uno dei seguenti indirizzi IP.

    • L'indirizzo IPv4 interno principale dell'interfaccia della VM
    • L'indirizzo IPv6 interno dell'interfaccia della VM
    • Un indirizzo IPv4 interno da un intervallo IP alias

Una VM con un indirizzo IPv4 o IPv6 esterno assegnato alla sua interfaccia di rete non ha bisogno dell'accesso privato Google per connettersi alle API e ai servizi Google. Tuttavia, la rete VPC deve soddisfare i requisiti per l'accesso alle API e ai servizi Google.

Requisiti di rete

L'accesso privato Google prevede i seguenti requisiti:

  • Poiché l'accesso privato Google viene abilitato in base alla subnet, devi utilizzare una rete VPC. Le reti legacy non sono supportate perché non supportano le subnet.

  • Se vuoi connetterti alle API e ai servizi Google utilizzando IPv6, devi soddisfare entrambi i seguenti requisiti:

  • A seconda della configurazione scelta, potrebbe essere necessario aggiornare le voci DNS, le route e le regole del firewall. Per maggiori informazioni, consulta Riepilogo delle opzioni di configurazione.

Autorizzazioni

I proprietari del progetto, gli editor e le entità IAM con il ruolo Amministratore rete possono creare o aggiornare le subnet e assegnare indirizzi IP.

Per ulteriori informazioni sui ruoli, leggi la documentazione sui ruoli IAM.

Logging

Cloud Logging acquisisce tutte le richieste API effettuate da istanze VM nelle subnet in cui è abilitato l'accesso privato Google. Le voci di log identificano l'origine della richiesta API come indirizzo IP interno dell'istanza chiamante.

Puoi configurare l'utilizzo giornaliero e i report mensili di aggregazione in modo che vengano inviati a un bucket Cloud Storage. Consulta la pagina Visualizzazione dei report di utilizzo per i dettagli.

Riepilogo delle opzioni di configurazione

La seguente tabella riassume i diversi modi in cui puoi configurare l'accesso privato Google. Per informazioni più dettagliate sulla configurazione, vedi Configurazione di rete.

Opzione dominio Configurazione DNS Configurazione del routing Configurazione del firewall
Domini predefiniti Non è richiesta alcuna configurazione DNS speciale.

Assicurati che la tua rete VPC possa instradare il traffico agli intervalli di indirizzi IP utilizzati dalle API e dai servizi Google.

  • Configurazione di base: verifica di avere route predefinite con l'hop successivo default-internet-gateway e un intervallo di destinazione di 0.0.0.0/0 (per il traffico IPv4) e ::/0 (per il traffico IPv6, se necessario). Crea le route se non sono presenti.
  • Configurazione personalizzata: crea route per gli intervalli di indirizzi IP utilizzati dalle API e dai servizi Google.

Assicurati che le regole firewall consentano il traffico in uscita verso gli intervalli di indirizzi IP utilizzati dalle API e dai servizi Google.

La regola firewall di autorizzazione in uscita predefinita consente questo traffico, se non esiste una regola di priorità più elevata che lo blocca.

private.googleapis.com

Configura i record DNS in una zona DNS privata per inviare richieste ai seguenti indirizzi IP:

Per il traffico IPv4:

  • 199.36.153.8/30

Per il traffico IPv6:

  • 2600:2d00:0002:2000::/64

Assicurati che la tua rete VPC abbia route ai seguenti intervalli IP:

Per il traffico IPv4:

  • 199.36.153.8/30
  • 34.126.0.0/18

Per il traffico IPv6:

  • 2600:2d00:0002:2000::/64
  • 2001:4860:8040::/42

Assicurati che le regole firewall consentano il traffico in uscita verso i seguenti intervalli IP:

Per il traffico IPv4:

  • 199.36.153.8/30
  • 34.126.0.0/18

Per il traffico IPv6:

  • 2600:2d00:0002:2000::/64
  • 2001:4860:8040::/42
restricted.googleapis.com

Configura i record DNS per inviare richieste ai seguenti indirizzi IP:

Per il traffico IPv4:

  • 199.36.153.4/30

Per il traffico IPv6:

  • 2600:2d00:0002:1000::/64

Assicurati che la tua rete VPC abbia route ai seguenti intervalli IP:

Per il traffico IPv4:

  • 199.36.153.4/30
  • 34.126.0.0/18

Per il traffico IPv6:

  • 2600:2d00:0002:1000::/64
  • 2001:4860:8040::/42

Assicurati che le regole firewall consentano il traffico in uscita verso i seguenti intervalli IP:

Per il traffico IPv4:

  • 199.36.153.4/30
  • 34.126.0.0/18

Per il traffico IPv6:

  • 2600:2d00:0002:1000::/64
  • 2001:4860:8040::/42

Configurazione di rete

Questa sezione descrive i requisiti di rete di base da soddisfare per consentire a una VM nella tua rete VPC di accedere alle API e ai servizi Google.

Opzioni dominio

Scegli il dominio che vuoi utilizzare per accedere alle API e ai servizi Google.

Gli indirizzi IP virtuali (VIP) private.googleapis.com e restricted.googleapis.com supportano solo protocolli basati su HTTP su TCP (HTTP, HTTPS e HTTP/2). Tutti gli altri protocolli, inclusi MQTT e ICMP, non sono supportati.

Intervalli di indirizzi IP e di dominio Servizi supportati Esempio di utilizzo

Domini predefiniti.

Tutti i nomi di dominio per le API e i servizi Google, ad eccezione di private.googleapis.com e restricted.googleapis.com.

Diversi intervalli di indirizzi IP: puoi determinare un insieme di intervalli IP che contiene i possibili indirizzi utilizzati dai domini predefiniti facendo riferimento agli indirizzi IP per i domini predefiniti.

Abilita l'accesso API alla maggior parte delle API e dei servizi Google, indipendentemente dal fatto che siano supportati dai Controlli di servizio VPC. Include l'accesso API a Google Maps, Google Ads e Google Cloud. Include le applicazioni web di Google Workspace, come Gmail e Documenti Google, e altre applicazioni web.

I domini predefiniti vengono utilizzati quando non configuri i record DNS per private.googleapis.com e restricted.googleapis.com.

private.googleapis.com

199.36.153.8/30

2600:2d00:0002:2000::/64

Abilita l'accesso API alla maggior parte delle API e dei servizi Google, indipendentemente dal fatto che siano supportati dai Controlli di servizio VPC. Include l'accesso API a Google Maps, Google Ads, Google Cloud e alla maggior parte delle altre API di Google, compreso l'elenco seguente. Non supporta le applicazioni web di Google Workspace come Gmail e Documenti Google. Non supporta i siti web interattivi.

Nomi di dominio corrispondenti:

  • accounts.google.com (solo i percorsi necessari per l'autenticazione OAuth)
  • *.aiplatform-notebook.cloud.google.com
  • *.aiplatform-notebook.googleusercontent.com
  • appengine.google.com
  • *.appspot.com
  • *.backupdr.cloud.google.com
  • backupdr.cloud.google.com
  • *.backupdr.googleusercontent.com
  • backupdr.googleusercontent.com
  • *.cloudfunctions.net
  • *.cloudproxy.app
  • *.composer.cloud.google.com
  • *.composer.googleusercontent.com
  • *.datafusion.cloud.google.com
  • *.datafusion.googleusercontent.com
  • *.dataproc.cloud.google.com
  • dataproc.cloud.google.com
  • *.dataproc.googleusercontent.com
  • dataproc.googleusercontent.com
  • dl.google.com
  • gcr.io o *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.kernels.googleusercontent.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev o *.pkg.dev
  • pki.goog o *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

Usa private.googleapis.com per accedere alle API e ai servizi Google tramite un set di indirizzi IP instradabili solo dall'interno di Google Cloud.

Scegli private.googleapis.com in queste circostanze:

  • Non utilizzi Controlli di servizio VPC.
  • Puoi utilizzare i Controlli di servizio VPC, ma devi anche accedere alle API e ai servizi Google che non sono supportati dai Controlli di servizio VPC.1

restricted.googleapis.com

199.36.153.4/30

2600:2d00:0002:1000::/64

Abilita l'accesso API alle API e ai servizi Google supportati dai Controlli di servizio VPC.

Blocca l'accesso alle API e ai servizi Google che non supportano i Controlli di servizio VPC. Non supporta le API Google Workspace o le applicazioni web Google Workspace come Gmail e Documenti Google.

Usa restricted.googleapis.com per accedere alle API e ai servizi Google tramite un set di indirizzi IP instradabili solo dall'interno di Google Cloud.

Scegli restricted.googleapis.com quando hai bisogno solo di accedere alle API e ai servizi Google che sono supportati dai Controlli di servizio VPC.

Il dominio restricted.googleapis.com non consente l'accesso alle API e ai servizi Google che non supportano i Controlli di servizio VPC.1

1 Se devi limitare gli utenti solo alle API e ai servizi Google che supportano i Controlli di servizio VPC, utilizza restricted.googleapis.com, poiché fornisce ulteriore mitigazione dei rischi per l'esfiltrazione di dati. L'utilizzo di restricted.googleapis.com nega l'accesso alle API e ai servizi Google che non sono supportati dai Controlli di servizio VPC. Per ulteriori dettagli, consulta la sezione Configurazione della connettività privata nella documentazione dei Controlli di servizio VPC.

Supporto IPv6 per private.googleapis.com e restricted.googleapis.com

I seguenti intervalli di indirizzi IPv6 possono essere utilizzati per indirizzare il traffico dai client IPv6 alle API e ai servizi Google:

  • private.googleapis.com: 2600:2d00:0002:2000::/64
  • restricted.googleapis.com: 2600:2d00:0002:1000::/64

Valuta la possibilità di configurare gli indirizzi IPv6 se vuoi utilizzare il dominio private.googleapis.com o restricted.googleapis.com e se disponi di client che utilizzano indirizzi IPv6. I client IPv6 per cui sono configurati anche indirizzi IPv4 possono raggiungere le API e i servizi Google utilizzando gli indirizzi IPv4. Non tutti i servizi accettano traffico dai client IPv6.

Configurazione DNS

Per la connettività alle API e ai servizi Google, puoi scegliere di inviare pacchetti agli indirizzi IP associati al VIP private.googleapis.com o restricted.googleapis.com. Per utilizzare un VIP, devi configurare il DNS in modo che le VM nella tua rete VPC raggiungano i servizi utilizzando gli indirizzi VIP anziché gli indirizzi IP pubblici.

Le sezioni seguenti descrivono come utilizzare le zone DNS per inviare pacchetti agli indirizzi IP associati al VIP scelto. Segui le istruzioni per tutti gli scenari che ti riguardano:

Quando configuri i record DNS per i VIP, utilizza solo gli indirizzi IP descritti nei passaggi successivi. Non combinare indirizzi dei VIP private.googleapis.com e restricted.googleapis.com. Ciò può causare errori intermittenti perché i servizi offerti differiscono in base alla destinazione di un pacchetto.

Configura il DNS per googleapis.com

Crea una zona e dei record DNS per googleapis.com:

  1. Crea una zona DNS privata per googleapis.com. A questo scopo, valuta la possibilità di creare una zona privata di Cloud DNS.
  2. Nella zona googleapis.com, crea i seguenti record DNS privati per private.googleapis.com o restricted.googleapis.com, a seconda del dominio che hai scelto di utilizzare.

    • Per private.googleapis.com:

      1. Crea un record A per private.googleapis.com che rimandi ai seguenti indirizzi IP: 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11.

      2. Per connetterti alle API utilizzando indirizzi IPv6, configura anche un record AAAA per private.googleapis.com che punti a 2600:2d00:0002:2000::.

    • Per restricted.googleapis.com:

      1. Crea un record A per restricted.googleapis.com che rimandi ai seguenti indirizzi IP: 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

      2. Per connetterti alle API utilizzando indirizzi IPv6, crea anche un record AAAA per restricted.googleapis.com che punti a 2600:2d00:0002:1000::.

    Per creare record DNS privati in Cloud DNS, consulta Aggiungere un record.

  3. Nella zona googleapis.com, crea un record CNAME per *.googleapis.com che rimandi al dominio che hai configurato: private.googleapis.com o restricted.googleapis.com.

Configura il DNS per altri domini

Alcuni servizi e API di Google vengono forniti utilizzando nomi di dominio aggiuntivi, tra cui *.gcr.io, *.gstatic.com, *.pkg.dev, pki.goog e *.run.app. Fai riferimento alla tabella degli intervalli di domini e indirizzi IP in Opzioni di dominio per determinare se è possibile accedere ai servizi del dominio aggiuntivo utilizzando private.googleapis.com o restricted.googleapis.com. Quindi, per ciascuno dei domini aggiuntivi:

  1. Crea una zona DNS per DOMAIN (ad esempio gcr.io). Se utilizzi Cloud DNS, assicurati che questa zona si trovi nello stesso progetto della tua zona privata googleapis.com.

  2. In questa zona DNS, crea i seguenti record DNS privati per private.googleapis.com o restricted.googleapis.com, a seconda del dominio che hai scelto di utilizzare.

    • Per private.googleapis.com:

      1. Crea un record A per DOMAIN che rimandi ai seguenti indirizzi IP: 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11.

      2. Per connetterti alle API utilizzando indirizzi IPv6, crea anche un record AAAA per DOMAIN che punti a 2600:2d00:0002:2000::.

    • Per restricted.googleapis.com:

      1. Crea un record A per DOMAIN che rimandi ai seguenti indirizzi IP: 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

      2. Per connetterti alle API utilizzando indirizzi IPv6, crea anche un record AAAA per restricted.googleapis.com che punti a 2600:2d00:0002:1000::.

  3. Nella zona DOMAIN, crea un record CNAME per *.DOMAIN che rimandi a DOMAIN. Ad esempio, crea un record CNAME per *.gcr.io che rimandi a gcr.io.

Configura il DNS per i nomi di dominio personalizzati di Cloud Storage

Se utilizzi bucket Cloud Storage e invii richieste a un nome di dominio personalizzato Cloud Storage, la configurazione dei record DNS per il nome di dominio Cloud Storage personalizzato in modo che puntino agli indirizzi IP per private.googleapis.com o restricted.googleapis.com non è sufficiente per consentire l'accesso ai bucket Cloud Storage.

Se vuoi inviare richieste a un nome di dominio personalizzato di Cloud Storage, devi anche impostare esplicitamente l'intestazione Host e il valore TLS SNI della richiesta HTTP su storage.googleapis.com. Gli indirizzi IP per private.googleapis.com e restricted.googleapis.com non supportano nomi host Cloud Storage personalizzati nelle intestazioni degli host delle richieste HTTP e negli SNI TLS.

Opzioni di routing

La rete VPC deve avere route appropriate i cui hop successivi sono il gateway internet predefinito. Google Cloud non supporta il routing del traffico alle API e ai servizi Google tramite altre istanze VM o hop successivi personalizzati. Nonostante siano chiamati gateway internet predefinito, i pacchetti inviati dalle VM della tua rete VPC ai servizi e alle API di Google rimangono nella rete di Google.

  • Se selezioni i domini predefiniti, le istanze VM si connettono alle API e ai servizi Google utilizzando un sottoinsieme di indirizzi IP esterni di Google. Questi indirizzi IP sono instradabili pubblicamente, ma il percorso a questi indirizzi da una VM in una rete VPC rimane all'interno della rete Google.

  • Google non pubblica su internet route verso nessuno degli indirizzi IP utilizzati dai domini private.googleapis.com o restricted.googleapis.com. Di conseguenza, questi domini sono accessibili solo dalle VM in una rete VPC o dai sistemi on-premise connessi a una rete VPC.

Se la tua rete VPC contiene una route predefinita il cui hop successivo è il gateway internet predefinito, puoi utilizzare tale route per accedere alle API e ai servizi Google, senza dover creare route personalizzate. Per maggiori dettagli, consulta la sezione Percorso con un percorso predefinito.

Se hai sostituito una route predefinita (destinazione 0.0.0.0/0 o ::0/0) con una route personalizzata il cui hop successivo non è il gateway internet predefinito, puoi soddisfare i requisiti di routing per le API e i servizi Google utilizzando il routing personalizzato.

Se la tua rete VPC non ha una route predefinita IPv6, non avrai la connettività IPv6 alle API e ai servizi Google. Aggiungi una route predefinita IPv6 per consentire la connettività IPv6.

Routing con un percorso predefinito

Ogni rete VPC contiene una route predefinita IPv4 (0.0.0.0/0) quando viene creata. Se abiliti gli indirizzi IPv6 esterni su una subnet, a questa rete VPC viene aggiunta una route predefinita IPv6 generata dal sistema (::/0).

Le route predefinite forniscono un percorso degli indirizzi IP per le seguenti destinazioni:

  • I domini predefiniti.

  • private.googleapis.com: 199.36.153.8/30 e 2600:2d00:0002:2000::/64.

  • restricted.googleapis.com: 199.36.153.4/30 e 2600:2d00:0002:1000::/64.

Per verificare la configurazione di una route predefinita in una determinata rete, segui queste istruzioni.

Console

  1. Nella console Google Cloud, vai alla pagina Route.

    Vai a Routes

  2. Filtra l'elenco di route per visualizzare solo quelle della rete da ispezionare.

  3. Cerca una route la cui destinazione è 0.0.0.0/0 per il traffico IPv4 o ::/0 per il traffico IPv6 e il cui hop successivo è il gateway internet predefinito.

gcloud

Usa il seguente comando gcloud, sostituendo NETWORK_NAME con il nome della rete da ispezionare:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

Se devi creare una route IPv4 predefinita sostitutiva, consulta Aggiunta di una route statica.

Se devi creare una route IPv6 predefinita sostitutiva, consulta Aggiunta di una route predefinita IPv6.

Routing personalizzato

In alternativa a una route predefinita, puoi utilizzare route statiche personalizzate, ciascuna con una destinazione più specifica e ciascuna utilizzando l'hop successivo del gateway internet predefinito. Il numero di route necessarie e i relativi indirizzi IP di destinazione dipendono dal dominio che scegli.

Inoltre, ti consigliamo di aggiungere percorsi per 34.126.0.0/18 e 2001:4860:8040::/42. Per saperne di più, consulta Riepilogo delle opzioni di configurazione.

Per verificare la configurazione delle route personalizzate per le API e i servizi Google in una data rete, segui queste istruzioni.

Console

  1. Nella console Google Cloud, vai alla pagina Route.

    Vai a Routes

  2. Utilizza il campo di testo Filtra tabella per filtrare l'elenco delle route in base ai seguenti criteri, sostituendo NETWORK_NAME con il nome della tua rete VPC.

    • Rete: NETWORK_NAME
    • Tipo di hop successivo: default internet gateway
  3. Esamina la colonna Intervallo IP di destinazione per ogni route. Se hai scelto i domini predefiniti, verifica la presenza di diverse route statiche personalizzate, una per ogni intervallo di indirizzi IP utilizzato dal dominio predefinito. Se hai scelto private.googleapis.com o restricted.googleapis.com, cerca l'intervallo IP di quel dominio.

gcloud

Usa il seguente comando gcloud, sostituendo NETWORK_NAME con il nome della rete da ispezionare:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

Le route sono elencate in formato tabella, a meno che non personalizzi il comando con il flag --format. Cerca la destinazione di ogni route nella colonna DEST_RANGE. Se hai scelto i domini predefiniti, verifica la presenza di diverse route statiche personalizzate, una per ogni intervallo di indirizzi IP utilizzato dal dominio predefinito. Se hai scelto private.googleapis.com o restricted.googleapis.com, cerca l'intervallo IP di quel dominio.

Se devi creare route, consulta Aggiunta di una route statica.

Configurazione del firewall

La configurazione del firewall della rete VPC deve consentire l'accesso dalle VM agli indirizzi IP utilizzati dalle API e dai servizi Google. La regola allow egress implicita soddisfa questo requisito.

In alcune configurazioni firewall, devi creare regole di autorizzazione in uscita specifiche. Ad esempio, supponi di aver creato una regola di negazione in uscita che blocca il traffico verso tutte le destinazioni (0.0.0.0 per IPv4 o ::/0 per IPv6). In questo caso, devi creare una regola firewall di autorizzazione in uscita la cui priorità è superiore alla regola di negazione in uscita per ogni intervallo di indirizzi IP utilizzato dal dominio scelto per le API e i servizi Google.

Inoltre, ti consigliamo di includere 34.126.0.0/18 e 2001:4860:8040::/42 nella regola firewall di autorizzazione in uscita. Per maggiori informazioni, consulta Riepilogo delle opzioni di configurazione.

Per creare regole firewall, consulta Creazione di regole firewall. Puoi limitare le VM a cui si applicano le regole firewall quando definisci il target di ogni regola di autorizzazione in uscita.

Indirizzi IP per i domini predefiniti

Questa sezione descrive come creare un elenco di intervalli di indirizzi IP di dominio predefiniti utilizzati dalle API e dai servizi Google. Questi intervalli vengono allocati in modo dinamico e cambiano spesso, pertanto non è possibile definire intervalli IP specifici per singoli servizi o API. Per mantenere un elenco accurato, configura l'automazione per eseguire lo script ogni giorno. Per alternative alla gestione di un elenco di intervalli di indirizzi IP, valuta la possibilità di utilizzare private.googleapis.com VIP o Private Service Connect.

Segui questi passaggi per determinare gli intervalli di indirizzi IP utilizzati dai domini predefiniti, come *.googleapis.com e *.gcr.io.

  • Google pubblica l'elenco completo degli intervalli IP che mette a disposizione degli utenti su internet in goog.json.

  • Google pubblica inoltre un elenco di intervalli di indirizzi IP esterni globali e regionali disponibili per le risorse Google Cloud dei clienti in cloud.json.

Gli indirizzi IP utilizzati dai domini predefiniti per le API e i servizi Google rientrano nell'elenco degli intervalli calcolati rimuovendo tutti gli intervalli in cloud.json da quelli in goog.json. Questi elenchi vengono aggiornati di frequente.

Puoi utilizzare il seguente script Python per creare un elenco di intervalli di indirizzi IP che includono quelli utilizzati dai domini predefiniti per le API e i servizi Google.

Per informazioni sull'esecuzione di questo script, consulta Come eseguire.

from __future__ import print_function

import json

try:
    from urllib import urlopen
except ImportError:
    from urllib.request import urlopen
    from urllib.error import HTTPError

import netaddr

IPRANGE_URLS = {
    "goog": "https://www.gstatic.com/ipranges/goog.json",
    "cloud": "https://www.gstatic.com/ipranges/cloud.json",
}


def read_url(url):
    try:
        return json.loads(urlopen(url).read())
    except (IOError, HTTPError):
        print("ERROR: Invalid HTTP response from %s" % url)
    except json.decoder.JSONDecodeError:
        print("ERROR: Could not parse HTTP response from %s" % url)


def get_data(link):
    data = read_url(link)
    if data:
        print("{} published: {}".format(link, data.get("creationTime")))
        cidrs = netaddr.IPSet()
        for e in data["prefixes"]:
            if "ipv4Prefix" in e:
                cidrs.add(e.get("ipv4Prefix"))
            if "ipv6Prefix" in e:
                cidrs.add(e.get("ipv6Prefix"))
        return cidrs


def main():
    cidrs = {group: get_data(link) for group, link in IPRANGE_URLS.items()}
    if len(cidrs) != 2:
        raise ValueError("ERROR: Could process data from Google")
    print("IP ranges for Google APIs and services default domains:")
    for ip in (cidrs["goog"] - cidrs["cloud"]).iter_cidrs():
        print(ip)


if __name__ == "__main__":
    main()

Configurazione dell'accesso privato Google

Puoi abilitare l'accesso privato Google dopo aver soddisfatto i requisiti di rete nella tua rete VPC.

Abilita l'accesso privato Google

Per attivare l'accesso privato Google, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome della rete che contiene la subnet per la quale è necessario abilitare l'accesso privato Google.

  3. Per una subnet esistente:

    1. Fai clic sul nome della subnet. Viene visualizzata la pagina Dettagli subnet.
    2. Fai clic su Modifica.
    3. Nella sezione Accesso privato Google, seleziona On.
    4. Fai clic su Salva.
  4. Per una nuova subnet:

    1. Fai clic su Aggiungi subnet.
    2. Inserisci un Nome.
    3. Seleziona una Regione.
    4. Per Tipo di stack IP, seleziona Solo IPv4 (stack singolo) o IPv4 e IPv6 (stack doppio).
    5. Inserisci un intervallo IPv4. Questo è l'intervallo IPv4 principale per la subnet.

      Se selezioni un intervallo che non è un indirizzo RFC 1918, verifica che l'intervallo non sia in conflitto con una configurazione esistente. Per maggiori informazioni, consulta Intervalli di subnet IPv4.

    6. Se crei una subnet a doppio stack, seleziona un tipo di accesso IPv6: interno o esterno.

      Se vuoi impostare il tipo di accesso su Interno, ma l'opzione Interno non è disponibile, verifica che sia assegnato un intervallo IPv6 interno sulla rete.

    7. Effettua altre selezioni per la nuova subnet in base alle tue esigenze. Ad esempio, potrebbe essere necessario creare intervalli IP di subnet secondari o abilitare i log di flusso VPC.

    8. Seleziona On nella sezione Accesso privato Google.

    9. Fai clic su Aggiungi.

gcloud

Per una subnet esistente:

  1. Determina il nome e la regione della subnet. Per elencare le subnet per una rete specifica, usa il comando seguente:

    gcloud compute networks subnets list --filter=NETWORK_NAME
    
  2. Esegui questo comando per abilitare l'accesso privato Google:

    gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --enable-private-ip-google-access
    
  3. Verifica che l'accesso privato Google sia abilitato eseguendo questo comando:

    gcloud compute networks subnets describe SUBNET_NAME \
    --region=REGION \
    --format="get(privateIpGoogleAccess)"
    

In tutti i comandi precedenti, sostituisci quanto segue con valori validi:

  • SUBNET_NAME: il nome della subnet
  • REGION: la regione della subnet
  • NETWORK_NAME: il nome della rete VPC che contiene la subnet

Quando crei una nuova subnet, utilizza il flag --enable-private-ip-google-access per abilitare l'accesso privato Google:

gcloud compute networks subnets create SUBNET_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=PRIMARY_IP_RANGE \
    [ --stack-type=STACK_TYPE ] \
    [ --ipv6-access-type=IPv6_ACCESS_TYPE ] \
    --enable-private-ip-google-access

Sostituisci quanto segue con valori validi:

  • SUBNET_NAME: il nome della subnet
  • REGION: la regione della subnet
  • NETWORK_NAME: il nome della rete VPC che contiene la subnet
  • PRIMARY_IP_RANGE: intervallo di indirizzi IP principali della subnet
  • STACK_TYPE è il tipo di stack per la subnet: IPV4_ONLY o IPV4_IPV6.
  • IPv6_ACCESS_TYPE è il tipo di accesso IPv6: EXTERNAL o INTERNAL. Specifica il tipo di accesso IPv6 solo se hai specificato anche --stack-type=IPV4_IPV6.

Disattiva l'accesso privato Google

Segui questi passaggi per disabilitare l'accesso privato Google per una subnet esistente:

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome della rete che contiene la subnet per la quale devi disabilitare l'accesso privato Google.

  3. Fai clic sul nome di una subnet esistente. Viene visualizzata la pagina Dettagli subnet.

  4. Fai clic su Modifica.

  5. Nella sezione Accesso privato Google, seleziona Off.

  6. Fai clic su Salva.

gcloud

  1. Determina il nome e la regione della subnet. Per elencare le subnet per una rete specifica, usa il comando seguente:

    gcloud compute networks subnets list \
        --filter=NETWORK_NAME
    
  2. Esegui questo comando per disabilitare l'accesso privato Google:

    gcloud compute networks subnets update SUBNET_NAME \
        --region=REGION \
        --no-enable-private-ip-google-access
    
  3. Esegui questo comando per verificare che l'accesso privato Google sia disattivato:

    gcloud compute networks subnets describe SUBNET_NAME \
        --region=REGION \
        --format="get(privateIpGoogleAccess)"
    

In tutti i comandi precedenti, sostituisci quanto segue con valori validi:

  • SUBNET_NAME: il nome della subnet
  • REGION: la regione della subnet
  • NETWORK_NAME: il nome della rete VPC che contiene la subnet

Passaggi successivi