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

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

Puoi configurare il servizio di scoperta Sensitive Data Protection in modo da associare automaticamente i 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 di BigQuery nelle sue operazioni quotidiane. Tuttavia, non sai se alcuni di questi dati contengono informazioni che consentono l'identificazione personale (PII) dei tuoi clienti. Puoi eseguire la scoperta per classificare i livelli di sensibilità dei dati di BigQuery. Poi, concedi l'accesso in modo condizionale al team di dati, in modo che possa accedere solo alle tabelle BigQuery con dati a bassa sensibilità.

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

Per ulteriori informazioni 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 del livello di sensibilità per fare riferimento a un tag che viene collegato automaticamente a una risorsa per indicare il livello di sensibilità calcolato dei dati al suo interno.

Vantaggi

Questa funzionalità ti consente di:

  • Automatizza il controllo dell'accesso in varie risorse supportate in base agli attributi e alle classificazioni dei dati al loro interno. L'Automation ti aiuta a stare al passo con la crescita e le modifiche dei dati nella tua organizzazione, nelle cartelle e nei progetti.
  • Limita l'accesso alle risorse supportate finché queste non vengono profilate e classificate da Sensitive Data Protection. Questa prassi è in conformità con il principio di sicurezza per impostazione predefinita.
  • Configura la scoperta in modo che aggiorni il valore del tag del livello di sensibilità ogni volta che viene creato il profilo dei tuoi dati. Di conseguenza, l'accesso di un principale a una risorsa cambia automaticamente quando cambia il livello di sensibilità dei dati calcolato per quella risorsa.
  • Configura il rilevamento in modo da abbassare il livello di rischio dei dati calcolato in una risorsa se rileva che in quella risorsa è presente un tag del livello di sensibilità. Questa opzione ti aiuta a misurare il miglioramento della tua posizione in termini di sicurezza e privacy dei dati.

Risorse supportate

Con questa funzionalità, Sensitive Data Protection applica automaticamente i tag ai 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. Attivare il tagging automatico nella configurazione della scoperta
  4. Concede all'agente di servizio l'autorizzazione per associare 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 Gestire i tag nella documentazione di Resource Manager.

Autorizzazioni per la concessione di 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 di dati.

Creare un tag del livello di sensibilità

In questa attività, crei una chiave di tag con valori di tag che mappano i livelli di sensibilità dei dati utilizzati da Sensitive Data Protection per classificare i dati. Ad esempio, puoi utilizzare la seguente chiave e i seguenti valori del tag.

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

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

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

  3. Tieni presente quanto segue. Ti serviranno nella prossima attività:

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

Per semplicità, questo esempio imposta una mappatura 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 del livello di sensibilità per la rilevabilità a livello di organizzazione o di cartella, ti consigliamo di crearlo a livello di organizzazione.

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

Concedi 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 ruolo principale l'accesso solo ai dati con 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 associare 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 Creare un tag per il livello di sensibilità in questa pagina.

Concedi ai principali l'accesso solo ai dati a bassa sensibilità

In questo esempio, concedi l'accesso a una risorsa se la risorsa contiene solo dati con bassa sensibilità. Puoi anche utilizzare questo esempio per limitare tutto l'accesso alla risorsa finché non viene eseguita la ricerca di dati sensibili su quella risorsa.

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 del tag del livello di sensibilità che hai creato
  • TAG_VALUE_FOR_LOW_SENSITIVITY: l'ID numerico del valore del tag che hai creato per i dati a bassa sensibilità

Concedi ai principali 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 del tag del livello di sensibilità che hai creato
  • TAG_VALUE_FOR_LOW_SENSITIVITY: l'ID numerico del valore del tag che hai creato per i dati a bassa sensibilità
  • TAG_VALUE_FOR_MODERATE_SENSITIVITY: l'ID numerico del valore del tag che hai creato per i dati con sensibilità moderata

Concedi l'accesso ai principali solo se è presente il tag del livello di sensibilità

Questo è 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 del livello di sensibilità. Puoi anche utilizzare questo esempio per limitare tutto l'accesso alla risorsa fino a quando non viene eseguita la ricerca di dati sensibili su quella risorsa.

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 rifiuto

Per informazioni su come creare un criterio di rifiuto da utilizzare con un tag risorsa, consulta Struttura di un criterio di rifiuto. Per un elenco delle autorizzazioni supportate, consulta Autorizzazioni supportate dai criteri di rifiuto.

Negare l'accesso se non è presente il tag del livello di sensibilità

Il seguente estratto di un criterio di rifiuto nega l'autorizzazionebigquery.googleapis.com/tables.get se la risorsa non ha il tag del 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.

Negare l'accesso se sono presenti dati con sensibilità moderata o elevata

Il seguente estratto di un criterio di rifiuto nega l'autorizzazionebigquery.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 del tag del livello di sensibilità che hai creato
  • TAG_VALUE_FOR_MODERATE_SENSITIVITY: l'ID numerico del valore del tag che hai creato per i dati con sensibilità moderata
  • TAG_VALUE_FOR_HIGH_SENSITIVITY: l'ID numerico del valore del tag che hai creato per i dati a sensibilità elevata

Attivare il tagging automatico nella configurazione del rilevamento

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

Per taggare automaticamente una risorsa in base al relativo livello di sensibilità calcolato:

  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 associato alcun tag.

  3. Per abbassare 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 consente di misurare il miglioramento della tua situazione in termini di sicurezza e privacy dei 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 successive del rilevamento. Di conseguenza, l'accesso di un amministratore a una risorsa cambia automaticamente con l'aumento o la diminuzione del livello di sensibilità dei dati calcolato per la risorsa.

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

Il rilevamento dei 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 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 associare 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 durante l'utilizzo di questa funzionalità e come risolverli.

Numero massimo di tag superato

A ogni risorsa possono essere associate un massimo di 50 coppie chiave-valore. Il tentativo di taggare una risorsa che ha già il numero massimo di tag comporta il fallimento della 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 ulteriori informazioni, consulta quanto segue:

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

Un valore tag è stato eliminato o rinominato e Discovery ha tentato di associarlo a una risorsa

Se un valore del tag per il livello di sensibilità viene eliminato o rinominato e la Protezione dei dati sensibili tenta di associare quel 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 si fa riferimento nella configurazione della ricerca di annunci. Per ulteriori informazioni, vedi Creare un tag di livello di sensibilità in questa pagina.
  • Se il valore del tag è stato rinominato, aggiorna la configurazione della scansione discovery in modo da utilizzare 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 collegare il tag del livello di sensibilità alle risorse sottoposte a profilazione, 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, segui questi passaggi:

  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 di rilevamento

    2. Seleziona la configurazione della scansione.
    3. Nella pagina dei dettagli che si apre, copia l'ID agente di servizio. Questo ID è nel formato di un indirizzo email.
  2. Concedi all'agente di servizio il ruolo Utenti tag (roles/resourcemanager.tagUser) per il 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 delle autorizzazioni specifiche per le risorse per gestire le associazioni dei tag. Devi avere le autorizzazioni createTagBinding, deleteTagBinding e listEffectiveTags specifiche per la risorsa. Ad esempio, per le tabelle BigQuery, sono necessari:

    • 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