Résoudre les problèmes courants liés à VPC Service Controls liés aux 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 de 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 section Limites d'utilisation de VPC Service Controls avec Cloud Build.

Le compte de service Cloud Build ne peut pas accéder aux ressources protégées

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, celle-ci est exécutée dans un projet locataire en dehors de votre projet.

Les VM de calcul de Cloud Build qui génèrent des résultats de compilation se trouvent en dehors du périmètre VPC Service Controls, même si votre projet se trouve à l'intérieur de ce périmètre. 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 de 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 violation 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 indiquant le motif de la violation 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é comme situé 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 d'organisations différentes. Un périmètre ne peut contenir que des projets de son organisation parente. L'accès aux buckets Cloud Storage à partir de projets situés au sein d'un périmètre VPC Service Controls se trouvant dans une organisation différente est soumis à certaines limites.

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 contenant le bucket cible n'appartiennent pas au même périmètre, VPC Service Controls refuse la requête en indiquant le motif de la violation 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 accessible au public depuis un périmètre

Si vous essayez d'accéder à un bucket Cloud Storage accessible au public 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 réussi et cohérent à l'objet si nécessaire, 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 dans un périmètre VPC Service Controls.

Security Command Center ne peut pas envoyer de notifications à Pub/Sub

Toute tentative de publication de notifications Security Command Center dans un sujet Pub/Sub au sein d'un périmètre VPC Service Controls échoue avec un cas de non-respect RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Nous vous recommandons d'activer Security Command Center au niveau de l'organisation. VPC Service Controls ne considère pas une organisation parente comme faisant partie du périmètre de ses projets enfants. Pour que cela fonctionne, vous devez accorder un accès au périmètre à 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 se trouve pas dans 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 de Security Command Center envoyées à un sujet Pub/Sub, consultez la section Activer les notifications de résultats pour Pub/Sub.

Security Command Center ne peut pas analyser les ressources Compute Engine situées dans un périmètre

Security Command Center analyse les ressources Compute Engine de vos projets à l'aide du compte de service P4SA (par produit, par projet) service-{project_number}@gcp-sa-computescanning.iam.gserviceaccount.com. 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 règle d'entrée. Sinon, une erreur NO_MATCHING_ACCESS_LEVEL peut s'afficher.

Security Command Center ne peut pas 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 P4SA (compte de service 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 dans 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. Il 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 de clusters existant dans un périmètre avec des services accessibles activés peut ne pas fonctionner.

Nous vous déconseillons d'utiliser des services accessibles. Lorsque vous utilisez une adresse IP virtuelle restreinte, faites une exception pour que autoscaling.googleapis.com accède à une 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 dans 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 de requête BigQuery

Si vous essayez de restreindre l'exportation de données protégées de 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 de BigQuery, les résultats sont stockés dans la mémoire locale de votre ordinateur, comme le cache du navigateur. Cela signifie que les résultats se trouvent désormais en dehors de VPC Service Controls. Vous pouvez donc éventuellement les enregistrer 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, limitez les autorisations IAM des utilisateurs en supprimant l'autorisation bigquery.tables.export. Notez que cette opération 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 erreurs liées à l'utilisation de VPC Service Controls avec Anthos Service Mesh, consultez la page Résoudre les problèmes liés à VPC Service Controls pour Anthos Service Mesh géré.

La configuration de GKE Enterprise Config Controller génère un cas de non-respect de la sortie

Le processus de configuration de GKE Enterprise Config Controller est susceptible d'échouer si aucune configuration de sortie ne permet d'atteindre 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

Le cas de non-respect du trafic 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 dans un périmètre VPC Service Controls.

Requêtes de l'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 compte de service géré par Google lors de la copie de l'image Docker détenue par Artifact Registry dans 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 VPC Service Controls, vous pouvez rencontrer des erreurs de sortie dans les journaux du compte de service géré par Google 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 le compte 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 dans un périmètre VPC Service Controls.

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

Si vous avez autorisé l'accès à l'API de 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 en raison du non-respect NO_MATCHING_ACCESS_LEVEL du compte de service par produit et par projet (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-le à un niveau d'accès.

Étapes suivantes