Informations sur les journaux d'audit d'API Gateway

Cette page décrit les journaux d'audit créés par API Gateway dans le cadre de Cloud Audit Logs.

Aperçu

Les services Google Cloud génèrent des journaux d'audit pour vous aider à déterminer qui fait quoi, où et quand dans vos ressources Google Cloud.

Vos projets Google Cloud ne contiennent que les journaux d'audit des ressources directement intégrées au projet Cloud. Les autres ressources Google Cloud, telles que les dossiers, les organisations et les comptes de facturation, contiennent les journaux d'audit de l'entité elle-même.

Pour découvrir Cloud Audit Logs, consultez la page Cloud Audit Logs. Pour en savoir plus sur le format des journaux d'audit, consultez la page Comprendre les journaux d'audit.

Journaux d'audit disponibles

Les types de journaux d'audit suivants sont disponibles pour API Gateway :

  • Journaux d'audit pour les activités d'administration

    Inclut les opérations "admin write" qui écrivent des métadonnées ou des informations de configuration.

    Vous ne pouvez pas les désactiver.

  • Journaux d'audit pour l'accès aux données

    Inclut les opérations de lecture administrateur qui lisent les métadonnées ou les informations de configuration. Inclut également les opérations de "lecture de données" et d'écriture de données qui lisent ou écrivent des données fournies par l'utilisateur.

    Pour recevoir les journaux d'audit pour l'accès aux données, vous devez les activer explicitement.

Pour obtenir une description plus complète des types de journaux d'audit, consultez la section Types de journaux d'audit.

Opérations auditées

Le tableau suivant récapitule les opérations d'API correspondant à chaque type de journaux d'audit dans API Gateway :

Catégorie de journal d'audit Opérations d'API Gateway
Activité d'administration

Opérations de passerelle :

  • CreateGateway
  • UpdateGateway
  • DeleteGateway

Opérations d'API :

  • CreateApi
  • UpdateApi
  • DeleteApi

Opérations APIConfig :

  • CreateApiConfig
  • UpdateApiConfig
  • DeleteApiConfig

Opérations de gestion de l'authentification et des accès (IAM) :

  • SetIamPolicy(Gateways)
  • SetIamPolicy(APIs)
  • SetIamPolicy(APIConfigs)

Opérations d'opération :

  • CancelOperation
  • DeleteOperation
Journaux relatifs à l'accès aux données ADMIN_READ

Opérations de passerelle :

  • GetGateway
  • ListGateways

Opérations d'API :

  • GetApi
  • ListApis

Opérations APIConfig :

  • GetApiConfig
  • ListApiConfigs

Opérations de gestion de l'authentification et des accès (IAM) :

  • GetIamPolicy(Gateways)
  • GetIamPolicy(APIs)
  • GetIamPolicy(APIConfigs)

Opérations d'opération :

  • GetOperation
  • ListOperations

Opérations en fonction de l'emplacement :

  • GetLocation
  • ListLocations

Format des journaux d'audit

Les entrées des journaux d'audit comprennent les objets suivants :

  • L'entrée de journal proprement dite, qui est un objet de type LogEntry. Les champs utiles sont les suivants :

    • logName, qui contient l'ID de ressource et le type de journal d'audit
    • resource, qui contient la cible de l'opération auditée
    • timeStamp, qui indique l'heure à laquelle l'opération auditée a été effectuée
    • protoPayload, qui contient les informations auditées
  • Les données de journalisation d'audit, qui correspondent à un objet AuditLog inclus dans le champ protoPayload de l'entrée de journal

  • Un objet (facultatif) de type "informations d'audit propres au service". Pour les intégrations plus anciennes, cet objet est conservé dans le champ serviceData de l'objet AuditLog. Les intégrations plus récentes utilisent le champ metadata.

Pour en savoir plus sur les autres champs de ces objets, ainsi que sur leur interprétation, consultez la page Comprendre les journaux d'audit.

Nom du journal

Les noms des ressources Cloud Audit Logs indiquent le projet Cloud ou toute autre entité Google Cloud dont ils dépendent. En outre, ils précisent si les journaux contiennent des données sur les activités d'administration, l'accès aux données, les refus de règles ou les événements système. Par exemple, voici les noms des journaux d'audit des activités d'administration au niveau du projet et des journaux d'audit d'accès aux données d'une organisation. Les variables désignent les identifiants d'organisation et de projet Cloud.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nom du service

Les journaux d'audit d'API Gateway utilisent le nom de service "apigateway.googleapis.com".

Pour obtenir la liste complète des noms de service de l'API Cloud Logging et du type de ressource surveillée correspondant, consultez la section Mapper des services sur des ressources.

Types de ressources

Tous les journaux d'audit d'API Gateway utilisent le type de ressource "audited_resource".

Pour obtenir la liste de tous les types de ressources surveillées Cloud Logging et des informations descriptives, consultez la section Types de ressources surveillées.

Activer la journalisation d'audit

Les journaux d'audit pour les activités d'administration sont toujours activés. Vous ne pouvez pas les désactiver.

Les journaux d'audit pour l'accès aux données sont désactivés par défaut et ne sont pas écrits à moins d'être explicitement activés (à l'exception de ceux pour BigQuery, qui ne peuvent pas être désactivés).

Pour savoir comment activer les journaux d'audit des accès aux données, consultez la page Configurer les journaux d'accès aux données.

Autorisations et rôles

Les autorisations et les rôles IAM déterminent votre capacité à accéder aux données des journaux d'audit dans les ressources Google Cloud.

Lorsque vous décidez des autorisations et rôles spécifiques à Logging qui s'appliquent à votre cas d'utilisation, tenez compte des points suivants :

  • Le rôle Lecteur de journaux (roles/logging.viewer) vous donne un accès en lecture seule aux journaux d'audit des activités d'administration, des refus de règles et des événements système. Si vous ne disposez que de ce rôle, vous ne pouvez pas afficher les journaux d'audit d'accès aux données qui se trouvent dans les buckets _Required et _Default.

  • Le rôle Lecteur de journaux privés ((roles/logging.privateLogViewer) inclut les autorisations contenues dans roles/logging.viewer, ainsi que la possibilité de lire les journaux d'audit d'accès aux données dans les buckets _Required et _Default.

    Notez que si ces journaux privés sont stockés dans des buckets définis par l'utilisateur, tout utilisateur autorisé à lire les journaux dans ces buckets peut lire les journaux privés. Pour en savoir plus sur les buckets de journaux, consultez la page Présentation du routage et du stockage.

Pour en savoir plus sur les autorisations et les rôles IAM qui s'appliquent aux données des journaux d'audit, consultez la page Contrôle des accès avec IAM.

Voir les journaux

Pour rechercher et afficher les journaux d'audit, vous devez connaître l'identifiant de l'organisation, du dossier ou du projet Cloud concerné. Vous pouvez également spécifier d'autres champs LogEntry indexés, comme resource.type. Pour en savoir plus, consultez la section Trouver des entrées de journal rapidement.

Les noms de journaux d'audit sont indiqués ci-dessous. Ils incluent des variables correspondant aux identifiants de l'organisation, du dossier ou du projet Cloud :

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Vous pouvez afficher les journaux d'audit dans Cloud Logging à l'aide de Cloud Console, de l'outil de ligne de commande gcloud ou de l'API Logging.

Console

Vous pouvez utiliser l'explorateur de journaux de Cloud Console pour récupérer les entrées du journal d'audit de votre projet, dossier ou organisation Cloud :

  1. Dans Cloud Console, accédez à la page Journaux > Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Sur la page Explorateur de journaux, sélectionnez un projet, un dossier ou une organisation Cloud existante.

  3. Dans le volet Générateur de requêtes, procédez comme suit :

    • Dans Type de ressource, sélectionnez la ressource Google Cloud dont vous souhaitez afficher les journaux d'audit.

    • Dans Nom du journal, sélectionnez le type de journal d'audit que vous souhaitez afficher :

      • Pour les journaux d'audit pour les activités d'administration, sélectionnez activity.
      • Pour les journaux d'audit des accès aux données, sélectionnez data_access.
      • Pour les journaux d'audit des événements système, sélectionnez system_event.
      • Pour les journaux d'audit des refus de règles, sélectionnez policy.

    Si ces options ne sont pas visibles, cela signifie qu'aucun journal d'audit de ce type n'est disponible dans le projet, le dossier ou l'organisation Cloud.

    Pour en savoir plus sur l'utilisation de l'explorateur de journaux pour effectuer des requêtes, consultez la page Créer des requêtes de journal.

gcloud

L'outil de ligne de commande gcloud fournit une interface de ligne de commande à l'API Cloud Logging. Fournissez un ID PROJECT_ID, FOLDER_ID ou ORGANIZATION_ID valide dans chacun des noms de journaux.

Pour lire les entrées de journal d'audit au niveau du projet Cloud, exécutez la commande suivante :

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

Pour lire les entrées de journal d'audit au niveau d'un dossier, exécutez la commande suivante :

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

Pour lire les entrées de journal d'audit au niveau de l'organisation, exécutez la commande suivante :

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

Pour plus d'informations sur l'utilisation de l'outil gcloud, consultez la page Lire des entrées de journal.

API

Lorsque vous créez des requêtes, remplacez les variables par des valeurs valides. Spécifiez le nom du journal d'audit approprié au niveau du projet, du dossier ou de l'organisation, ou utilisez les identifiants répertoriés dans les noms des journaux d'audit. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Cloud actuellement sélectionné.

Pour afficher les entrées de journal d'audit à l'aide de l'API Logging, procédez comme suit :

  1. Accédez à la section Essayer cette API dans la documentation de la méthode entries.list.

  2. Insérez les éléments suivants dans la partie Corps de la requête du formulaire Essayer cette API. En cliquant sur ce formulaire prérempli, vous remplissez automatiquement le corps de la requête mais vous devez fournir un PROJECT_ID valide pour chaque nom de journal.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Cliquez sur Exécuter.

Pour en savoir plus sur les requêtes, consultez la page Langage de requête Logging.

Pour obtenir un exemple d'entrée de journal d'audit et savoir comment y trouver les informations les plus importantes, consultez la page Exemple d'entrée de journal d'audit.

Acheminer les journaux d'audit

Vous pouvez acheminer les journaux d'audit vers des destinations compatibles de la même manière que vous pouvez acheminer d'autres types de journaux. Voici quelques raisons pour lesquelles vous pouvez acheminer vos journaux d'audit :

  • Pour conserver les journaux d'audit pendant une période plus longue ou pour utiliser des fonctionnalités de recherche plus puissantes, vous pouvez exporter des copies des journaux d'audit vers Cloud Storage, BigQuery ou Pub/Sub. Avec Pub/Sub, vous avez la possibilité d'acheminer vos journaux vers d'autres applications, d'autres dépôts, ainsi que vers des organisations tierces.

  • Pour gérer les journaux d'audit à l'échelle de votre organisation, vous pouvez créer des récepteurs agrégés capables d'exporter les journaux pour un projet Cloud spécifique ou pour l'ensemble des projets Cloud de l'organisation.

  • Si les journaux d'audit des accès aux données que vous avez activés entraînent le dépassement du quota d'attribution de journaux défini pour vos projets Cloud, vous pouvez créer des récepteurs qui excluent les journaux d'audit des accès aux données de Logging.

Pour obtenir des instructions sur le routage des journaux, consultez la page Configurer des récepteurs.

Tarifs

Les journaux d'audit pour les activités d'administration et les journaux d'audit pour les événements système sont gratuits.

Les journaux d'audit pour l'accès aux données et les journaux d'audit des refus de règles sont payants.

Pour en savoir plus sur les tarifs de Cloud Logging, consultez la page Tarifs de la suite Google Cloud Operations : Cloud Logging.