Ruoli IAM per mansioni relative al controllo

Questo argomento descrive come configurare le autorizzazioni di Identity and Access Management per un insieme di scenari di controllo di esempio. che fornisce indicazioni sui ruoli IAM da concedere ai ruoli funzionali di controllo nella tua azienda per ciascuno scenario. Gli esempi in questo argomento sono principalmente destinati ad amministratori, controllori e dipendenti della sicurezza che gestiscono le attività di controllo per un'organizzazione.

Per informazioni sugli audit log per Google Cloud, consulta gli audit log di Cloud. Per informazioni sugli audit log generati da IAM, consulta l'audit logging di IAM per gli account di servizio.

Scenario: monitoraggio operativo

In questo scenario, un'organizzazione ha un team centrale per la sicurezza che ha la possibilità di esaminare i log che possono contenere informazioni sensibili sia in Cloud Logging che nello spazio di archiviazione a lungo termine.

I dati storici di controllo sono archiviati in Cloud Storage. L'organizzazione utilizza un'applicazione per fornire l'accesso ai dati di controllo storici. L'applicazione utilizza un account di servizio per accedere ai dati di log. A causa della sensibilità di alcuni dati di log di controllo, vengono oscurati utilizzando Cloud Data Loss Prevention prima di essere accessibili per la visualizzazione.

La tabella seguente spiega i ruoli IAM che devono essere concessi al CTO, al team per la sicurezza e all'account di servizio, nonché il livello di risorsa al quale vengono assegnati i ruoli.

Ruolo Risorsa Entità Descrizione
resourcemanager.organizationAdmin Organizzazione CTO Il ruolo resourcemanager.organizationAdmin offre al CTO la possibilità di assegnare le autorizzazioni al team di sicurezza e all'account di servizio.
logging.viewer Organizzazione Team di sicurezza Il ruolo logging.viewer offre al team di amministrazione della sicurezza la possibilità di visualizzare i log delle attività di amministrazione.
logging.privateLogViewer Organizzazione Team di sicurezza Il ruolo logging.privateLogViewer consente di visualizzare i log di accesso ai dati.

Una volta esportate le voci di log, l'accesso alle copie esportate è controllato interamente da autorizzazioni e ruoli IAM su qualsiasi destinazione: Cloud Storage, BigQuery o Pub/Sub. In questo scenario, Cloud Storage è la destinazione per l'archiviazione a lungo termine degli audit log.

Ruolo Risorsa Entità Descrizione
logging.viewer Organizzazione Account di servizio Il ruolo logging.viewer consente all'account di servizio di leggere i log delle attività di amministrazione in Cloud Logging.

I dati nei log di accesso ai dati sono considerati informazioni che consentono l'identificazione personale (PII) di questa organizzazione. L'integrazione dell'applicazione con Cloud DLP consente di oscurare i dati sensibili delle PII durante la visualizzazione dei log di accesso ai dati, sia nei log di accesso ai dati che nell'archivio storico di Cloud Storage.

Ruolo Risorsa Entità Descrizione
storage.objectViewer Bucket Account di servizio Il ruolo storage.objectViewer consente all'account di servizio di leggere i log delle attività di amministrazione esportate.

Il criterio di autorizzazione associato alla risorsa dell'organizzazione per questo scenario sarà simile al seguente:

{
  "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"
      ]
    }
  ]
}

Il criterio di autorizzazione associato al bucket configurato come sink di destinazione per questo scenario sarà simile al seguente:

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

Scenario: monitoraggio dei log di controllo dei team di sviluppo

In questo scenario, gli sviluppatori dell'organizzazione devono esaminare i log di controllo generati durante lo sviluppo delle applicazioni. Non sono autorizzati a esaminare i log di produzione, a meno che non siano stati oscurati utilizzando Cloud DLP. Un'applicazione della dashboard è disponibile per gli sviluppatori che forniscono l'accesso in sola visualizzazione ai dati di produzione esportati. Il team di sicurezza dell'organizzazione ha accesso a tutti i log sia in produzione sia nell'ambiente di sviluppo.

La tabella seguente spiega i ruoli IAM che devono essere concessi al team di sicurezza, gli sviluppatori e l'account di servizio, nonché il livello di risorsa al quale vengono assegnati i ruoli.

Ruolo Risorsa Entità Descrizione
logging.viewer Organizzazione Team di sicurezza Il ruolo logging.viewer offre al team di amministrazione della sicurezza la possibilità di visualizzare i log delle attività di amministrazione.
logging.privateLogViewer Organizzazione Team di sicurezza Il ruolo logging.privateLogViewer consente di visualizzare i log di accesso ai dati.
logging.viewer Cartella Il team degli sviluppatori Il ruolo logging.viewer offre al team sviluppatore la possibilità di visualizzare i log delle attività di amministrazione generate dai progetti per gli sviluppatori contenuti in una cartella in cui si trovano tutti i progetti sviluppatore.
logging.privateLogViewer Cartella Il team degli sviluppatori Il ruolo logging.privateLogViewer consente di visualizzare i log di accesso ai dati.

L'accesso alle copie esportate è controllato interamente da autorizzazioni e ruoli IAM su qualsiasi destinazione: Cloud Storage, BigQuery o Pub/Sub. In questo scenario, BigQuery è la destinazione di archiviazione degli audit log.

Ruolo Risorsa Entità Descrizione
bigquery.dataViewer Set di dati BigQuery Account di servizio Dashboard Il ruolo bigquery.dataViewer consente all'account di servizio utilizzato dall'applicazione dashboard di leggere i log delle attività di amministrazione esportate.

Il criterio di autorizzazione associato alla risorsa della cartella del team di sviluppo per questo scenario sarà simile alla seguente:

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

Il criterio di autorizzazione associato alla risorsa dell'organizzazione per questo scenario sarà simile al seguente:

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

Il criterio di autorizzazione associato al set di dati BigQuery configurato come sink di destinazione per questo scenario sarà simile al seguente:

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

Scenario: revisori esterni

In questo scenario, i log di controllo per un'organizzazione vengono aggregati ed esportati in una posizione centrale di sink. A un revisore di terze parti viene concesso l'accesso più volte all'anno per esaminare i log di controllo dell'organizzazione. Il revisore non è autorizzato a visualizzare i dati PII nei log delle attività di amministrazione. Per soddisfare questo requisito, è disponibile una dashboard che fornisce l'accesso ai log storici archiviati in BigQuery e, su richiesta, ai log di attività dell'amministratore di Cloud Logging.

L'organizzazione crea un gruppo Google per questi revisori esterni e aggiunge il revisore attuale al gruppo. Questo gruppo è monitorato e in genere ottiene l'accesso all'applicazione della dashboard.

Durante il normale accesso, i controllori possono accedere solo ai log storici archiviati in BigQuery. Se vengono rilevate anomalie, al gruppo viene concessa l'autorizzazione per visualizzare i log effettivi delle attività di amministrazione di Cloud Logging tramite la modalità di accesso elevato della dashboard. Al termine di ogni periodo di controllo, l'accesso del gruppo viene revocato.

I dati vengono oscurati utilizzando Cloud DLP prima di essere resi accessibili per la visualizzazione tramite l'applicazione dashboard.

La tabella seguente spiega i ruoli di logging IAM che un amministratore dell'organizzazione può concedere all'account di servizio utilizzato dalla dashboard, nonché il livello di risorsa a cui viene concesso il ruolo.

Ruolo Risorsa Entità Descrizione
logging.viewer Organizzazione Account di servizio Dashboard Il ruolo logging.viewer consente all'account di servizio di leggere i log delle attività di amministrazione in Cloud Logging.
bigquery.dataViewer Set di dati BigQuery Account di servizio Dashboard Il ruolo bigquery.dataViewer consente all'account di servizio utilizzato dall'applicazione dashboard di leggere i log delle attività di amministrazione esportate.

Il criterio di autorizzazione associato alla risorsa dell'organizzazione per questo scenario sarà simile al seguente:

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

Il criterio di autorizzazione associato al set di dati BigQuery configurato come sink di destinazione per questo scenario sarà simile al seguente:

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