Utiliser VPC Service Controls
Cette page explique comment utiliser VPC Service Controls pour configurer un notebook Colab Enterprise dans un périmètre de service.
Présentation
VPC Service Controls est une Google Cloud fonctionnalité qui vous permet de configurer un périmètre pour vous protéger contre l'exfiltration de données.
VPC Service Controls offre une couche de défense supplémentaire pour les servicesGoogle Cloud , indépendamment de la protection fournie par Identity and Access Management (IAM).
Lorsque vous utilisez Colab Enterprise dans un périmètre de service, les environnements d'exécution sont soumis au périmètre de service. Par conséquent, pour exécuter du code de notebook qui interagit avec d'autres API et services Google, vous devez ajouter ces services au périmètre de service.
Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.
Limitations connues
Colab Enterprise utilise Dataform pour stocker les notebooks.
Pour en savoir plus sur l'utilisation de VPC Service Controls avec Dataform, consultez la section Configurer VPC Service Controls pour Dataform.
L'interface utilisateur de Colab Enterprise n'est accessible que depuis la console Google Cloud. Pour en savoir plus sur les limites de VPC Service Controls pour la console Google Cloud, consultez les limites de la console Google Cloud.
Si votre périmètre de service a besoin d'accéder aux services Vertex AI, consultez la section VPC Service Controls avec les limites de Colab Enterprise.
Rôles requis
Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour utiliser VPC Service Controls avec Colab Enterprise, demandez à votre administrateur d'attribuer les rôles IAM suivants à votre compte utilisateur sur le projet:
-
Éditeur Access Context Manager (
roles/accesscontextmanager.policyEditor
) -
Utilisateur Colab Enterprise (
roles/aiplatform.colabEnterpriseUser
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur les autorisations VPC Service Controls, consultez la section Contrôle des accès avec IAM.
Créer un périmètre de service
Créez un périmètre de service à l'aide de VPC Service Controls. Ce périmètre de service protège les ressources de services gérées par Google que vous spécifiez. Lors de la création du périmètre de service, procédez comme suit :
Au moment de l'ajout des projets au périmètre de service, ajoutez le projet qui contient vos notebooks Colab Enterprise ou créez des notebooks dans ce projet.
Au moment de l'ajout des services au périmètre de service, ajoutez les éléments suivants:
- API Vertex AI (
aiplatform.googleapis.com
) - API Dataform (
dataform.googleapis.com
)
- API Vertex AI (
Si vous avez créé le périmètre de service sans ajouter les projets et services nécessaires, consultez la section Gérer les périmètres de service et mettez le périmètre de service à jour.
Fournir un accès à l'interface utilisateur de Colab Enterprise
Comme l'interface utilisateur de Colab Enterprise (colab-embedded.cloud.google.com
) n'est accessible que par Internet, elle est considérée comme étant extérieure aux périmètres de service. Lorsque vous appliquez un périmètre de service, l'interface de la console Google Cloud correspondant aux services que vous protégez peut devenir partiellement ou totalement inaccessible. Par exemple, si vous protégez Colab Enterprise avec le périmètre, l'interface Colab Enterprise dans la console Google Cloud devient inaccessible.
Pour autoriser la console Google Cloud à accéder aux ressources protégées par un périmètre, vous devez créer un niveau d'accès pour une plage d'adresses IP publique incluant les machines des utilisateurs souhaitant utiliser Cloud Console avec des API protégées. Par exemple, vous pouvez ajouter la plage d'adresses IP publique de la passerelle NAT de votre réseau privé à un niveau d'accès, puis attribuer ce niveau d'accès au périmètre de service.
Si vous souhaitez limiter l'accès de la console Google Cloud au périmètre pour un groupe d'utilisateurs spécifique, vous pouvez également ajouter ces utilisateurs à un niveau d'accès. Dans ce cas, seuls les utilisateurs spécifiés pourront accéder à la console Google Cloud.
Configurer des services accessibles par VPC (facultatif)
Lorsque vous activez les services accessibles par VPC pour un périmètre, l'accès depuis les points de terminaison du réseau à l'intérieur de votre périmètre est limité à un ensemble de services que vous spécifiez.
Pour en savoir plus sur la façon de limiter l'accès dans votre périmètre à un ensemble spécifique de services uniquement, consultez la page Services accessibles par VPC.
Utiliser l'accès privé à Google avec votre réseau VPC (facultatif)
L'accès privé à Google offre une connectivité privée aux hôtes d'un réseau VPC ou sur site qui utilisent des adresses IP privées pour accéder aux API et services Google Cloud . Vous pouvez étendre un périmètre de service VPC Service Controls aux hôtes de ces réseaux afin de contrôler l'accès aux ressources protégées. Les hôtes d'un réseau VPC doivent posséder une adresse IP privée uniquement (pas d'adresse IP publique) et se trouver dans un sous-réseau avec l'accès privé à Google activé. Pour en savoir plus, consultez la section Connectivité privée à partir de réseaux sur site.
Pour pouvoir utiliser l'accès privé à Google avec votre réseau VPC, vous devez configurer certains enregistrements DNS.
Configurer les entrées DNS à l'aide de Cloud DNS
Les environnements d'exécution Colab Enterprise utilisent plusieurs domaines qu'un réseau VPC ne gère pas par défaut. À l'aide de Cloud DNS, ajoutez des enregistrements DNS pour faire en sorte que votre réseau VPC gère correctement les requêtes envoyées à ces domaines. Pour en savoir plus sur les routes VPC, consultez Routes.
Cette section explique comment créer une zone gérée pour un domaine, ajouter une entrée DNS qui acheminera la requête et exécuter la transaction. Répétez ces étapes pour chacun des différents domaines devant être capable de gérer les requêtes, en commençant par *.aiplatform.googleapis.com
.
Dans Cloud Shell ou dans tout environnement dans lequel la Google Cloud CLI est installée, saisissez les commandes suivantes de la CLI gcloud.
-
Pour créer une zone gérée privée pour l'un des domaines que votre réseau VPC doit gérer:
gcloud dns managed-zones create ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --dns-name=DNS_NAME. \ --description="Description of your managed zone"
Remplacez les éléments suivants :
-
ZONE_NAME
: nom de la zone à créer. Vous devez utiliser une zone distincte pour chaque domaine. Cette zone est utilisée dans chacune des étapes suivantes. -
PROJECT_ID
: ID du projet hébergeant votre réseau VPC. -
NETWORK_NAME
: nom du réseau VPC que vous avez créé précédemment. -
DNS_NAME
: partie du nom de domaine qui suit*.
. Par exemple, le nom DNS de*.aiplatform.googleapis.com
estaiplatform.googleapis.com
.
-
-
Lancez une transaction.
gcloud dns record-sets transaction start --zone=ZONE_NAME
-
Ajoutez l'enregistrement DNS A suivant afin de rediriger le trafic vers les adresses IP restreintes de Google.
gcloud dns record-sets transaction add \ --name=DNS_NAME. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=ZONE_NAME \ --ttl=300
-
Ajoutez l'enregistrement DNS CNAME suivant pour pointer vers l'enregistrement A que vous venez d'ajouter. Ainsi, tout le trafic correspondant au domaine est redirigé vers les adresses IP mentionnées à l'étape précédente.
gcloud dns record-sets transaction add \ --name=\*.DNS_NAME. \ --type=CNAME DNS_NAME. \ --zone=ZONE_NAME \ --ttl=300
-
Exécutez la transaction.
gcloud dns record-sets transaction execute --zone=ZONE_NAME
-
Répétez ces étapes pour chacun des domaines suivants. À chaque fois, remplacez ZONE_NAME et DNS_NAME par les valeurs appropriées pour le domaine. Les valeurs de PROJECT_ID et NETWORK_NAME doivent rester inchangées. N'oubliez pas que vous avez déjà effectué la configuration pour
*.aiplatform.googleapis.com
.*.aiplatform.googleapis.com
*.aiplatform-notebook.googleusercontent.com
*.aiplatform-notebook.cloud.google.com
Pour en savoir plus sur la configuration d'une connectivité privée, consultez la section Configurer une connectivité privée aux API et services Google.
Autoriser l'accès contextuel depuis l'extérieur du périmètre de service à l'aide de règles d'entrée
Vous pouvez autoriser l'accès contextuel aux ressources limitées par un périmètre en fonction d'attributs clients. Vous pouvez spécifier des attributs clients, tels que le type d'identité (compte de service ou utilisateur), l'identité, les données de l'appareil et l'origine du réseau (adresse IP ou réseau VPC).
Par exemple, vous pouvez configurer des règles d'entrée pour autoriser l'accès Internet aux ressources d'un périmètre en fonction de la plage d'adresses IPv4 et IPv6. Pour en savoir plus sur l'utilisation des règles d'entrée pour configurer l'accès contextuel, consultez la page Accès contextuel.
Configurer l'échange de données sécurisé à l'aide de règles d'entrée et de sortie
Vous ne pouvez inclure votre projet que dans un seul périmètre de service. Si vous souhaitez autoriser la communication au-delà des limites du périmètre, configurez des règles d'entrée et de sortie. Par exemple, vous pouvez spécifier des règles d'entrée et de sortie pour permettre aux projets de plusieurs périmètres de partager des journaux situés dans un autre périmètre. Pour en savoir plus sur les cas d'utilisation de l'échange de données sécurisé, consultez la page Échange de données sécurisé.
Étape suivante
En savoir plus sur VPC Service Controls
En savoir plus sur les environnements d'exécution Colab Enterprise