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

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

VPC Service Controls permet de limiter les risques d'exfiltration de données en isolant les services Google Cloud multi-locataires. 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 ont des effets en cascade entre les services. Cela peut rendre le débogage des problèmes difficile, en particulier si vous ne savez pas quoi rechercher.

Les modifications du périmètre de service peuvent prendre jusqu'à 30 minutes se propagent et prennent effet. Une fois les modifications propagées, l'accès aux services restreints dans le périmètre n'est pas autorisé à franchir la limite du périmètre, sauf s'il est explicitement autorisé.

Pour déterminer si une erreur est liée à VPC Service Controls, vérifiez que vous avez activé cette solution et que vous l'avez appliquée aux projets et services que vous tentez d'utiliser. Pour vérifier si les projets et les services sont protégés par VPC Service Controls, consultez 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éfini comme service restreint par VPC Service Controls dans un projet qui à 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 rencontrer 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.

Utiliser 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 VPC Service Controls. Pour localiser les entrées de journal correspondant à d'autres erreurs, filtrez les 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 qui a déclenché l'erreur.

    Accéder à Cloud Logging

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

Vous pouvez voir l'entrée de journal correspondante.

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 utiliser le langage de requête Logging pour récupérer les journaux. Pour en savoir plus sur la création de requêtes, consultez la section 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 la console Google Cloud, accédez à la page Cloud Logging.

    Accéder à Cloud Logging

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

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

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

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

  6. (Facultatif) Pour identifier les erreurs liées à VPC Service Controls qui se sont produites au cours d'une autre période, utilisez la période du sélecteur.

gcloud

  • Pour obtenir les erreurs liées à VPC Service Controls survenues au cours des dernières 24 heures, exécutez la 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 au cours d'une certaine période à partir du à 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 les formats de durée et d'heure relatifs pour la gcloud CLI.

  • Pour récupérer toutes les erreurs liées à VPC Service Controls qui se sont produites dans le depuis la semaine dernière, 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 les formats de date et d'heure absolue pour la CLI gcloud.

    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"'
    

Étape suivante