Controllare l'accesso IAM in base alla sensibilità dei dati

Questa pagina descrive come concedere o negare automaticamente l'accesso Identity and Access Management (IAM) alle risorse in base alla sensibilità dei dati in queste risorse.

Puoi configurare il servizio di rilevamento di Sensitive Data Protection per allegare automaticamente tag alle risorse in base ai livelli di sensibilità calcolati di queste risorse. Puoi quindi utilizzare le condizioni IAM per concedere o negare l'accesso a una risorsa, in base alla presenza o all'assenza di una chiave o di un valore del tag del livello di sensibilità.

Supponiamo che tu voglia che il team di dati della tua organizzazione possa copiare e condividere liberamente i dati BigQuery nelle sue operazioni quotidiane. Tuttavia, non sai se questi dati contengono informazioni che consentono l'identificazione personale (PII) dei tuoi clienti. Puoi eseguire il rilevamento per classificare i livelli di sensibilità dei tuoi dati BigQuery. Poi, concedi l'accesso in modo condizionale al team di dati, in modo che possa accedere solo alle tabelle BigQuery che contengono dati a bassa sensibilità.

Per ulteriori informazioni su come Sensitive Data Protection calcola la sensibilità dei dati, consulta Livelli di rischio e sensibilità dei dati.

Per saperne di più sull'utilizzo dei tag per controllare l'accesso alle risorse, consulta Tag e accesso condizionale nella documentazione di IAM. Per informazioni generali sui tag, consulta la panoramica dei tag nella documentazione di Resource Manager.

Tag del livello di sensibilità

Questo documento utilizza il termine tag di livello di sensibilità per fare riferimento a un tag che colleghi automaticamente a una risorsa per indicare il livello di sensibilità calcolato dei dati in quella risorsa.

Vantaggi

Questa funzionalità ti consente di:

  • Automatizza controllo dell'accesso in varie risorse supportate in base agli attributi e alle classificazioni dei dati in queste risorse. L'Automation ti aiuta a tenere il passo con la crescita e le modifiche dei dati nella tua organizzazione, nelle cartelle e nei progetti.
  • Limita l'accesso alle risorse supportate finché non vengono profilate e classificate da Sensitive Data Protection. Questa pratica è in conformità con il principio sicuro per impostazione predefinita.
  • Configura la scoperta in modo da aggiornare il valore del tag del livello di sensibilità ogni volta che profila i tuoi dati. Di conseguenza, l'accesso di un principal a una risorsa cambia automaticamente man mano che cambia il livello di sensibilità dei dati calcolato per quella risorsa.
  • Configura il rilevamento in modo da ridurre il livello di rischio dei dati calcolato su una risorsa se il rilevamento rileva la presenza di un tag di livello di sensibilità sulla risorsa. Questa opzione ti aiuta a misurare il miglioramento della sicurezza e della privacy dei tuoi dati.

Risorse supportate

Con questa funzionalità, Sensitive Data Protection tagga automaticamente i dati ai seguenti livelli:

  • tabelle BigQuery
  • Istanze Cloud SQL
  • Bucket Cloud Storage

Come funziona

Di seguito è riportato un flusso di lavoro di alto livello per controllare l'accesso alle risorse in base alla sensibilità dei dati. Queste attività non devono essere eseguite dalla stessa persona.

  1. Creare un tag di livello di sensibilità
  2. Concedere l'accesso condizionale alle risorse in base al valore del tag del livello di sensibilità
  3. Attiva il tagging automatico nella configurazione della scoperta.
  4. Concedi all'agente di servizio l'autorizzazione per collegare il tag del livello di sensibilità alle risorse

Autorizzazioni obbligatorie

Le autorizzazioni necessarie dipendono dall'azione che devi eseguire.

Per ottenere queste autorizzazioni, chiedi all'amministratore di concedere il ruolo suggerito al livello appropriato della gerarchia delle risorse.

Autorizzazioni per l'amministrazione dei tag

Consulta la sezione Amministrare i tag nella documentazione di Resource Manager.

Autorizzazioni per la concessione dell'accesso condizionale alle risorse

Consulta la sezione Ruoli obbligatori nella documentazione IAM.

Autorizzazioni per la configurazione del rilevamento

Consulta la sezione Ruoli necessari per configurare e visualizzare i profili dei dati.

Crea un tag del livello di sensibilità

In questa attività, creerai una chiave tag con valori tag che corrispondono ai livelli di sensibilità dei dati che Sensitive Data Protection utilizza per classificare i tuoi dati. Ad esempio, puoi utilizzare la seguente chiave tag e i seguenti valori tag.

  1. Imposta la chiave del tag su sensitivity-level.
  2. Imposta i seguenti valori tag:

    low
    Valore del tag da allegare ai dati con sensibilità bassa
    moderate
    Valore del tag da allegare ai dati con sensibilità moderata
    high
    Valore del tag da allegare ai dati con sensibilità elevata

    Puoi anche creare un valore del tag per le risorse con un livello di sensibilità sconosciuto. In alternativa, puoi riutilizzare uno qualsiasi dei valori dei tag low, medium o high per queste risorse.

  3. Tieni presente quanto segue. Ti serviranno per l'attività successiva:

    • ID chiave tag, ad esempio tagKeys/281478077849901
    • Valori chiave dei tag, ad esempio tagValues/281479490918432
    • Percorsi dei valori dei tag, ad esempio example-project/tag-key/tag-value1

Per semplicità, questo esempio imposta un mapping uno a uno tra un valore del tag e un livello di sensibilità. In pratica, puoi personalizzare i valori dei tag in base alle esigenze della tua attività. Ad esempio, puoi utilizzare valori come confidential, PII o SPII (PII sensibili).

Il rilevamento dei dati sensibili può essere configurato a livello di organizzazione, cartella e progetto. Se intendi utilizzare questo tag di livello di sensibilità per il rilevamento a livello di organizzazione o cartella, ti consigliamo di creare questo tag a livello di organizzazione.

Per informazioni su come creare un tag, consulta la sezione Creare e gestire i tag nella documentazione di Resource Manager.

Concedere l'accesso condizionale alle risorse in base al valore del tag del livello di sensibilità

In questa attività, concedi un ruolo a un'entità solo se il tag del livello di sensibilità associato alla risorsa ha un valore specifico. Ad esempio, puoi concedere a un principal l'accesso solo ai dati con i valori dei tag moderate e low.

Questa sezione fornisce esempi di condizioni formattate per l'utilizzo con l'editor delle condizioni. L'editor delle condizioni fornisce un'interfaccia basata su testo per inserire manualmente un'espressione utilizzando la sintassi CEL. Per informazioni su come collegare le condizioni IAM alle associazioni di ruoli, consulta Gestire le associazioni di ruoli condizionali nella documentazione di IAM.

Questi esempi seguono il modello di tagging definito in Crea un tag livello di sensibilità in questa pagina.

Concedere alle entità di sicurezza l'accesso solo ai dati a bassa sensibilità

In questo esempio, concedi l'accesso a una risorsa se contiene solo dati a bassa sensibilità. Puoi anche utilizzare questo esempio per limitare l'accesso alla risorsa finché non è stata eseguita la scoperta dei dati sensibili.

resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY",
"tagValues/TAG_VALUE_FOR_LOW_SENSITIVITY")

Sostituisci quanto segue:

  • SENSITIVITY_LEVEL_TAG_KEY: l'ID numerico della chiave tag del livello di sensibilità che hai creato
  • TAG_VALUE_FOR_LOW_SENSITIVITY: l'ID numerico del valore tag che hai creato per i dati a bassa sensibilità

Concedere ai principal l'accesso solo ai dati a sensibilità moderata e bassa

In questo esempio, concedi l'accesso a una risorsa se contiene solo dati con sensibilità moderata o bassa. Tieni presente che tra le due condizioni è presente un operatore OR.

resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_LOW_SENSITIVITY") ||
resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_MODERATE_SENSITIVITY")

Sostituisci quanto segue:

  • SENSITIVITY_LEVEL_TAG_KEY: l'ID numerico della chiave tag del livello di sensibilità che hai creato
  • TAG_VALUE_FOR_LOW_SENSITIVITY: l'ID numerico del valore tag che hai creato per i dati a bassa sensibilità
  • TAG_VALUE_FOR_MODERATE_SENSITIVITY: l'ID numerico del valore tag che hai creato per i dati a sensibilità moderata

Concedi l'accesso alle entità solo se è presente il tag del livello di sensibilità

Ciò è utile, ad esempio, se vuoi definire un criterio dell'organizzazione che richiede che tutto l'accesso IAM sia condizionale in base alla presenza di un tag di livello di sensibilità. Puoi anche utilizzare questo esempio per limitare l'accesso alla risorsa finché non è stata eseguita la scoperta dei dati sensibili.

resource.hasTagKeyId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY")

Sostituisci SENSITIVITY_LEVEL_TAG_KEY con l'ID numerico della chiave del tag del livello di sensibilità che hai creato.

Esempi di criteri di negazione

Per informazioni su come formare una policy di negazione da utilizzare con un tag risorsa, vedi Struttura di una policy di negazione. Per un elenco delle autorizzazioni supportate, consulta Autorizzazioni supportate dalle norme di negazione.

Nega l'accesso se non è presente alcun tag di livello di sensibilità

Il seguente estratto di una policy di negazione nega l'autorizzazione bigquery.googleapis.com/tables.get se la risorsa non ha il tag livello di sensibilità.

  "rules": [
    {
      "denyRule": {
        "deniedPrincipals": [
          "principalSet://goog/group/data-team@example.com"
        ],
        "deniedPermissions": [
          "bigquery.googleapis.com/tables.get"
        ],
        "denialCondition": {
          "title": "Resource has no key",
          "expression": "!resource.hasTagKeyId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY")"
        }
      }
    }
  ]

Sostituisci SENSITIVITY_LEVEL_TAG_KEY con l'ID numerico della chiave del tag del livello di sensibilità che hai creato.

Nega l'accesso se sono presenti dati a sensibilità moderata o elevata

Il seguente estratto di una policy di negazione nega l'autorizzazione bigquery.googleapis.com/tables.get se la risorsa contiene dati con sensibilità moderata o elevata.

  "rules": [
    {
      "denyRule": {
        "deniedPrincipals": [
          "principalSet://goog/group/data-team@example.com"
        ],
        "deniedPermissions": [
          "bigquery.googleapis.com/tables.get"
        ],
        "denialCondition": {
          "title": "Resource has moderate or high data sensitivity",
          "expression": "resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_MODERATE_SENSITIVITY") || resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_HIGH_SENSITIVITY")"
        }
      }
    }
  ]

Sostituisci quanto segue:

  • SENSITIVITY_LEVEL_TAG_KEY: l'ID numerico della chiave tag del livello di sensibilità che hai creato
  • TAG_VALUE_FOR_MODERATE_SENSITIVITY: l'ID numerico del valore tag che hai creato per i dati a sensibilità moderata
  • TAG_VALUE_FOR_HIGH_SENSITIVITY: l'ID numerico del valore tag che hai creato per i dati a sensibilità elevata

Attiva il tagging automatico nella configurazione del rilevamento

In questa attività, abiliti l'azione Tagga risorse. Questa azione indica a Sensitive Data Protection di taggare automaticamente i tuoi dati in base al livello di sensibilità calcolato. Esegui questa attività quando crei o modifichi una configurazione di scansione del rilevamento.

Per taggare automaticamente una risorsa in base al suo livello di sensibilità calcolato, segui questi passaggi:

  1. Attiva l'opzione Tagga risorse.
  2. Per ogni livello di sensibilità (alto, moderato, basso e sconosciuto), inserisci il percorso del valore del tag che hai creato per il livello di sensibilità specificato.

    Se salti un livello di sensibilità, non viene allegato alcun tag.

  3. Per ridurre automaticamente il livello di rischio dei dati di una risorsa quando è presente il tag del livello di sensibilità, seleziona Quando un tag viene applicato a una risorsa, riduci il rischio dei dati del profilo impostandolo su BASSO. Questa opzione ti aiuta a misurare il miglioramento della sicurezza e della privacy dei tuoi dati.

  4. Seleziona una o entrambe le seguenti opzioni:

    • Tagga una risorsa quando viene profilata per la prima volta.
    • Tagga una risorsa quando il suo profilo viene aggiornato. Seleziona questa opzione se vuoi che Sensitive Data Protection sovrascriva il valore del tag del livello di sensibilità nelle esecuzioni di rilevamento successive. Di conseguenza, l'accesso di un principal a una risorsa cambia automaticamente man mano che il livello di sensibilità dei dati calcolato per quella risorsa aumenta o diminuisce.

      Non selezionare questa opzione se prevedi di aggiornare manualmente i valori dei tag del livello di sensibilità che il servizio di rilevamento ha allegato alle tue risorse. Se selezioni questa opzione, Sensitive Data Protection può sovrascrivere gli aggiornamenti manuali.

Il rilevamento di dati sensibili può essere configurato a livello di organizzazione, cartella e progetto. Se intendi utilizzare questo tag del livello di sensibilità per il rilevamento a livello di organizzazione e se non vuoi che le operazioni di rilevamento a livello di progetto sovrascrivano i valori dei tag impostati dal rilevamento a livello di organizzazione, assicurati che solo l'agente di servizio della configurazione di rilevamento a livello di organizzazione possa collegare questo tag alle risorse. Per informazioni su come concedere un ruolo a livello di tag, consulta Gestire l'accesso ai tag nella documentazione di Resource Manager.

Risolvere gli errori

Questa sezione descrive gli errori che potresti riscontrare quando utilizzi questa funzionalità e come risolverli.

Numero massimo di tag superato

A ogni risorsa è possibile associare un massimo di 50 coppie chiave-valore. Il tentativo di taggare una risorsa che ha già il numero massimo di tag causa l'errore di generazione del profilo. Viene visualizzato il seguente errore:

The resource RESOURCE_NAME cannot be tagged because there are
too many existing tags bound to the resource. You can either disable automatic
tagging or delete at least one tag binding from the resource.

Per risolvere il problema, scollega un tag dalla risorsa. Per maggiori informazioni, consulta le seguenti risorse:

In alternativa, disattiva l'azione Tagga risorse nella configurazione di scansione del rilevamento.

Un valore tag è stato eliminato o rinominato e la scoperta ha tentato di collegarlo a una risorsa

Se un valore del tag per il tag del livello di sensibilità viene eliminato o rinominato e Sensitive Data Protection tenta di allegare questo valore del tag a una risorsa profilata, viene visualizzato il seguente errore:

Tag value TAG_VALUE not found, it has possibly been either deleted or renamed.

Per risolvere il problema, esegui una delle seguenti operazioni:

  • Se il tag è stato eliminato, ricrea il valore del tag eliminato. Assicurati che il valore del tag ricreato corrisponda a quello a cui viene fatto riferimento nella configurazione della scansione di rilevamento. Per ulteriori informazioni, vedi Creare un tag livello di sensibilità in questa pagina.
  • Se il valore del tag è stato rinominato, aggiorna la configurazione della scansione di rilevamento in modo che utilizzi il nuovo nome del valore del tag.

L'agente di servizio non dispone delle autorizzazioni

Se l'agente di servizio non dispone delle autorizzazioni necessarie per allegare il tag del livello di sensibilità alle risorse profilate, viene visualizzato il seguente errore:

The DLP service account SERVICE_AGENT_NAME is missing
permissions needed for attaching tags to resources. Check that the role
'resourcemanager.tagUser' is granted to the DLP service account.

Per risolvere il problema:

  1. Recupera l'ID agente di servizio associato alla configurazione della scansione di rilevamento:

    1. Vai all'elenco delle configurazioni di scansione del rilevamento.

      Vai alle configurazioni di scansione del rilevamento

    2. Nella barra degli strumenti, seleziona la tua organizzazione.
    3. Seleziona la configurazione della scansione.
    4. Nella pagina Dettagli configurazione scansione, copia il valore del campo Agente di servizio. L'ID agente di servizio è nel formato di un indirizzo email.
  2. Concedi all'agente di servizio il ruolo Utente tag (roles/resourcemanager.tagUser) nel tag del livello di sensibilità.

    In alternativa, puoi concedere un ruolo personalizzato al tag del livello di sensibilità. Il ruolo personalizzato deve disporre dell'autorizzazione resourcemanager.tagValues.get e di autorizzazioni specifiche per le risorse per la gestione dei binding dei tag. Devi disporre delle autorizzazioni createTagBinding, deleteTagBinding e listEffectiveTags specifiche per la risorsa. Ad esempio, per le tabelle BigQuery, devi disporre di:

    • resourcemanager.tagValues.get
    • bigquery.tables.createTagBinding
    • bigquery.tables.deleteTagBinding
    • bigquery.tables.listEffectiveTags

    Per informazioni su come concedere un ruolo a livello di tag, consulta Gestire l'accesso ai tag nella documentazione di Resource Manager.

Passaggi successivi