Récupérer les erreurs liées à VPC Service Controls à partir des journaux d'audit

Cette page explique comment détecter les erreurs liées à VPC Service Controls à l'aide de Cloud Logging.

VPC Service Controls permet de limiter les risques d'exfiltration des données en isolant les services mutualisés Google Cloud. Pour en savoir plus, consultez la page Présentation de VPC Service Controls.

Déterminer si une erreur est due à VPC Service Controls

VPC Service Controls peut modifier les propriétés de Google Cloud et avoir des effets en cascade sur l'ensemble des services. Cela peut compliquer le débogage des problèmes, en particulier si vous ne savez pas quoi rechercher.

La propagation et la prise en compte des modifications apportées au périmètre de service peuvent prendre jusqu'à 30 minutes. Une fois les modifications propagées, l'accès aux services limités dans le périmètre n'est pas autorisé à traverser la limite du périmètre, sauf autorisation explicite.

Pour déterminer si une erreur est liée à VPC Service Controls, vérifiez si vous avez activé VPC Service Controls et si vous l'avez appliqué aux projets et aux services que vous tentez d'utiliser. Pour vérifier si les projets et les services sont protégés par VPC Service Controls, vérifiez la règle VPC Service Controls à ce niveau de la hiérarchie des ressources.

Prenons l'exemple d'un scénario dans lequel vous utilisez indirectement un service désigné comme service restreint par VPC Service Controls dans un projet situé à l'intérieur d'un périmètre de service. Dans ce cas, VPC Service Controls peut refuser l'accès.

Habituellement, les services propagent les messages d'erreur à partir de leurs dépendances. Si vous rencontrez l'une des erreurs suivantes, cela indique un problème avec VPC Service Controls.

  • Cloud Storage : 403: Request violates VPC Service Controls.

  • BigQuery : 403: VPC Service Controls: Request is prohibited by organization's policy.

  • Autres services : 403: Request is prohibited by organization's policy.

Utilisez l'identifiant unique de l'erreur

Contrairement à la console Google Cloud, l'outil de ligne de commande gcloud renvoie un ID unique pour les erreurs liées à VPC Service Controls. Pour localiser les entrées de journal correspondant à d'autres erreurs, filtrez les journaux à l'aide de métadonnées.

Une erreur générée par VPC Service Controls inclut un identifiant unique permettant d'identifier les journaux d'audit correspondants.

Pour obtenir des informations sur une erreur à l'aide de l'identifiant unique, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Cloud Logging du projet situé dans le périmètre de service ayant déclenché l'erreur.

    Accéder à Cloud Logging

  2. Dans le champ "Filtre de recherche", saisissez l'identifiant unique de l'erreur.

L'entrée de journal correspondante s'affiche.

Filtrer les journaux à l'aide de métadonnées

Vous pouvez utiliser l'explorateur de journaux pour rechercher les erreurs liées à VPC Service Controls. Vous pouvez récupérer les journaux à l'aide du langage de requête Logging. Pour en savoir plus sur la création de requêtes, consultez la page Créer des requêtes à l'aide du langage de requête Logging.

Console

Pour obtenir les erreurs liées à VPC Service Controls survenues au cours des dernières 24 heures dans Logging, procédez comme suit:

  1. Dans Google Cloud Console, accédez à la page Cloud Logging.

    Accéder à Cloud Logging

  2. Assurez-vous d'être dans le projet qui se trouve dans le périmètre de service.

  3. Dans le champ "Filtre de recherche", saisissez les informations suivantes:

    protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
    
  4. Dans le menu Ressource, sélectionnez Ressource auditée.

  5. Dans le menu du sélecteur de période, choisissez Dernières 24 heures.

  6. Facultatif: Pour rechercher les erreurs liées à VPC Service Controls survenues au cours d'une autre période, utilisez le menu du sélecteur de période.

gcloud

  • Pour obtenir les erreurs liées à VPC Service Controls survenues au cours des dernières 24 heures, exécutez la commande suivante:

    gcloud logging read 'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"'
    

    Par défaut, la commande read est limitée aux dernières 24 heures. Pour obtenir les journaux VPC Service Controls pour une période différente, exécutez l'une des commandes ci-dessous :

  • Pour récupérer les journaux générés pendant une certaine période à compter de la date du jour, exécutez la commande suivante:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"' \
      --freshness=DURATION
    

    DURATION est une période de temps mise en forme. Pour en savoir plus sur la mise en forme, consultez la section Formats de durée relative et d'heure pour gcloud CLI.

  • Pour récupérer toutes les erreurs liées à VPC Service Controls survenues au cours de la semaine passée, exécutez la commande suivante:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"' \
      --freshness=7d
    
  • Pour récupérer les journaux générés entre des dates spécifiques, exécutez la commande suivante:

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" AND
    timestamp>="START_DATETIME" AND
    timestamp<="END_DATETIME"'
    

    START_DATETIME et END_DATETIME sont des chaînes de date et d'heure mises en forme. Pour en savoir plus sur la mise en forme, consultez la section Formats de date et d'heure absolues pour gcloud CLI.

    Par exemple, la commande suivante permet d'obtenir toutes les erreurs liées à VPC Service Controls survenues entre le 22 et le 26 mars 2019 :

    gcloud logging read \
    'protoPayload.metadata.@type:"type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" AND
      timestamp>="2019-03-22T23:59:59Z" AND
      timestamp<="2019-03-26T00:00:00Z"'
    

Étapes suivantes