Configurer l'accès privé à Google

Cette page explique comment activer et configurer l'accès privé à Google. Par défaut, lorsqu'une VM Compute Engine n'a pas d'adresse IP externe attribuée à son interface réseau, elle ne peut envoyer des paquets qu'à d'autres destinations d'adresses IP internes. Vous pouvez autoriser ces VM à se connecter à l'ensemble des adresses IP externes utilisées par les API et services Google en activant l'accès privé à Google sur le sous-réseau utilisé par l'interface réseau de la VM.

L'accès privé à Google permet également d'accéder aux adresses IP externes utilisées par App Engine, y compris aux services tiers basés sur App Engine.

Pour afficher les API et les services compatibles avec l'accès privé à Google, consultez la section concernant les services compatibles dans la présentation de l'accès privé à Google.

Consultez la page Options d'accès privé pour les services pour obtenir des informations générales sur l'accès privé à Google et d'autres options de connectivité privée proposées par Google Cloud.

Spécifications

Une interface de VM peut envoyer des paquets aux adresses IP externes des API et services Google à l'aide de l'accès privé à Google, si toutes ces conditions sont remplies :

  • L'interface de VM est connectée à un sous-réseau dans lequel l'accès privé à Google est activé.

  • Le réseau VPC qui contient le sous-réseau répond aux exigences de réseau pour les API et services Google.

  • Aucune adresse IP externe n'est attribuée à l'interface de VM.

  • L'adresse IP source des paquets envoyés à partir de la VM correspond à l'une des adresses IP suivantes.

    • L'adresse IPv4 interne principale de l'interface de la VM
    • L'adresse IPv6 interne de l'interface de la VM
    • Une adresse IPv4 interne d'une plage d'adresses IP d'alias

Une VM avec une adresse IPv4 ou IPv6 externe attribuée à son interface réseau n'a pas besoin d'un accès privé à Google pour se connecter aux API et services Google. Cependant, le réseau VPC doit répondre aux exigences d'accès aux API et services Google.

Vous pouvez annuler l'attribution d'une adresse IP externe à une instance de VM existante même pendant son exécution.

Configuration réseau requise

L'accès privé à Google est soumis aux conditions suivantes :

  • L'accès privé à Google étant activé par sous-réseau, vous devez utiliser un réseau VPC. Les anciens réseaux ne sont pas acceptés, car ils ne sont pas compatibles avec les sous-réseaux.

  • Si vous souhaitez vous connecter aux API et services Google en utilisant une adresse IPv6, vous devez répondre à ces deux exigences :

Autorisations

Les propriétaires de projet, les collaborateurs et les entités principales IAM bénéficiant du rôle d'administrateur réseau peuvent créer ou mettre à jour des sous-réseaux et attribuer des adresses IP.

Pour plus d'informations sur les rôles, consultez la documentation relative aux rôles IAM.

Logging

Cloud Logging capture toutes les requêtes API effectuées à partir d'instances de VM dans des sous-réseaux dans lesquels l'accès privé à Google est activé. Les entrées de journal identifient la source de la requête API en tant qu'adresse IP interne de l'instance appelante.

Vous pouvez configurer l'envoi des rapports d'utilisation quotidienne et de cumul mensuel dans un bucket Cloud Storage. Pour en savoir plus, consultez la page Afficher les rapports d'utilisation.

Récapitulatif des options de configuration

Le tableau suivant récapitule les différentes manières de configurer l'accès privé à Google. Pour obtenir des informations plus détaillées sur la configuration, consultez la page Configuration réseau.

Option de domaine Configuration DNS Configuration du routage Configuration du pare-feu
Domaines par défaut Aucune configuration DNS spéciale n'est requise

Assurez-vous que votre réseau VPC peut acheminer le trafic vers les plages d'adresses IP utilisées par les API et services Google.

  • Configuration de base : vérifiez que vous disposez de routes par défaut avec default-internet-gateway comme saut suivant et avec des plages de destination 0.0.0.0/0 (pour le trafic IPv4) et ::/0 (pour le trafic IPv6, le cas échéant). Créez ces routes si elles sont manquantes.
  • Configuration personnalisée : créez des routes pour les plages d'adresses IP utilisées par les API et les services Google.

Assurez-vous que vos règles de pare-feu autorisent la sortie vers les plages d'adresses IP utilisées par les API et services Google.

La règle de pare-feu de sortie par défaut (qui autorise le trafic) autorise ce trafic si aucune règle de priorité plus élevée ne le bloque.

private.googleapis.com

Configurez les enregistrements DNS dans une zone DNS privée pour envoyer des requêtes aux adresses IP suivantes :

Pour le trafic IPv4 :

  • 199.36.153.8/30

Pour le trafic IPv6 :

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

Assurez-vous que votre réseau VPC dispose de routes vers les plages d'adresses IP suivantes :

Pour le trafic IPv4 :

  • 199.36.153.8/30
  • 34.126.0.0/18

Pour le trafic IPv6 :

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

Vérifiez que vos règles de pare-feu autorisent la sortie vers les plages d'adresses IP suivantes :

Pour le trafic IPv4 :

  • 199.36.153.8/30
  • 34.126.0.0/18

Pour le trafic IPv6 :

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

Configurez les enregistrements DNS pour envoyer les requêtes aux adresses IP suivantes :

Pour le trafic IPv4 :

  • 199.36.153.4/30

Pour le trafic IPv6 :

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

Assurez-vous que votre réseau VPC dispose de routes vers les plages d'adresses IP suivantes :

Pour le trafic IPv4 :

  • 199.36.153.4/30
  • 34.126.0.0/18

Pour le trafic IPv6 :

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

Vérifiez que vos règles de pare-feu autorisent la sortie vers les plages d'adresses IP suivantes :

Pour le trafic IPv4 :

  • 199.36.153.4/30
  • 34.126.0.0/18

Pour le trafic IPv6 :

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

Configuration du réseau

Cette section décrit la configuration réseau de base requise pour qu'une VM de votre réseau VPC puisse accéder aux API et aux services de Google.

Options de domaine

Choisissez le domaine à utiliser pour accéder aux API et aux services Google.

Les adresses IP virtuelles private.googleapis.com et restricted.googleapis.com n'acceptent que les protocoles basés sur HTTP via TCP (HTTP, HTTPS et HTTP/2). Tous les autres protocoles, y compris MQTT et ICMP, ne sont pas compatibles.

Plages de domaines et d'adresses IP Services compatibles Exemple d'utilisation

Domaines par défaut.

Tous les noms de domaine des API et services Google, à l'exception de private.googleapis.com et restricted.googleapis.com.

Différentes plages d'adresses IP : vous pouvez déterminer un ensemble de plages d'adresses IP contenant les adresses possibles utilisées par les domaines par défaut en faisant référence aux adresses IP des domaines par défaut.

Autorise l'accès API à la plupart des API et services Google, qu'ils soient ou non compatibles avec VPC Service Controls. Inclut l'accès API à Google Maps, Google Ads et Google Cloud. Inclut les applications Web Google Workspace, telles que Gmail et Google Docs, et d'autres applications Web.

Les domaines par défaut sont utilisés lorsque vous ne configurez pas d'enregistrements DNS pour private.googleapis.com et restricted.googleapis.com.

private.googleapis.com

199.36.153.8/30

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

Autorise l'accès API à la plupart des API et services Google, qu'ils soient ou non compatibles avec VPC Service Controls. Inclut l'accès API à Google Maps, Google Ads, Google Cloud et à la plupart des autres API Google, y compris la liste suivante. Non compatible avec les applications Web Google Workspace, telles que Gmail et Google Docs. Non compatible avec les sites Web interactifs.

Noms de domaine correspondant à :

  • accounts.google.com (uniquement les chemins d'accès nécessaires à l'authentification 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 ou *.gcr.io
  • *.googleapis.com
  • *.gstatic.com
  • *.ltsapis.goog
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev ou *.pkg.dev
  • pki.goog ou *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

Utilisez private.googleapis.com pour accéder aux API et services Google à l'aide d'un ensemble d'adresses IP routables seulement depuis Google Cloud.

Choisissez private.googleapis.com dans les cas suivants :

  • Vous n'utilisez pas VPC Service Controls.
  • Vous utilisez VPC Service Controls, mais vous devez également accéder aux API et services Google qui ne sont pas compatibles avec VPC Service Controls.1

restricted.googleapis.com

199.36.153.4/30

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

Autorise l'accès API aux API et services Google compatibles avec VPC Service Controls.

Bloque l'accès aux API et services Google qui ne sont pas compatibles avec VPC Service Controls. Non compatible avec les API Google Workspace ni avec les applications Web Google Workspace telles que Gmail et Google Docs.

Utilisez restricted.googleapis.com pour accéder aux API et services Google à l'aide d'un ensemble d'adresses IP routables seulement depuis Google Cloud.

Choisissez restricted.googleapis.com si vous devez exclusivement accéder aux API et services Google compatibles avec VPC Service Controls.

Le domaine restricted.googleapis.com n'autorise pas l'accès aux API et services Google qui ne sont pas compatibles avec VPC Service Controls.1

1 Si vous devez limiter les utilisateurs aux API et services Google compatibles avec VPC Service Controls, utilisez restricted.googleapis.com. Bien que VPC Service Controls s'applique aux services compatibles et configurés, quel que soit le domaine que vous utilisez, restricted.googleapis.com offre une atténuation des risques supplémentaire pour l'exfiltration de données. Utiliser restricted.googleapis.com permet de refuser l'accès aux API et services Google qui ne sont pas compatibles avec VPC Service Controls. Pour en savoir plus, consultez la page Configurer une connectivité privée dans la documentation VPC Service Controls.

Prise en charge IPv6 pour private.googleapis.com et restricted.googleapis.com

Les plages d'adresses IPv6 suivantes peuvent être utilisées pour diriger le trafic des clients IPv6 vers les API et les services Google :

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

Envisagez de configurer les adresses IPv6 si vous souhaitez utiliser les domaines private.googleapis.com ou restricted.googleapis.com, et que vous indiquez à vos clients d'utiliser des adresses IPv6. Les clients IPv6 disposant également d'adresses IPv4 configurées peuvent accéder aux API et services Google à l'aide des adresses IPv4. Certains services n'acceptent pas le trafic provenant de clients IPv6.

Configuration DNS

Pour la connectivité aux API et services Google, vous pouvez choisir d'envoyer des paquets aux adresses IP associées à l'adresse IP virtuelle private.googleapis.com ou restricted.googleapis.com. Pour utiliser une adresse IP virtuelle, vous devez configurer un DNS de sorte que les VM de votre réseau VPC résolvent les requêtes vers *.googleapis.com et vers tous les autres domaines auxquels vous devez accéder. Par exemple, si vous utilisez Google Kubernetes Engine (GKE), vous devez également configurer *.gcr.io et *.pkg.dev, ou si vous utilisez Cloud Run, configurez *.run.app.

La section suivante décrit comment utiliser des zones DNS pour envoyer des paquets aux adresses IP associées à l'adresse IP virtuelle choisie.

Lorsque vous configurez des enregistrements DNS pour les adresses IP virtuelles, utilisez uniquement les adresses IP décrites dans les étapes suivantes. Ne combinez pas les adresses des adresses IP virtuelles private.googleapis.com et restricted.googleapis.com. Cela peut entraîner des défaillances intermittentes, car les services proposés diffèrent en fonction de la destination d'un paquet.

Créez une zone et des enregistrements DNS pour googleapis.com :

  1. Créez une zone DNS privée pour googleapis.com. Envisagez de créer une zone privée Cloud DNS à cette fin.
  2. Dans la zone googleapis.com, créez les enregistrements DNS suivants pour private.googleapis.com ou pour restricted.googleapis.com, selon le domaine que vous avez choisi d'utiliser.

    • Pour private.googleapis.com :

      1. Créez un enregistrement A pour private.googleapis.com pointant vers les adresses IP suivantes : 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11.

      2. Pour vous connecter à des API à l'aide d'adresses IPv6, configurez également pour private.googleapis.com un enregistrement AAAA qui pointe vers 2600:2d00:0002:2000::.

    • Pour restricted.googleapis.com :

      1. Créez un enregistrement A pour restricted.googleapis.com pointant vers les adresses IP suivantes : 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

      2. Pour vous connecter à des API à l'aide d'adresses IPv6, créez également pour restricted.googleapis.com un enregistrement AAAA qui pointe vers 2600:2d00:0002:1000::.

    Si vous utilisez Cloud DNS, ajoutez les enregistrements à la zone privée googleapis.com.

  3. Dans la zone googleapis.com, créez un enregistrement CNAME pour *.googleapis.com qui pointe vers le domaine que vous avez configuré : private.googleapis.com ou restricted.googleapis.com.

Certains services et API Google sont fournis à l'aide de noms de domaine supplémentaires, parmi lesquels *.gcr.io, *.gstatic.com, *.pkg.dev, pki.goog et *.run.app. Reportez-vous au tableau des domaines et plages d'adresses IP dans la section Options de domaine pour déterminer si les services du domaine supplémentaire sont accessibles via private.googleapis.com ou restricted.googleapis.com. Ensuite, procédez comme suit pour chacun des domaines supplémentaires :

  1. Créez une zone DNS pour DOMAIN (par exemple, gcr.io). Si vous utilisez Cloud DNS, assurez-vous que cette zone se trouve dans le même projet que votre zone privée googleapis.com.

  2. Dans cette zone DNS, créez les enregistrements DNS suivants pour private.googleapis.com ou pour restricted.googleapis.com, selon le domaine que vous avez choisi d'utiliser :

    • Pour private.googleapis.com :

      1. Créez un enregistrement A pour DOMAIN pointant vers les adresses IP suivantes : 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11.

      2. Pour vous connecter à des API à l'aide d'adresses IPv6, créez également pour DOMAIN un enregistrement AAAA qui pointe vers 2600:2d00:0002:2000::.

    • Pour restricted.googleapis.com :

      1. Créez un enregistrement A pour DOMAIN pointant vers les adresses IP suivantes : 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

      2. Pour vous connecter à des API à l'aide d'adresses IPv6, créez également pour restricted.googleapis.com un enregistrement AAAA qui pointe vers 2600:2d00:0002:1000::.

  3. Dans la zone DOMAIN, créez pour *.DOMAIN un enregistrement CNAME qui pointe vers DOMAIN. Par exemple, créez pour *.gcr.io un enregistrement CNAME qui pointe vers gcr.io.

Options de routage

Votre réseau VPC doit disposer de routes appropriées dont les sauts suivants correspondent à la passerelle Internet par défaut. Google Cloud n'est pas compatible avec le routage du trafic vers les API et les services Google via d'autres instances de VM ou des sauts suivants personnalisés. Bien que ces sauts suivants soient considérés comme une passerelle Internet par défaut, les paquets envoyés depuis les VM de votre réseau VPC aux API et services Google restent au sein du réseau de Google.

  • Si vous sélectionnez les domaines par défaut, vos instances de VM se connectent aux API et services Google à l'aide d'un sous-ensemble d'adresses IP externes de Google. Ces adresses IP sont routables publiquement, mais le chemin d'une VM d'un réseau VPC vers ces adresses reste au sein du réseau de Google.

  • Google ne publie pas de routes sur Internet vers les adresses IP utilisées par les domaines private.googleapis.com ou restricted.googleapis.com. Par conséquent, ces domaines ne sont accessibles que par les VM d'un réseau VPC ou de systèmes sur site connectés à un réseau VPC.

Si votre réseau VPC contient une route par défaut dont le saut suivant est la passerelle Internet par défaut, vous pouvez utiliser cette route pour accéder aux API et aux services Google sans avoir besoin de créer des routes personnalisées. Pour plus d'informations, consultez la section Routage avec une route par défaut.

Si vous avez remplacé une route par défaut (destination 0.0.0.0/0 ou ::0/0) par une route personnalisée dont le saut suivant ne correspond pas à la passerelle Internet par défaut, vous pouvez satisfaire les exigences de routage des API et services Google en utilisant le routage personnalisé à la place.

Si votre réseau VPC ne dispose pas de route IPv6 par défaut, vous n'aurez pas de connectivité IPv6 aux API et services Google. Ajoutez une route IPv6 par défaut pour autoriser la connectivité IPv6.

Routage avec une route par défaut

Chaque réseau VPC contient une route IPv4 par défaut (0.0.0.0/0) lors de sa création. Si vous activez des adresses IPv6 externes sur un sous-réseau, une route IPv6 par défaut générée par le système (::/0) est ajoutée à ce réseau VPC.

Les routes par défaut fournissent un chemin d'accès aux adresses IP des destinations suivantes :

  • Domaines par défaut.

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

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

Pour vérifier la configuration d'une route par défaut dans un réseau donné, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Routes.

    Accéder à la page Routes

  2. Filtrez la liste des routes pour afficher uniquement les routes du réseau que vous devez inspecter.

  3. Recherchez une route qui a pour destination 0.0.0.0/0 pour le trafic IPv4 ou ::/0 pour le trafic IPv6, et dont le saut suivant est la passerelle Internet par défaut.

gcloud

Exécutez la commande gcloud suivante, en remplaçant NETWORK_NAME par le nom du réseau à inspecter :

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

Si vous devez créer une route IPv4 de remplacement par défaut, consultez la section Ajouter une route statique.

Si vous devez créer une route IPv6 de remplacement par défaut, consultez la section Ajouter une route IPv6 par défaut.

Routage personnalisé

À la place d'une route par défaut, vous pouvez utiliser des routes statiques personnalisées, chacune ayant une destination plus spécifique et chacune utilisant le saut suivant de la passerelle Internet par défaut. Le nombre de routes dont vous avez besoin et leurs adresses IP de destination dépendent du domaine que vous choisissez.

  • Domaines par défaut : vous devez disposer de routes pour les plages d'adresses IP des API et services Google.
  • private.googleapis.com : 199.36.153.8/30 et 2600:2d00:0002:2000::/64.
  • restricted.googleapis.com : 199.36.153.4/30 et 2600:2d00:0002:1000::/64.

En outre, nous vous recommandons d'ajouter des routes pour 34.126.0.0/18 et 2001:4860:8040::/42. Pour en savoir plus, consultez le Récapitulatif des options de configuration.

Suivez ces instructions pour vérifier la configuration des routes personnalisées pour les API et les services Google d'un réseau donné.

Console

  1. Dans la console Google Cloud, accédez à la page Routes.

    Accéder à la page Routes

  2. Utilisez le champ de texte Table de filtrage pour filtrer la liste des routes en utilisant les critères suivants, en remplaçant NETWORK_NAME par le nom de votre réseau VPC.

    • Réseau : NETWORK_NAME
    • Type du saut suivant : default internet gateway
  3. Examinez la colonne Plage d'adresses IP de destination pour chaque route. Si vous avez choisi les domaines par défaut, recherchez plusieurs routes statiques personnalisées, une pour chaque plage d'adresses IP utilisée par le domaine par défaut. Si vous avez choisi private.googleapis.com ou restricted.googleapis.com, recherchez la plage d'adresses IP de ce domaine.

gcloud

Exécutez la commande gcloud suivante, en remplaçant NETWORK_NAME par le nom du réseau à inspecter :

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

Les routes sont répertoriées sous forme de tableau, sauf si vous personnalisez la commande avec l'option --format. Recherchez la destination de chaque route dans la colonne DEST_RANGE. Si vous avez choisi les domaines par défaut, recherchez plusieurs routes statiques personnalisées, une pour chaque plage d'adresses IP utilisée par le domaine par défaut. Si vous avez choisi private.googleapis.com ou restricted.googleapis.com, recherchez la plage d'adresses IP de ce domaine.

Si vous devez créer des routes, consultez la section Ajouter une route statique.

Configuration du pare-feu

La configuration de pare-feu de votre réseau VPC doit autoriser l'accès des VM aux adresses IP utilisées par les API et les services Google. La règle implicite allow egress répond à cette exigence.

Dans certaines configurations de pare-feu, vous devez créer des règles d'autorisation de sortie spécifiques. Par exemple, supposons que vous ayez créé une règle de refus du trafic sortant qui bloque le trafic vers toutes les destinations (0.0.0.0 pour IPv4 ou ::/0 pour IPv6). Dans ce cas, vous devez créer une règle de pare-feu autorisant la sortie avec une priorité supérieure à celle de la règle de refus de sortie pour chaque plage d'adresses IP utilisée par le domaine choisi pour les API et services Google.

En outre, nous vous recommandons d'inclure 34.126.0.0/18 et 2001:4860:8040::/42 dans votre règle de pare-feu autorisant le trafic sortant. Pour en savoir plus, consultez la section Récapitulatif des options de configuration.

Pour créer des règles de pare-feu, consultez la page Créer des règles de pare-feu. Vous pouvez limiter les VM auxquelles les règles de pare-feu s'appliquent lorsque vous définissez la cible de chaque règle d'autorisation du trafic sortant.

Adresses IP pour les domaines par défaut

Cette section explique comment créer la liste des plages d'adresses IP de domaine par défaut utilisées par les API et les services Google. Ces plages sont allouées de manière dynamique et changent souvent. Il n'est donc pas possible de définir des plages d'adresses IP spécifiques pour des services ou des API individuels. Pour maintenir la précision de la liste, configurez l'automatisation afin d'exécuter le script tous les jours. Comme solutions alternatives à l'utilisation d'une liste de plages d'adresses IP, envisagez d'utiliser l'adresse IP virtuelle private.googleapis.com ou Private Service Connect.

Suivez ces étapes pour déterminer les plages d'adresses IP utilisées par les domaines par défaut, tels que *.googleapis.com et *.gcr.io.

  • Google publie la liste complète des plages d'adresses IP mises à la disposition des utilisateurs sur Internet dans le fichier goog.json.

  • Google publie également une liste de plages d'adresses IP externes globales et régionales disponibles pour les ressources Google Cloud des clients dans le fichier cloud.json.

Les adresses IP utilisées par les domaines par défaut des API et des services Google correspondent à la liste des plages calculées en supprimant toutes les plages de cloud.json par rapport à celles de goog.json. Ces listes sont mises à jour fréquemment.

Vous pouvez utiliser le script Python suivant pour créer une liste de plages d'adresses IP, incluant les plages utilisées par les domaines par défaut pour les API et les services Google.

Pour en savoir plus sur l'exécution de ce script, consultez la page Exécuter.

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

Configuration de l'accès privé à Google

Vous pouvez activer l'accès privé à Google une fois que votre réseau VPC répond aux exigences réseau.

Activer l'accès privé à Google

Pour activer l'accès privé à Google, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le nom du réseau contenant le sous-réseau pour lequel vous devez activer l'accès privé à Google.

  3. Pour un sous-réseau existant :

    1. Cliquez sur le nom du sous-réseau. La page Détails du sous-réseau s'affiche.
    2. Cliquez sur Modifier.
    3. Dans la section Accès privé à Google, sélectionnez Activé.
    4. Cliquez sur Enregistrer.
  4. Pour un nouveau sous-réseau :

    1. Cliquez sur Ajouter un sous-réseau.
    2. Saisissez un nom.
    3. Sélectionnez une Région.
    4. Pour Type de pile d'adresses IP, sélectionnez IPv4 uniquement (pile simple) ou IPv4 et IPv6 (double pile).
    5. Saisissez une plage IPv4. Il s'agit de la plage d'adresses IPv4 principale du sous-réseau.

      Si vous sélectionnez une plage qui n'est pas une adresse RFC 1918, vérifiez qu'elle n'entre pas en conflit avec une configuration existante. Pour en savoir plus, consultez la section sur les plages de sous-réseaux IPv4.

    6. Si vous créez un sous-réseau à double pile, sélectionnez un type d'accès IPv6 : Interne ou Externe.

      Si vous souhaitez définir le type d'accès sur Interne, mais que l'option Interne n'est pas disponible, vérifiez qu'une plage IPv6 interne est attribuée sur le réseau.

    7. Effectuez des sélections supplémentaires pour que le nouveau sous-réseau réponde à vos besoins. Par exemple, vous devrez peut-être créer des plages d'adresses IP de sous-réseau secondaires ou activer les journaux de flux VPC.

    8. Sélectionnez Activé dans la section Accès privé à Google.

    9. Cliquez sur Ajouter.

gcloud

Pour un sous-réseau existant :

  1. Déterminez le nom et la région du sous-réseau. Pour répertorier les sous-réseaux d'un réseau particulier, utilisez la commande suivante :

    gcloud compute networks subnets list --filter=NETWORK_NAME
    
  2. Exécutez la commande suivante pour activer l'accès privé à Google :

    gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --enable-private-ip-google-access
    
  3. Vérifiez que l'accès privé à Google est activé en exécutant la commande suivante :

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

Dans toutes les commandes ci-dessus, remplacez les valeurs suivantes par des valeurs valides :

  • SUBNET_NAME : nom du sous-réseau
  • REGION : région du sous-réseau
  • NETWORK_NAME : nom du réseau VPC contenant le sous-réseau

Lorsque vous créez un sous-réseau, utilisez l'option --enable-private-ip-google-access pour activer l'accès privé à 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

Remplacez les éléments suivants par des valeurs valides :

  • SUBNET_NAME : nom du sous-réseau
  • REGION : région du sous-réseau
  • NETWORK_NAME : nom du réseau VPC contenant le sous-réseau
  • PRIMARY_IP_RANGE : plage d'adresses IP principale du sous-réseau
  • STACK_TYPE est le type de pile pour le sous-réseau : IPV4_ONLY ou IPV4_IPV6.
  • IPv6_ACCESS_TYPE est le type d'accès IPv6 : EXTERNAL ou INTERNAL. Ne spécifiez le type d'accès IPv6 que si vous avez également spécifié --stack-type=IPV4_IPV6.

Désactiver l'accès privé à Google

Pour désactiver l'accès privé à Google sur un sous-réseau existant, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le nom du réseau contenant le sous-réseau pour lequel vous devez désactiver l'accès privé à Google.

  3. Cliquez sur le nom d'un sous-réseau existant. La page Détails du sous-réseau s'affiche.

  4. Cliquez sur Modifier.

  5. Dans la section Accès privé à Google, sélectionnez Désactivé.

  6. Cliquez sur Enregistrer.

gcloud

  1. Déterminez le nom et la région du sous-réseau. Pour répertorier les sous-réseaux d'un réseau particulier, utilisez la commande suivante :

    gcloud compute networks subnets list \
        --filter=NETWORK_NAME
    
  2. Exécutez la commande suivante pour désactiver l'accès privé à Google :

    gcloud compute networks subnets update SUBNET_NAME \
        --region=REGION \
        --no-enable-private-ip-google-access
    
  3. Exécutez la commande suivante pour vérifier que l'accès privé à Google est désactivé :

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

Dans toutes les commandes ci-dessus, remplacez les valeurs suivantes par des valeurs valides :

  • SUBNET_NAME : nom du sous-réseau
  • REGION : région du sous-réseau
  • NETWORK_NAME : nom du réseau VPC contenant le sous-réseau

Étapes suivantes