Comprendre et utiliser les journaux Access Transparency

Cette page décrit le contenu des entrées de journal Access Transparency, et explique comment les afficher et les utiliser.

Les journaux Access Transparency en détail

Les journaux Access Transparency peuvent être intégrés à vos outils de gestion des informations et des événements de sécurité (SIEM) existants afin d'automatiser les contrôles que vous souhaitez effectuer sur les actions du personnel Google lorsqu'il accède à votre contenu. Les journaux Access Transparency sont disponibles dans la console Google Cloud avec vos journaux Cloud Audit Logs.

Les entrées de journal Access Transparency incluent les types d'informations suivants :

  • La ressource et l'action affectées
  • Le moment où l'action a été effectuée
  • Le motif de l'action (par exemple, le numéro de dossier associé à une demande d'assistance)
  • Des données concernant les personnes agissant sur le contenu (par exemple, la position géographique du personnel de Google)

Activer Access Transparency

Pour savoir comment activer Access Transparency pour votre organisation Google Cloud , consultez Activer Access Transparency.

Afficher les journaux Access Transparency

Une fois que vous avez configuré Access Transparency pour votre organisation Google Cloud, vous pouvez définir des contrôles d'accès aux journaux Access Transparency en attribuant le rôle Lecteur des journaux privés à un utilisateur ou à un groupe. Pour en savoir plus, consultez le guide du contrôle des accès de Cloud Logging.

Pour afficher les journaux Access Transparency, utilisez le filtre de journalisation Google Cloud Observability suivant.

logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Faccess_transparency"

Pour découvrir comment afficher vos journaux Access Transparency dans l'explorateur de journaux, consultez la page Utiliser l'explorateur de journaux.

Vous pouvez également surveiller les journaux à l'aide de l'API Cloud Monitoring ou des fonctions Cloud Run. Pour commencer, consultez la documentation de Cloud Monitoring.

Facultatif : créez une métrique basée sur les journaux, puis configurez une règle d'alerte pour être rapidement informé en cas de problèmes révélés par ces journaux.

Exemple d'entrée de journal Access Transparency

Voici un exemple d'entrée de journal Access Transparency :

{
 insertId:  "abcdefg12345"
 jsonPayload: {
  @type:  "type.googleapis.com/google.cloud.audit.TransparencyLog"
  location: {
   principalOfficeCountry:  "US"
   principalEmployingEntity:  "Google LLC"
   principalPhysicalLocationCountry:  "CA"
  }
  principalJobTitle: "Engineering"
  product: [
   0:  "Cloud Storage"
  ]
  reason: [
    detail:  "Case number: bar123"
    type:  "CUSTOMER_INITIATED_SUPPORT"
  ]
  permissionDetails:[
    0: {
     permissionType: "DATA_READ"
     logAccessed: false
   }
   1: {
     permissionType: "ADMIN_READ"
     logAccessed: true
    }
  ]
  eventId: "asdfg12345asdfg12345asdfg12345"
  accesses: [
   0: {
    methodName: "GoogleInternal.Read"
    resourceName: "//googleapis.com/storage/buckets/BUCKET_NAME/objects/foo123"
    }
  ]
  accessApprovals: [
   0: "projects/123/approvalRequests/abcdef12345"
  ]
 }
 logName:  "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Faccess_transparency"
 operation: {
  id:  "12345xyz"
 }
 receiveTimestamp:  "2017-12-18T16:06:37.400577736Z"
 resource: {
  labels: {
   project_id:  "1234567890"
  }
  type:  "project"
 }
 severity:  "NOTICE"
 timestamp:  "2017-12-18T16:06:24.660001Z"
}

Description des champs de journal

Champ Description
insertId Identifiant unique pour le journal.
@type Identifiant de journal Access Transparency.
principalOfficeCountry Code de pays ISO 3166-1 alpha-2 du pays dans lequel l'accesseur dispose d'un bureau permanent, ?? si l'emplacement n'est pas disponible ou que l'identifiant de continent à trois caractères du personnel de Google correspond à un pays à faible population.
principalEmployingEntity Entité qui emploie le personnel de Google effectuant l'accès (par exemple, Google LLC).
principalPhysicalLocationCountry Code de pays ISO 3166-1 alpha-2 du pays à partir duquel l'accès a été effectué, ?? si l'emplacement n'est pas disponible ou que l'identifiant de continent à trois caractères du personnel de Google correspond à un pays à faible population.
principalJobTitle Famille de fonctions du personnel Google effectuant l'accès.
product Produit Google Cloud du client consulté.
reason:detail Détail du motif (par exemple, un ID de demande d'assistance).
reason:type Accédez au type de motif, par exemple, CUSTOMER_INITIATED_SUPPORT).
permissionDetails Détails sur les autorisations associées à un accès. Jusqu'à deux détails permissionType peuvent être présents. Pour en savoir plus, consultez Valeurs pour les détails des autorisations.
accesses:methodName Type d'accès. Par exemple, GoogleInternal.Read. Pour en savoir plus sur les méthodes qui peuvent apparaître dans le champ methodName, consultez Valeurs du champ accesses: methodName.
accesses:resourceName Nom de la ressource qui a fait l'objet de l'accès.
accessApprovals Inclut les noms de ressources des demandes d'approbation de l'accès qui ont approuvé l'accès. Ces demandes sont soumises à des exclusions et à des services compatibles.

Ce champ n'est renseigné que si l'approbation de l'accès est activée pour les ressources consultées. Ce champ ne sera pas renseigné pour les journaux Access Transparency publiés avant le 24 mars 2021.
logName Nom de l'emplacement du journal.
operation:id ID du cluster du journal.
receiveTimestamp Heure à laquelle l'accès a été enregistré par le pipeline de journalisation.
project_id Projet associé à la ressource ayant fait l'objet d'un accès.
type Type de ressource ayant fait l'objet d'un accès (par exemple, project).
eventId ID d'événement unique associé à une justification d'événement d'accès unique (par exemple, une demande d'assistance unique). Toutes les accès enregistrés dans la même justification ont la même valeur event_id.
severity Niveau de gravité du journal.
timestamp Date et heure de création du journal.

Valeurs du champ "permissionDetails"

Les informations suivantes sur les autorisations sont disponibles dans les journaux Access Transparency :

  • permissionType : indique le type d'autorisation IAM (Identity and Access Management) associé aux données auxquelles l'administrateur Google a accès. Par exemple, vous trouverez les types d'autorisations pour chaque méthode d'API publique pour Cloud SQL dans la documentation SQL. Les types d'autorisation indiquent l'autorisation maximale présente, même si un accès aurait été possible avec un type d'autorisation inférieur. -- test
  • is_log_access : ce champ indique si une autorisation d'administrateur ou d'accès en lecture aux données est limitée aux accès aux journaux. Par exemple, un accès data_read aux journaux Log Analytics est accompagné de "is_log_access = true", ce qui indique que l'autorisation data_read est limitée aux données de journaux.
Type d'autorisation IAM Description Exemples
"Admin" Autorisations d'accès limitées à la configuration et aux métadonnées.
admin_read Indique un accès en lecture limité à une configuration, un journal ou des données similaires. Pour en savoir plus, consultez la section Type d'autorisation IAM.
admin_write Indique un accès en lecture ou en écriture limité à une configuration, un journal ou des données similaires. Pour en savoir plus, consultez la section Type d'autorisation IAM.
"Données" Accès pouvant contenir des autorisations d'accès aux données fournies par l'utilisateur.
data_read Indique un accès en lecture qui peut contenir des données client. Un accès de type "data_read" indique que l'administrateur était autorisé à accéder aux données client, mais ne confirme pas que ces données ont été consultées. Pour en savoir plus, consultez la section Type d'autorisation IAM.
data_write Indique un accès en lecture ou en écriture qui peut contenir des Données client. Un accès de type "data_write" indique que l'administrateur peut être autorisé à modifier les données client. Toutefois, cela ne confirme pas que les données client ont été consultées ou modifiées. De plus, si le type d'autorisation ne peut pas être vérifié, l'accès sera enregistré en tant que data_write. Pour en savoir plus, consultez la section Type d'autorisation IAM.
is_log_access Description
true Indique un accès limité à la lecture des données de journalisation. Cette propriété étend le champ permissionType. Les accès marqués "true" indiquent que l'accès se limite aux données de journalisation, sans accès direct aux données.
false Indique que l'accès ne se limite pas à la lecture des journaux.

Valeurs du champ accesses:methodNames

Les méthodes suivantes peuvent apparaître dans le champ accesses:methodNames des journaux Access Transparency :

  • Méthodes standards : ces méthodes sont List, Get, Create, Update et Delete. Pour en savoir plus, consultez Méthodes standards.
  • Méthodes personnalisées : les méthodes personnalisées font référence aux méthodes API en plus des cinq méthodes standards. Les méthodes personnalisées courantes incluent Cancel, BatchGet, Move, Search et Undelete. Pour en savoir plus, consultez Méthodes personnalisées.
  • Méthodes GoogleInternal : voici des exemples de méthodes GoogleInternal qui apparaissent dans le champ accesses:methodNames :
Nom de la méthode Description Exemples
GoogleInternal.Read Indique une action de lecture effectuée sur le contenu client avec une justification métier valide. L'action de lecture se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode ne modifie pas le contenu client. Lecture des autorisations IAM.
GoogleInternal.Write Indique une action d'écriture effectuée sur le contenu client avec une justification commerciale valide. L'action d'écriture se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode permet de mettre à jour le contenu et/ou les configurations des clients.
  • Définir des autorisations IAM pour une ressource
  • Suspendre une instance Compute Engine
GoogleInternal.Create Indique une action de création effectuée sur le contenu client avec une justification métier valide. L'action de création se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode permet de créer du contenu client.
  • Créer un bucket Cloud Storage
  • Créer un sujet Pub/Sub
GoogleInternal.Delete Indique une action de suppression effectuée sur le contenu client à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode modifie le contenu et/ou les configurations des clients.
  • Supprimer un objet Cloud Storage
  • Supprimer une table BigQuery
GoogleInternal.List Indique une action de liste effectuée sur le contenu client avec une justification métier valide. L'action de liste se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode ne modifie pas le contenu ni les configurations des clients.
  • Lister les instances Compute Engine d'un client
  • Lister les jobs Dataflow d'un client
GoogleInternal.Update Indique une modification apportée au contenu client avec une justification métier valide. L'action de mise à jour se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode modifie le contenu et/ou les configurations des clients. Mise à jour des clés HMAC dans Cloud Storage.
GoogleInternal.Get Indique une action de récupération effectuée sur le contenu client avec une justification métier valide. L'action "get" se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode ne modifie pas le contenu ni les configurations des clients.
  • Récupérer la stratégie IAM d'une ressource
  • Récupérer le job Dataflow d'un client.
GoogleInternal.Query Indique une action de requête effectuée sur le contenu client avec une justification métier valide. L'action de requête se produit à l'aide d'une API interne spécialement conçue pour administrer les services Google Cloud . Cette méthode ne modifie pas le contenu ni les configurations des clients.
  • Exécuter une requête BigQuery
  • Recherche dans la console de débogage AI Platform sur le contenu client.

Les accès GoogleInternal sont strictement réservés au personnel autorisé pour un accès justifié et auditable. La présence d'une méthode n'indique pas sa disponibilité pour tous les rôles. Les organisations qui souhaitent renforcer le contrôle de l'accès administratif à un projet ou à une organisation peuvent activer Access Approval pour autoriser ou refuser les accès en fonction de leurs détails. Par exemple, les utilisateurs Access Approval peuvent choisir d'autoriser uniquement les demandes avec la justification CUSTOMER_INITIATED_SUPPORT pour les demandes effectuées par un employé Google. Pour en savoir plus, consultez Présentation d'Approbation de l'accès.

Si un événement répond à des critères stricts d'accès d'urgence, Access Approval peut enregistrer cet accès d'urgence avec l'état auto approved. Access Transparency et Access Approval sont spécifiquement conçus pour inclure une journalisation ininterrompue dans les scénarios d'accès d'urgence.

Si vous souhaitez mieux contrôler la sécurité des données de vos charges de travail, nous vous recommandons d'utiliser Assured Workloads. Les projets Assured Workloads offrent des fonctionnalités améliorées telles que la résidence des données, les contrôles souverains et l'accès à des fonctionnalités telles que le calcul confidentiel dans Compute Engine. Il utilise les justifications d'accès aux clés pour les clés de chiffrement gérées en externe.

Codes de motifs de justification

Motif Description
CUSTOMER_INITIATED_SUPPORT Le client a initié une demande d'assistance (par exemple, "Numéro de la demande : ####").
GOOGLE_INITIATED_SERVICE

Fait référence à l'accès initié par Google pour la gestion et le dépannage du système. Le personnel Google peut accorder ce type d'accès pour les raisons suivantes :

  • Pour effectuer le débogage technique nécessaire à une demande d'assistance ou à une enquête complexe.
  • Pour résoudre les problèmes techniques, tels qu'un échec de stockage ou une corruption de données.
  • Assistance proactive des équipes Technical Account Management. **Taguée avec le détail du motif "Assistance TAM"**
THIRD_PARTY_DATA_REQUEST Google a initié un accès en réponse à une demande légale ou à un acte de procédure. Cela inclut les actes de procédure à l'initiative d'un client demandant à Google d'accéder à ses données.
GOOGLE_INITIATED_REVIEW Accès initié par Google pour une opération concernant la sécurité, la fraude, les abus ou la mise conformité, telle que :
  • assurer la sûreté et la sécurité des comptes et des données client ;
  • vérifier si les données sont touchées par un événement susceptible d'affecter la sécurité du compte (par exemple, les infections par des logiciels malveillants) ;
  • Vérifier si le client utilise les services Google conformément aux conditions d'utilisation de Google
  • enquêter sur les réclamations d'autres utilisateurs et clients, ou sur d'autres signes d'activité abusive ;
  • vérifier que les services Google sont utilisés de manière cohérente avec les régimes de conformité pertinents (par exemple, les réglementations contre le blanchiment d'argent).
GOOGLE_RESPONSE_TO_PRODUCTION_ALERT

Fait référence à un accès initié par Google pour maintenir la fiabilité du système. Le personnel Google peut accorder ce type d'accès pour les raisons suivantes :

  • Enquête pour confirmer qu'une suspicion d'indisponibilité du service n'affecte pas le client.
  • Pour assurer la sauvegarde et la récupération en cas d'indisponibilité et de panne du système.

Surveiller les journaux Access Transparency

Vous pouvez surveiller les journaux Access Transparency à l'aide de l'API Cloud Monitoring. Pour commencer, consultez la documentation Monitoring.

Vous pouvez configurer une métrique basée sur les journaux, puis une règle d'alerte pour être rapidement informé des problèmes révélés par ces journaux. Par exemple, vous pouvez créer une métrique basée sur les journaux qui enregistre les accès au contenu par le personnel Google, puis créer une règle d'alerte dans Monitoring qui vous avertit si le nombre d'accès au cours d'une période donnée dépasse un seuil spécifié.

Étapes suivantes