Rôles IAM pour les postes liés à l'audit

Cette rubrique explique comment configurer les autorisations Cloud IAM (Cloud Identity and Access Management) pour un ensemble d'exemples de scénarios d'audit. Elle fournit des indications sur les rôles Cloud IAM qu'il convient d'attribuer aux rôles fonctionnels liés à l'audit dans votre entreprise pour ces différents scénarios. Ces exemples sont principalement destinés aux administrateurs de sécurité, aux auditeurs et aux employés qui gèrent des tâches d'audit pour une organisation.

Pour en savoir plus sur les journaux d'audit de Google Cloud, consultez la page Cloud Audit Logging. Pour en savoir plus sur les journaux d'audit générés par IAM, consultez la page Journaux d'audit IAM pour les comptes de service.

Scénario : surveillance opérationnelle

Dans ce scénario, une organisation dispose d'une équipe de sécurité centrale qui peut examiner des journaux contenant éventuellement des informations sensibles, aussi bien dans Cloud Logging qu'après leur exportation vers un système de stockage à long terme.

Les données d'audit historiques sont stockées dans Cloud Storage. L'organisation utilise une application donnant accès à ces données d'audit historiques. Cette application utilise un compte de service pour accéder aux données de journalisation. En raison de leur caractère sensible, certaines données des journaux d'audit sont masquées à l'aide de la protection des données sensibles avant la mise à disposition de ces journaux pour consultation.

Le tableau ci-dessous décrit les rôles Cloud IAM à attribuer au directeur de la technologie, à l'équipe de sécurité et au compte de service, ainsi que le niveau de ressource auquel les rôles sont attribués.

Rôle Ressource Compte principal Description
resourcemanager.organizationAdmin Organisation Directeur de la technologie Le rôle resourcemanager.organizationAdmin permet au CTO d'accorder des autorisations à l'équipe de sécurité et au compte de service.
logging.viewer Organisation Équipe de sécurité Le rôle logging.viewer permet à l'équipe d'administration de la sécurité d'afficher les journaux d'activité d'administration.
logging.privateLogViewer Organisation Équipe de sécurité Le rôle logging.privateLogViewer permet d'afficher les journaux d'accès aux données.

Une fois les entrées de journal exportées, l'accès à ces copies est entièrement contrôlé par les autorisations et les rôles Cloud IAM sur les destinations suivantes : Cloud Storage, BigQuery ou Pub/Sub. Dans ce scénario, Cloud Storage constitue la destination de stockage à long terme des journaux d'audit.

Rôle Ressource Compte principal Description
logging.viewer Organisation Compte de service Le rôle logging.viewer permet au compte de service de lire les journaux d'activité d'administration dans Cloud Logging.

Les données contenues dans les journaux d'accès aux données sont considérées comme des informations personnelles pour cette organisation. L'intégration de l'application à la protection des données sensibles permet de masquer des données PII sensibles lors de la visualisation des journaux d'accès aux données, qu'ils se trouvent dans les journaux d'accès aux données ou dans les archives historiques de Cloud Storage.

Rôle Ressource Compte principal Description
storage.objectViewer Bucket Compte de service Le rôle storage.objectViewer permet au compte de service de lire les journaux d'activité d'administration exportés.

La stratégie d'autorisation associée à la ressource Organisation pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:cto@example.com"
      ]
    },
    {
      "role": "roles/logging.viewer",
      "members": [
        "group:security-team@example.com",
        "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/logging.privateLogViewer",
      "members": [
        "group:security-team@example.com"
      ]
    }
  ]
}

La stratégie d'autorisation associée au bucket configuré en tant que récepteur de destination pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/storage.objectViewer",
    "members": [
      "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Scénario : les équipes de développement surveillent leurs journaux d'audit

Dans ce scénario, les développeurs de l'organisation doivent pouvoir examiner les journaux d'audit générés dans le cadre du développement de leurs applications. Ils ne sont pas autorisés à consulter les journaux de production, sauf si les données sensibles qu'ils contiennent ont été masquées à l'aide de la protection des données sensibles. Les développeurs disposent d'une application de tableau de bord qui leur fournit un accès en lecture seule aux données de production exportées. L'équipe de sécurité de l'organisation a accès à tous les journaux, aussi bien en production que dans l'environnement de développement.

Le tableau ci-dessous décrit les rôles Cloud IAM qu'il convient d'attribuer à l'équipe de sécurité, aux développeurs et au compte de service, ainsi que le niveau de ressource pour lequel ces rôles doivent être attribués.

Rôle Ressource Compte principal Description
logging.viewer Organisation Équipe de sécurité Le rôle logging.viewer permet à l'équipe d'administration de la sécurité d'afficher les journaux d'activité d'administration.
logging.privateLogViewer Organisation Équipe de sécurité Le rôle logging.privateLogViewer permet d'afficher les journaux d'accès aux données.
logging.viewer Dossier Équipe de développeurs Le rôle logging.viewer donne à l'équipe de développeurs la possibilité d'afficher les journaux d'activité d'administration générés par les projets de développement contenus dans un dossier regroupant tous les projets de développement.
logging.privateLogViewer Dossier Équipe de développeurs Le rôle logging.privateLogViewer permet d'afficher les journaux d'accès aux données.

L'accès aux copies exportées est entièrement contrôlé par les autorisations et les rôles Cloud IAM sur l'une des destinations : Cloud Storage, BigQuery ou Pub/Sub. Dans ce scénario, BigQuery est la destination utilisée pour le stockage des journaux d'audit.

Rôle Ressource Compte principal Description
bigquery.dataViewer Ensemble de données BigQuery Compte de service Tableau de bord Le rôle bigquery.dataViewer permet au compte de service utilisé par l'application de tableau de bord de lire les journaux d'activité d'administration exportés.

La stratégie d'autorisation associée à la ressource Dossier de l'équipe de développement pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "group:developer-team@example.com"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "group:developer-team@example.com"
    ]
  }]
}

La stratégie d'autorisation associée à la ressource Organisation pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "group:security-team@example.com"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "group:security-team@example.com"
    ]
  }]
}

La stratégie d'autorisation associée à l'ensemble de données BigQuery configuré comme récepteur de destination pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/bigquery.dataViewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Scénario : auditeurs externes

Dans ce scénario, les journaux d'audit d'une organisation sont agrégés et exportés vers un emplacement de récepteur central. Plusieurs fois par an, un auditeur tiers se voit accorder un accès pour vérifier les journaux d'audit de l'organisation. Cet auditeur n'est pas autorisé à consulter les données personnelles contenues dans les journaux d'activité d'administration. De ce fait, un tableau de bord permet d'accéder aux journaux historiques stockés dans BigQuery et, sur demande, aux journaux d'activité d'administration Cloud Logging.

L'organisation crée un groupe Google pour ces auditeurs externes et ajoute l'auditeur actuel au groupe. Ce groupe est surveillé et dispose généralement de l'autorisation d'accéder à l'application de tableau de bord.

En mode d'accès normal, les auditeurs du groupe Google ne peuvent accéder qu'aux journaux historiques stockés dans BigQuery. Si des anomalies sont découvertes, l'auditeur est autorisé à afficher les journaux d'activité d'administration réels de Cloud Logging via le mode d'accès avec élévation de privilèges du tableau de bord. À la fin de chaque période d'audit, l'accès du groupe est révoqué.

Les données sont masquées à l'aide de la protection des données sensibles avant d'être rendues accessibles pour affichage via l'application de tableau de bord.

Le tableau ci-dessous décrit les rôles de journalisation Cloud IAM qu'un administrateur d'organisation peut accorder au compte de service utilisé par le tableau de bord, ainsi que le niveau de ressource auquel le rôle est attribué.

Rôle Ressource Compte principal Description
logging.viewer Organisation Compte de service Tableau de bord Le rôle logging.viewer permet au compte de service de lire les journaux d'activité d'administration dans Cloud Logging.
bigquery.dataViewer Ensemble de données BigQuery Compte de service Tableau de bord Le rôle bigquery.dataViewer permet au compte de service utilisé par l'application de tableau de bord de lire les journaux d'activité d'administration exportés.

La stratégie d'autorisation associée à la ressource Organisation pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

La stratégie d'autorisation associée à l'ensemble de données BigQuery configuré comme récepteur de destination pour ce scénario se présente comme suit :

{
  "bindings": [{
    "role": "roles/bigquery.dataViewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}