Résoudre les problèmes courants liés à VPC Service Controls avec les services Google Cloud

Cette page fournit des solutions aux problèmes que vous pouvez rencontrer lors de l'utilisation d'un service Google Cloud situé dans un périmètre VPC Service Controls.

Problèmes liés à Cloud Build

L'utilisation de ressources Cloud Build dans un périmètre VPC Service Controls présente certaines limites connues. Pour en savoir plus, consultez la page Limites de l'utilisation de VPC Service Controls avec Cloud Build.

L'accès aux ressources protégées est bloqué pour le compte de service Cloud Build

Cloud Build utilise le compte de service Cloud Build pour exécuter des compilations en votre nom. Par défaut, lorsque vous exécutez une compilation sur Cloud Build, elle s'exécute dans un projet locataire situé en dehors de votre projet.

Les VM de calcul de Cloud Build qui génèrent des sorties de compilation se trouvent en dehors du périmètre de VPC Service Controls, même si votre projet se trouve à l'intérieur de celui-ci. Par conséquent, pour que vos compilations puissent accéder aux ressources situées dans le périmètre, vous devez accorder au compte de service Cloud Build l'accès au périmètre VPC Service Controls en l'ajoutant au niveau d'accès ou à la règle d'entrée.

Pour en savoir plus, consultez la section Accorder au compte de service Cloud Build l'accès au périmètre VPC Service Controls.

Problèmes liés à Cloud Storage

Refus lors du ciblage d'un bucket de journalisation Cloud Storage inexistant

Si le bucket de journalisation spécifié n'existe pas, VPC Service Controls refuse l'accès pour le motif de non-conformité RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Vous pouvez consulter le journal du refus d'accès à l'aide de l'identifiant unique VPC Service Controls (vpcServiceControlUniqueIdentifier). Voici un exemple de journal avec le motif de non-conformité RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER:

"serviceName": "storage.googleapis.com",
"methodName": "google.storage.buckets.update",
"resourceName": "projects/325183452875",
"metadata": {
  "violationReason": "RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER",
  ...
  "egressViolations": [
    {
      "sourceType": "Resource",
      "targetResource": "projects/0/buckets/this-bucket-does-not-exist",
      "source": "projects/325183452875/buckets/bucket-in-same-project",
      "servicePerimeter": "accessPolicies/875573620132/servicePerimeters/prod_perimeter"
    }]}

Si le champ targetResource de l'objet egressViolations affiche une cible avec projects/0/buckets, cela déclenche toujours un refus, car projects/0 n'existe pas et est considéré en dehors du périmètre de service.

Refus lors de l'accès aux buckets Cloud Storage publics appartenant à Google

Un périmètre de service ne peut pas contenir de projets provenant de différentes organisations. Un périmètre ne peut contenir que des projets de son organisation parente. Il existe certaines limites lorsque vous souhaitez accéder aux buckets Cloud Storage à partir de projets situés dans un périmètre VPC Service Controls appartenant à une organisation différente.

C'est par exemple le cas lorsque vous souhaitez accéder à des buckets Cloud Storage appartenant à Google. Étant donné que votre projet et le projet appartenant à Google qui contient le bucket cible ne se trouvent pas dans le même périmètre, VPC Service Controls refuse la requête avec le motif de non-respect RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Pour résoudre ce problème, vous pouvez créer des règles d'entrée et de sortie.

Accéder à un bucket Cloud Storage publiquement accessible depuis un périmètre

Si vous essayez d'accéder à un bucket Cloud Storage accessible publiquement depuis un périmètre de service, VPC Service Controls peut bloquer vos requêtes en générant une violation de sortie.

Pour garantir un accès cohérent et réussi à l'objet selon les besoins, nous devons appliquer une règle de sortie au périmètre de service concerné.

Problèmes liés à Security Command Center

Cette section répertorie les problèmes que vous pouvez rencontrer lors de l'utilisation de ressources Security Command Center situées à l'intérieur d'un périmètre VPC Service Controls.

Security Command Center a bloqué l'envoi de notifications à Pub/Sub

Toute tentative de publication de notifications Security Command Center dans un sujet Pub/Sub à l'intérieur d'un périmètre VPC Service Controls échoue avec une erreur RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Nous vous recommandons d'activer Security Command Center au niveau de l'organisation. VPC Service Controls ne tient pas compte d'une organisation parente dans le périmètre de ses projets enfants. Pour que cela fonctionne, vous devez accorder un accès périmétrique à Security Command Center.

Pour contourner ce problème, vous pouvez effectuer l'une des opérations suivantes:

  • Utilisez un sujet Pub/Sub dans un projet qui ne fait pas partie d'un périmètre de service.
  • Supprimez l'API Pub/Sub du périmètre de service jusqu'à ce que la configuration des notifications soit terminée.

Pour en savoir plus sur l'activation des notifications Security Command Center envoyées à un sujet Pub/Sub, consultez la page Activer les notifications de résultat pour Pub/Sub.

Security Command Center ne peut pas analyser les ressources Compute Engine à l'intérieur d'un périmètre

Security Command Center analyse les ressources Compute Engine de vos projets à l'aide du compte de service P4SA (P4SA) service-{project_number}@gcp-sa-computescanning.iam.gserviceaccount.com pour chaque produit et par projet. Pour que Security Command Center puisse accéder aux ressources situées à l'intérieur du périmètre, le P4SA doit être ajouté à votre niveau d'accès ou à votre règle d'entrée. Sinon, une erreur NO_MATCHING_ACCESS_LEVEL peut s'afficher.

Security Command Center n'est pas autorisé à analyser les ressources situées à l'intérieur d'un périmètre de service

Security Health Analytics analyse les ressources de vos projets à l'aide du compte de service P4SA (par produit et par projet) service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com. Pour que Security Command Center puisse accéder aux ressources situées à l'intérieur du périmètre, le compte P4SA doit être ajouté à votre niveau d'accès ou à votre règle d'entrée. Sinon, l'erreur NO_MATCHING_ACCESS_LEVEL s'affiche.

Problèmes liés à Google Kubernetes Engine

Cette section répertorie les problèmes que vous pouvez rencontrer lors de l'utilisation de ressources Google Kubernetes Engine situées à l'intérieur d'un périmètre VPC Service Controls.

L'autoscaler ne fonctionne pas dans les périmètres où les services accessibles et les services restreints sont activés

Le autoscaling.googleapis.com n'est pas intégré à VPC Service Controls et ne peut donc pas être ajouté aux services restreints ni aux services accessibles. Il n'est pas possible d'autoriser l'API autoscaling.googleapis.com dans les services accessibles. Par conséquent, l'autoscaler des clusters situés dans un périmètre pour lequel les services accessibles sont activés peut ne pas fonctionner.

Nous vous déconseillons d'utiliser des services accessibles. Lorsque vous utilisez une adresse IP virtuelle restreinte, créez une exception pour que autoscaling.googleapis.com accède à l'adresse IP virtuelle privée dans un périmètre contenant un cluster avec autoscaling.

Problèmes liés à BigQuery

Cette section répertorie les problèmes que vous pouvez rencontrer lors de l'utilisation de ressources BigQuery situées à l'intérieur d'un périmètre VPC Service Controls.

Les restrictions de périmètre VPC Service Controls ne s'appliquent pas à l'exportation des résultats des requêtes BigQuery

Si vous essayez de limiter l'exportation de données protégées depuis BigQuery vers Google Drive, Google Sheets ou Looker Studio, vous constaterez peut-être un écart par rapport au comportement attendu. Lorsque vous exécutez une requête à partir de l'interface utilisateur BigQuery, les résultats sont stockés dans la mémoire locale de votre machine, telle que le cache du navigateur. Cela signifie que les résultats se trouvent désormais en dehors de VPC Service Controls. Vous pouvez donc éventuellement enregistrer les résultats dans un fichier CSV ou dans Google Drive.

Dans ce scénario, VPC Service Controls fonctionne comme prévu, car le résultat est exporté depuis un ordinateur local situé en dehors du périmètre de service, mais la restriction globale des données BigQuery est contournée.

Pour résoudre ce problème, restreignez les autorisations IAM pour les utilisateurs en supprimant l'autorisation bigquery.tables.export. Notez que cela désactive toutes les options d'exportation.

Problèmes liés à GKE Enterprise

Cette section répertorie les problèmes que vous pouvez rencontrer lors de l'utilisation de ressources GKE Enterprise situées dans un périmètre VPC Service Controls.

Pour résoudre les problèmes liés à l'utilisation de VPC Service Controls avec Cloud Service Mesh, consultez la page Résoudre les problèmes liés à VPC Service Controls pour le service Cloud Service Mesh géré.

La configuration de GKE Enterprise Config Controller génère une violation de sortie

Le processus de configuration de GKE Enterprise Config Controller devrait échouer si aucune configuration de sortie ne permet d'accéder à containerregistry.googleapis.com avec la méthode google.containers.registry.read dans un projet situé en dehors du périmètre.

Pour résoudre cette erreur, créez la règle de sortie suivante:

From:
  Identities:ANY_IDENTITY
To:
  Projects =
    NNNNNNNNNNNN
  Service =
  Service name: containerregistry.googleapis.com
  Service methods:
    containers.registry.read

La violation de sortie disparaît une fois que vous avez ajouté la règle au périmètre enfreint.

Problèmes liés à Container Registry

Cette section répertorie les problèmes que vous pouvez rencontrer lors de l'utilisation de ressources Container Registry situées à l'intérieur d'un périmètre VPC Service Controls.

Requêtes API Container Registry bloquées par VPC Service Controls alors qu'elles sont autorisées dans une règle d'entrée ou de sortie

Si vous avez autorisé l'accès à Container Registry à l'aide de règles d'entrée avec le champ identity_type défini sur ANY_USER_ACCOUNT ou ANY_SERVICE_ACCOUNT, l'accès est bloqué par VPC Service Controls.

Pour résoudre ce problème, définissez le champ identity_type sur ANY_IDENTITY dans la règle d'entrée ou de sortie.

Erreurs de sortie d'un agent de service lors de la copie d'une image Docker appartenant à Artifact Registry vers un projet situé dans un périmètre

Lorsque vous essayez de copier une image appartenant à Artifact Registry dans votre projet situé dans un périmètre de VPC Service Controls, vous pouvez rencontrer des erreurs de sortie dans les journaux de l'agent de service cloud-cicd-artifact-registry-copier@system.gserviceaccount.com. Cette erreur de sortie se produit généralement lorsque la règle de périmètre est en mode de simulation.

Vous pouvez résoudre ce problème en créant une règle de sortie qui autorise l'agent de service cloud-cicd-artifact-registry-copier@system.gserviceaccount.com à accéder au service storage.googleapis.com dans le projet mentionné dans les journaux d'erreurs de VPC Service Controls.

Problèmes liés à Vertex AI

Cette section répertorie les problèmes que vous pouvez rencontrer lors de l'utilisation de ressources Vertex AI situées à l'intérieur d'un périmètre VPC Service Controls.

Les requêtes API des notebooks gérés par l'utilisateur sont bloquées par VPC Service Controls alors qu'elles sont autorisées dans une règle d'entrée ou de sortie

Si vous avez autorisé l'accès à l'API des notebooks gérés par l'utilisateur à l'aide d'une règle d'entrée et que vous avez défini identity_type sur ANY_USER_ACCOUNT ou ANY_SERVICE_ACCOUNT, VPC Service Controls bloque l'accès à l'API.

Pour résoudre ce problème, définissez le champ identity_type sur ANY_IDENTITY dans la règle d'entrée ou de sortie.

Problèmes liés à Spanner

La sauvegarde de la base de données Spanner est bloquée par la violation NO_MATCHING_ACCESS_LEVEL du compte de service P4SA (P4SA) service-PROJECT_NUMBER@gcf-admin-robot.iam.gserviceaccount.com.

Pour résoudre ce problème, ajoutez une règle d'entrée avec l'agent de service mentionné ci-dessus ou ajoutez-la à un niveau d'accès.

Étapes suivantes