Set di dati di tag

In questa pagina viene spiegato come utilizzare i tag per applicare condizionalmente i criteri Identity and Access Management (IAM) ai set di dati BigQuery.

Un tag è una coppia chiave-valore che puoi collegare direttamente a un set di dati oppure che un set di dati può ereditare da altre risorse Google Cloud. Puoi applicare condizionalmente i criteri in base al fatto che una risorsa abbia o meno un tag specifico. Ad esempio, potresti concedere in modo condizionale il ruolo Visualizzatore dati BigQuery a un'entità su qualsiasi set di dati con il tag environment:dev.

Per ulteriori informazioni sull'utilizzo dei tag nella gerarchia delle risorse di Google Cloud, consulta la panoramica dei tag.

Autorizzazioni obbligatorie

Per utilizzare i tag in BigQuery, devi disporre delle seguenti autorizzazioni:

  • Per associare un tag a un set di dati, devi disporre dell'autorizzazione IAM bigquery.datasets.createTagBinding sul set di dati e dell'autorizzazione resourcemanager.tagValueBindings.create a livello di organizzazione per il valore del tag da collegare.
  • Per rimuovere un tag da un set di dati, devi avere l'autorizzazione IAM bigquery.datasets.deleteTagBinding sul set di dati e l'autorizzazione resourcemanager.tagValueBindings.delete a livello di organizzazione sul valore del tag che vuoi eliminare.
  • Per elencare i tag associati a un set di dati, devi disporre dell'autorizzazione IAM bigquery.datasets.listTagBindings.

Entrambi i seguenti ruoli IAM predefiniti includono tutte le autorizzazioni BigQuery necessarie:

  • Proprietario dati BigQuery (roles/bigquery.dataOwner)
  • Amministratore BigQuery (roles/bigquery.admin)

Le autorizzazioni di Resource Manager sono incluse nel ruolo Utente tag (roles/resourcemanager.tagUser).

Crea chiavi e valori tag

Prima di collegare un tag, devi crearne uno e configurarne il valore. Per creare chiavi tag e valori tag, consulta Creazione di un tag e Aggiunta di valori tag.

Associare i tag a un set di dati

Dopo aver creato un tag, puoi collegarlo a un set di dati. Puoi collegare un solo valore tag a un set di dati per ogni chiave tag specificata.

Per associare un tag a un set di dati utilizzando la riga di comando, crea una risorsa di associazione di tag utilizzando il comando gcloud alpha resource-manager tags bindings create:

gcloud alpha resource-manager tags bindings create \
    --tag-value=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

Sostituisci quanto segue:

  • TAGVALUE_NAME: l'ID permanente o il nome con spazio dei nomi del valore tag da collegare, ad esempio tagValues/4567890123 o 1234567/my_tag_key/my_tag_value
  • RESOURCE_ID: l'ID completo del set di dati, compreso il nome di dominio dell'API (//bigquery.googleapis.com/) per identificare il tipo di risorsa, ad esempio //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
  • LOCATION: la località del tuo set di dati

Elenca i tag associati a un set di dati

I passaggi seguenti forniscono un elenco di associazioni di tag collegate direttamente a un set di dati. Non restituiscono tag ereditati dalle risorse padre.

console

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.

    I tag vengono visualizzati nel riquadro Informazioni sul set di dati.

gcloud

Per ottenere un elenco di associazioni di tag associate a una risorsa, utilizza il comando gcloud alpha resource-manager tags bindings list:

gcloud alpha resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=LOCATION

Sostituisci quanto segue:

  • RESOURCE_ID: l'ID completo del set di dati, incluso il nome di dominio dell'API (//bigquery.googleapis.com/) per identificare il tipo di risorsa, ad esempio //bigquery.googleapis.com/projects/my_project/datasets/my_dataset

  • LOCATION: la località del tuo set di dati

L'output è simile al seguente:

name: tagBindings/%2F%2Fbigquery.googleapis.com%2Fprojects%2Fmy_project%2Fdatasets%2Fmy_dataset/tagValues/4567890123
parent: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
tagValue: tagValues/4567890123

Scollegare i tag da un set di dati

Puoi scollegare un tag da una risorsa eliminando la risorsa associata al tag. Se devi eliminare un tag, devi prima scollegarlo.

Per scollegare un tag da un set di dati utilizzando la riga di comando, elimina l'associazione di tag utilizzando il comando gcloud alpha resource-manager tags bindings delete:

gcloud alpha resource-manager tags bindings delete \
    --tag-value=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

Sostituisci quanto segue:

  • TAGVALUE_NAME: l'ID permanente o il nome con spazio dei nomi del valore tag da allegare, ad esempio tagValues/4567890123 o 1234567/my_tag_key/my_tag_value
  • RESOURCE_ID: l'ID completo del set di dati, incluso il nome di dominio dell'API (//bigquery.googleapis.com/) per identificare il tipo di risorsa, ad esempio //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
  • LOCATION: la località del tuo set di dati

Elimina tag

Devi eliminare tutte le risorse di associazione di tag esistenti prima di eliminare la chiave o il valore stesso. Per eliminare chiavi chiave e valori dei tag, consulta Eliminazione dei tag.

Esempio

Supponiamo che tu sia l'amministratore di un'organizzazione. Gli analisti di dati sono tutti membri del gruppo analyst@example.com, che ha il ruolo IAM Visualizzatore dati BigQuery nel progetto userData. È previsto l'assunzione di uno stagista analista di dati e, in base alle norme aziendali, deve avere l'autorizzazione solo per visualizzare il set di dati anonimoData nel progetto userData. Puoi controllare il loro accesso tramite i tag.

  1. Crea un tag con la chiave employee_type e il valore intern:

    Esempio di creazione di chiave tag e valori.

  2. Nella console, vai alla pagina IAM.

    Vai a IAM

  3. Individua la riga contenente lo stagista di cui vuoi limitare l'accesso al set di dati e fai clic su Modifica entità in quella riga.

  4. Nel menu Ruolo, seleziona Visualizzatore set di dati BigQuery.

  5. Fai clic su Aggiungi condizione.

  6. Nei campi Titolo e Descrizione, inserisci i valori che descrivono la condizione IAM che vuoi creare.

  7. Nella scheda Generatore di condizioni, fai clic su Aggiungi.

  8. Nel menu Tipo di condizione, seleziona Risorsa e poi Tag.

  9. Nel menu Operatore, seleziona con valore.

  10. Nel campo Percorso valore, inserisci il percorso del valore del tag nel modulo ORGANIZATION/TAG_KEY/TAG_VALUE, ad esempio example.org/employee_type/intern.

    Esempio di condizione IAM che utilizza i tag.

    Questa condizione IAM limita l'accesso degli utenti interni ai set di dati che hanno il tag intern.

  11. Per salvare la condizione, fai clic su Salva.

  12. Per salvare tutte le modifiche apportate nel riquadro Modifica autorizzazioni, fai clic su Salva.

  13. Per collegare il valore del tag intern al set di dati anonimoData, utilizza la riga di comando per eseguire il comando gcloud alpha resource-manager tags bindings create:

    gcloud alpha resource-manager tags bindings create \
    --tag-value=tagValues/4567890123 \
    --parent=//bigquery.googleapis.com/projects/userData/datasets/anonymousData \
    --location=US
    

Limitazioni

  • Se elimini un valore tag, BigQuery non elimina automaticamente le associazioni di tag che lo utilizzano. L'ID valore tag è necessario per eliminare un'associazione di tag dopo l'eliminazione del valore tag. Se non conosci l'ID valore del tag, l'unico modo per rimuovere l'associazione consiste nell'eliminare l'intero set di dati.

  • Puoi collegare a un set di dati un massimo di 10 tag.

Passaggi successivi