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 contre les données sensibles avant d'être rendues accessibles.
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 | Principal | Description |
---|---|---|---|
resourcemanager.organizationAdmin | Organisation | Directeur de la technologie (CTO) | 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 | 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 rédiger 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 | 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. 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 | 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 | 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 sensibles 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 | 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"
]
}]
}