Taggare tabelle e set di dati
Questo documento descrive come utilizzare i tag per applicare le modifiche in modo condizionale Identity and Access Management (IAM) alle tabelle e ai set di dati BigQuery.
Un tag è una coppia chiave-valore che puoi collegare direttamente a una tabella o a un set di dati.
o quella che una tabella o un set di dati può
Eredita da un altro
dell'accesso a specifiche
risorse Google Cloud. Puoi applicare i criteri in modo condizionale in base a
se una risorsa ha un tag specifico. Ad esempio, puoi decidere in modo condizionale
concedi il ruolo Visualizzatore dati BigQuery a un'entità su qualsiasi set di dati con
Tag environment:dev
.
Per ulteriori informazioni sull'utilizzo dei tag in Google Cloud la gerarchia delle risorse, consulta Panoramica dei tag.
Per concedere le autorizzazioni a molte risorse BigQuery correlate nella e risorse che non esistono ancora, valuta la possibilità di Condizioni IAM.
Prima di iniziare
Devi assegnare ruoli IAM che diano agli utenti le risorse necessarie autorizzazioni per eseguire ogni attività in questo documento. Devi inoltre creare e i valori dei tag da associare alle risorse.
Autorizzazioni obbligatorie
Per utilizzare i tag in BigQuery, devi disporre delle seguenti autorizzazioni:
- Per associare un tag a una tabella, è necessario il valore
Autorizzazione IAM
bigquery.tables.createTagBinding
per e l'autorizzazioneresourcemanager.tagValueBindings.create
in a livello di progetto sul valore tag che vuoi collegare. - Per collegare un tag a un set di dati, è necessario
Autorizzazione IAM
bigquery.datasets.createTagBinding
per e l'autorizzazioneresourcemanager.tagValueBindings.create
nel set di dati a livello di progetto sul valore tag che vuoi collegare. - Per rimuovere un tag da una tabella, è necessario il valore
Autorizzazione IAM
bigquery.tables.deleteTagBinding
per e l'autorizzazioneresourcemanager.tagValueBindings.delete
in a livello di progetto per il valore del tag che vuoi eliminare. - Per rimuovere un tag da un set di dati, è necessario
Autorizzazione IAM
bigquery.datasets.deleteTagBinding
per e l'autorizzazioneresourcemanager.tagValueBindings.delete
nel set di dati a livello di progetto per il valore del tag che vuoi eliminare. - Per elencare le chiavi tag associate a un'organizzazione principale oppure
nel riquadro Modifica dettagli di una tabella o di un set di dati, devi avere
resourcemanager.tagKeys.list
a livello principale della chiave tag e l'autorizzazioneresourcemanager.tagKeys.get
per ogni chiave tag. - per elencare i valori dei tag delle chiavi associate a un'organizzazione principale
o progetto nel riquadro Modifica dettagli di una tabella o di un set di dati, devi avere
Autorizzazione
resourcemanager.tagValues.list
a livello principale del valore tag e l'autorizzazioneresourcemanager.tagValues.get
per ogni valore tag.
Se utilizzi i tag con l'API Cloud Resource Manager o gcloud, devi disporre anche delle seguenti autorizzazioni:
- Per visualizzare l'elenco dei tag associati a un
con l'API Cloud Resource Manager o gcloud CLI, devi avere
l'autorizzazione IAM
bigquery.tables.listTagBindings
. - Per elencare i tag effettivi per
una tabella, è necessario il
bigquery.tables.listEffectiveTags
Autorizzazione IAM. - Per elencare i tag associati a un
dataset con l'API Cloud Resource Manager o gCloud CLI,
è necessaria l'autorizzazione IAM
bigquery.datasets.listTagBindings
. - Per elencare i tag effettivi per
un set di dati, è necessario
bigquery.datasets.listEffectiveTags
Autorizzazione IAM.
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
).
Puoi utilizzare i tag anche per negare l'accesso in modo condizionale con criteri IAM alle tabelle BigQuery dei set di dati (anteprima). Per ulteriori informazioni, consulta Criteri di negazione.
Creare chiavi e valori dei tag
Prima di poter collegare un tag, devi crearne uno e configurarne il valore. Per creare chiavi e valori di tag, consulta Creazione di un tag e Aggiunta dei valori dei tag.
Tabelle di tag
Le seguenti sezioni descrivono come collegare tag a tabelle nuove ed esistenti. elencare i tag collegati a una tabella e scollegarli da una tabella.
Associa i tag quando crei una nuova tabella
Dopo aver creato un tag, puoi allegarlo a una nuova tabella. Puoi allegare un solo valore tag per tabella per una determinata chiave tag. Puoi associare a una tabella un massimo di 50 tag.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e seleziona una del set di dati.
Nella sezione Informazioni sul set di dati, fai clic su
Crea tabella.Inserisci le informazioni per la nuova tabella. Per ulteriori dettagli, vedi Creare e utilizzare le tabelle.
Nella sezione Tag, seleziona i tag che desideri aggiungere al nuova tabella.
Fai clic su Crea tabella.
bq
Utilizza la
Comando bq mk --table
con il flag --add_tags
:
bq mk --table \ --schema=SCHEMA \ --add_tags=TAG \ PROJECT_ID:DATASET_ID.TABLE_ID
Sostituisci quanto segue:
SCHEMA
: la definizione dello schema in linea.TAG
: il tag che stai collegando al nuovo tabella. Più tag sono separati da virgole. Ad esempio:556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere il nome breve della chiave e del valore con spazio dei nomi.PROJECT_ID
: l'ID del progetto in cui ti trovi per creare una tabella.DATASET_ID
: l'ID del set di dati in cui ti trovi per creare una tabella.TABLE_ID
: l'ID della nuova tabella che stai è in fase di creazione.
Terraform
Utilizza la
google_bigquery_table
risorsa.
Per eseguire l'autenticazione in BigQuery, configura il valore predefinito dell'applicazione Credenziali. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
L'esempio seguente crea una tabella denominata mytable
, quindi la collega
completando il campo resource_tags
:
Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi nelle seguenti sezioni.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti in Terraform di configurazione del deployment.
Prepara la directory
Ogni file di configurazione Terraform deve avere una directory (inoltre chiamato modulo principale).
-
In Cloud Shell, crea una directory e un nuovo
all'interno di quella directory. Il nome file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file è denominatomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel nuovo oggetto
main.tf
.Facoltativamente, copia il codice da GitHub. Opzione consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Se vuoi, per utilizzare la versione più recente del provider Google, includi l'opzione
-upgrade
:terraform init -upgrade
Applica le modifiche
-
Rivedi la configurazione e verifica che le risorse che Terraform creerà o
che l'aggiornamento soddisfi le tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yes
alla richiesta:terraform apply
Attendi finché Terraform non visualizzi il messaggio "Applicazione completata!". per creare un nuovo messaggio email.
- Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nella UI per assicurarti create o aggiornate da Terraform.
API
Chiama il
Metodo tables.insert
con una risorsa di tabella definita.
Includi i tag nel campo resource_tags
.
Associa tag a una tabella esistente
Dopo aver creato un tag, puoi collegarlo a una tabella esistente. Puoi associare solo un valore del tag a una tabella per una determinata chiave del tag.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona una tabella.
Nella scheda Dettagli, fai clic su
Modifica dettagli.Nella sezione Tag, seleziona i tag che desideri aggiungere al tabella.
Fai clic su Salva.
bq
Utilizza il
comando bq update
con il flag --add_tags
:
bq update \ --add_tags=TAG \ PROJECT_ID:DATASET_ID.TABLE_ID
Sostituisci quanto segue:
TAG
: il tag che stai collegando a tabella. Più tag sono separati da virgole. Ad esempio:556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere il nome breve della chiave e del valore con spazio dei nomi.PROJECT_ID
: l'ID del progetto che contiene della tabella.DATASET_ID
: l'ID del set di dati che contiene della tabella.TABLE_ID
: l'ID della tabella che stai aggiornamento in corso.
gcloud
Per associare un tag a una tabella utilizzando la riga di comando, crea una risorsa di associazione dei tag utilizzando il comando gcloud resource-manager tags bindings create
:
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAGVALUE_NAME
: l'ID permanente o nome con spazio dei nomi del valore del tag da associare, cometagValues/4567890123
o1234567/my_tag_key/my_tag_value
.RESOURCE_ID
: l'ID completo della tabella, 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/my_table
LOCATION
: il valore località della tabella.
Terraform
Aggiungi tag al campo resource_tags
della tabella, quindi applica il metodo
ha aggiornato la configurazione utilizzando la risorsa google_bigquery_table
. Per maggiori informazioni, consulta l'esempio di Terraform in Associare i tag quando crei una nuova tabella.
API
Chiama il
metodo tables.update
con una risorsa tabella definita.
Includi i tag nel campo resource_tags
.
Elenca i tag collegati a una tabella
Puoi elencare i tag collegati direttamente a una tabella. Questa procedura non elenca i tag ereditati dalle risorse principali.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona una tabella.
I tag sono visibili nella scheda Dettagli.
bq
Utilizza la
Comando bq show
e cerca la colonna tags
. Se nella tabella non sono presenti tag, la colonna tags
non viene visualizzata.
bq show \ PROJECT_ID:DATASET_ID.TABLE_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene della tabella.DATASET_ID
: l'ID del set di dati che contiene della tabella.TABLE_ID
: l'ID della tabella.
gcloud
Per ottenere un elenco di associazioni di tag associate a una risorsa, utilizza il
comando gcloud resource-manager tags bindings list
:
gcloud resource-manager tags bindings list \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
RESOURCE_ID
: l'ID completo della tabella, 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/my_table
.LOCATION
: la località del set di dati.
L'output è simile al seguente:
name: tagBindings///bigquery.googleapis.com/projects/my_project/datasets/my_dataset/tagValues/4567890123 parent: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset tagValue: tagValues/4567890123
Terraform
Usa il comando terraform state show
per elencare gli attributi del
incluso il campo resource_tags
. Esegui questo comando
nella directory dove il file di configurazione Terraform della tabella è
vengono eseguiti tutti i test delle unità.
terraform state show google_bigquery_table.default
API
Chiama il
Metodo tables.get
con una risorsa di tabella definita
e cerca il campo resource_tags
.
Visualizzazioni
Utilizza la
visualizzazione INFORMATION_SCHEMA.TABLE_OPTIONS
.
Ad esempio, la seguente query mostra tutti i tag associati a tutte le tabelle di un
set di dati. Questa query restituisce una tabella con colonne tra cui schema_name
(il nome del set di dati), option_name
(sempre 'tags'
),
object_type
(sempre ARRAY<STRUCT<STRING, STRING>>
) e option_value
,
che contiene array di STRUCT
oggetti che rappresentano i tag associati
per ogni set di dati. Per le tabelle senza tag assegnati, la colonna option_value
restituisce un array vuoto.
SELECT * from DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS WHERE option_name='tags'
Sostituisci DATASET_ID
con l'ID del set di dati
che contiene la tabella.
Scollegare i tag da una tabella
Per rimuovere un'associazione di tag da una tabella, elimina l'associazione di tag. Se devi eliminare un tag, devi prima scollegarlo.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona una tabella.
Nella scheda Dettagli, fai clic su
Modifica dettagli.Nella sezione Tag, rimuovi i tag che vuoi scollegare dalla tabella.
Fai clic su Salva.
bq
Per rimuovere alcuni tag da una tabella, utilizza il metodo
Comando bq update
con il flag --remove_tags
:
bq update \ --remove_tags=TAG_KEYS \ PROJECT_ID:DATASET_ID.TABLE_ID
Sostituisci quanto segue:
TAG_KEYS
: le chiavi dei tag che stai scollegando dalla tabella, separati da virgole. Ad esempio:556741164180/env,myProject/department
. Ogni chiave tag deve avere nome chiave con spaziatura dei nomi.PROJECT_ID
: l'ID del progetto che contiene la tabella.DATASET_ID
: l'ID del set di dati che contiene della tabella.TABLE_ID
: l'ID della tabella che stai aggiornando.
Per rimuovere tutti i tag da una tabella, utilizza il metodo
Comando bq update
con il flag --clear_all_tags
:
bq update \ --clear_all_tags \ PROJECT_ID:DATASET_ID.TABLE_ID
gcloud
Per rimuovere un'associazione di tag da una tabella utilizzando la riga di comando, elimina l'associazione del tag utilizzando il comando gcloud resource-manager tags bindings delete
:
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAGVALUE_NAME
: l'ID permanente o nome con spazio dei nomi del valore del tag da eliminare, cometagValues/4567890123
o1234567/my_tag_key/my_tag_value
.RESOURCE_ID
: l'ID completo della tabella, 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/my_table
.LOCATION
: il valore località del set di dati.
Terraform
Rimuovi i tag dal campo resource_tags
della tabella e poi applicali
la configurazione aggiornata utilizzando la risorsa google_bigquery_table
.
API
Chiama il
Metodo tables.update
con una risorsa di tabella definita
e rimuovi i tag nel campo resource_tags
. Per rimuovere tutti i tag, rimuovi
il campo resource_tags
.
Taggare i set di dati
Le seguenti sezioni descrivono come collegare tag a set di dati nuovi ed esistenti, elencare i tag collegati a un set di dati e scollegare i tag da un set di dati.
Collega i tag quando crei un nuovo set di dati
Dopo aver creato un tag, puoi collegarlo a una nuova versione di BigQuery del set di dati. Puoi collegare un solo valore tag a un set di dati per ogni chiave tag specificata. Puoi collegare un massimo di 50 tag a un set di dati.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, seleziona il progetto in cui vuoi creare il set di dati.
Clic more_vert Visualizza azioni > Crea set di dati.
Nel menu Tag, fai clic su Seleziona ambito.
Seleziona l'ambito per i tag.
Seleziona e aggiungi i tag da aggiungere al set di dati.
Fai clic su Crea set di dati.
bq
Utilizza il
comando bq mk --dataset
con il flag --add_tags
:
bq mk --dataset \ --add_tags=TAG \ PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
TAG
: il tag che stai collegando al nuovo del set di dati. Più tag sono separati da virgole. Ad esempio,556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere nome breve della chiave e del valore con spazio dei nomi.PROJECT_ID
: l'ID del progetto in cui ti trovi la creazione di un set di dati.DATASET_ID
: l'ID del nuovo set di dati di cui stanno creando.
Terraform
Utilizza la
google_bigquery_dataset
.
Per eseguire l'autenticazione in BigQuery, configura il valore predefinito dell'applicazione Credenziali. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente crea un set di dati denominato my_dataset
, quindi lo collega
completando il campo resource_tags
:
Per applicare la configurazione Terraform a un progetto Google Cloud, completa i passaggi nella le sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito dove vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti in Terraform di configurazione del deployment.
Prepara la directory
Ogni file di configurazione Terraform deve avere una directory (inoltre chiamato modulo principale).
-
In Cloud Shell, crea una directory e un nuovo
all'interno di quella directory. Il nome file deve contenere i caratteri
.tf
, ad esempiomain.tf
. In questo tutorial, il file è denominatomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel nuovo oggetto
main.tf
.Facoltativamente, copia il codice da GitHub. Opzione consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Se vuoi, per utilizzare la versione più recente del provider Google, includi l'opzione
-upgrade
:terraform init -upgrade
Applica le modifiche
-
Rivedi la configurazione e verifica che le risorse che Terraform creerà o
che l'aggiornamento soddisfi le tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yes
alla richiesta:terraform apply
Attendi che Terraform mostri il messaggio "Applicazione completata".
- Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nella UI per assicurarti create o aggiornate da Terraform.
API
Chiama il
Metodo datasets.insert
e aggiungi i tuoi tag nel campo resource_tags
.
Collega tag a un set di dati esistente
Dopo aver creato un tag, puoi collegarlo a un set di dati esistente. Puoi associare solo un valore del tag a un set di dati per una determinata chiave del tag.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.
Nella sezione Informazioni sul set di dati, fai clic su
Modifica dettagli.Nella sezione Tag, seleziona i tag che desideri aggiungere al del set di dati.
Fai clic su Salva.
bq
Utilizza la
Comando bq update
con il flag --add_tags
:
bq update \ --add_tags=TAG \ PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
TAG
: il tag che stai collegando al set di dati. Più tag sono separati da virgole. Ad esempio:556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere nome breve della chiave e del valore con spazio dei nomi.PROJECT_ID
: l'ID del progetto in cui è presente in cui si trova il set di dati.DATASET_ID
: l'ID del set di dati esistente.
gcloud
Per associare un tag a un set di dati utilizzando la riga di comando, crea una risorsa di associazione dei tag utilizzando il comando gcloud resource-manager tags bindings create
:
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAGVALUE_NAME
: l'ID permanente o nome con spazio dei nomi del valore del tag da associare, cometagValues/4567890123
o1234567/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
: dalla località del set di dati.
Terraform
Aggiungi tag al campo resource_tags
del set di dati, quindi applica il metodo
ha aggiornato la configurazione utilizzando la risorsa google_bigquery_dataset
. Per maggiori informazioni, consulta l'esempio di Terraform in Collegare i tag quando crei un nuovo set di dati.
API
Chiama il
Metodo datasets.get
per ottenere la risorsa del set di dati, incluso il campo resource_tags
. Aggiungi i tag al campo resource_tags
e passa la risorsa del set di dati aggiornato utilizzando il metodo datasets.update
.
Elenca i tag associati a un set di dati
I passaggi seguenti forniscono un elenco di associazioni di tag collegate direttamente a un del set di dati. Non restituiscono tag ereditati da un'unità organizzativa principale. Google Cloud.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.
I tag vengono visualizzati nella sezione Informazioni set di dati.
bq
Per elencare i tag collegati a un set di dati, utilizza
Comando bq show
.
bq show PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene del set di dati.DATASET_ID
: l'ID del set di dati per il quale voglio elencare i tag.
gcloud
Per ottenere un elenco di associazioni di tag collegate a una risorsa, utilizza il metodo
Comando gcloud resource-manager tags bindings list
:
gcloud 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 set di dati.
L'output è simile al seguente:
name: tagBindings///bigquery.googleapis.com/projects/my_project/datasets/my_dataset/tagValues/4567890123 parent: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset tagValue: tagValues/4567890123
Terraform
Usa il comando terraform state show
per elencare gli attributi del
incluso il campo resource_tags
. Esegui questo comando
nella directory dove il file di configurazione Terraform del set di dati è stato
vengono eseguiti tutti i test delle unità.
terraform state show google_bigquery_dataset.default
API
Chiama il
Metodo datasets.get
per ottenere la risorsa del set di dati. La risorsa dataset include tag associati
il set di dati nel campo resource_tags
.
Visualizzazioni
Utilizza la
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
visualizzazione.
Ad esempio, la seguente query mostra tutti i tag associati a tutti i set di dati
in una regione. Questa query restituisce una tabella con colonne tra cui schema_name
(i nomi del set di dati), option_name
(sempre 'tags'
),
object_type
(sempre ARRAY<STRUCT<STRING, STRING>>
) e option_value
,
che contiene array di STRUCT
oggetti che rappresentano i tag associati
per ogni set di dati. Per i set di dati senza tag assegnati, la colonna option_value
restituisce un array vuoto.
SELECT * from region-REGION.INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name='tags'
Sostituisci quanto segue:
REGION
: la regione in cui si trovano i set di dati.
Scollegare i tag da un set di dati
Puoi scollegare un tag da una risorsa eliminando la risorsa di associazione di tag. Se devi eliminare un tag, devi prima scollegarlo.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.
Nella sezione Informazioni sul set di dati, fai clic su
Modifica dettagli.Nella sezione Tag, fai clic su
Elimina elemento accanto a che desideri eliminare.Fai clic su Salva.
bq
Utilizza la
Comando bq update
con il flag --remove_tags
:
bq update \ --remove_tags=REMOVED_TAG \ PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
REMOVED_TAG
: il tag da cui stai rimuovendo il set di dati. Più tag sono separati da virgole. Accetta solo chiavi senza coppie di valori. Ad esempio,556741164180/env,myProject/department
. Ogni tag deve avere nome chiave con spaziatura dei nomi.PROJECT_ID
: l'ID del progetto che contiene il tuo set di dati.DATASET_ID
: l'ID del set di dati per scollegare i tag da cui proviene.
In alternativa, se vuoi rimuovere tutti i tag da un set di dati, utilizza la
Comando bq update
con il flag --clear_all_tags
:
bq update \ --clear_all_tags PROJECT_ID:DATASET_ID
gcloud
Per scollegare un tag da un set di dati utilizzando la riga di comando, elimina il tag
l'associazione utilizzando
Comando gcloud resource-manager tags bindings delete
:
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAGVALUE_NAME
: l'ID permanente o nome con spazio dei nomi del valore del tag da scollegare, cometagValues/4567890123
o1234567/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 posizione del tuo set di dati.
Terraform
Rimuovi i tag dal campo resource_tags
del set di dati, quindi applica la configurazione aggiornata utilizzando la risorsa google_bigquery_dataset
.
API
Chiama il
Metodo datasets.get
per ottenere la risorsa del set di dati, incluso il campo resource_tags
. Rimuovi
i tuoi tag dal campo resource_tags
e passano il set di dati aggiornato
utilizzando la classe
Metodo datasets.update
.
Elimina tag
Non puoi eliminare un tag se fa riferimento a una tabella o a un set di dati. Dovresti Scollega tutte le risorse di associazione di tag esistenti prima di eliminare la chiave tag. o il valore stesso. Per eliminare le chiavi e i valori dei tag, consulta: Eliminazione dei tag.
Esempio
Supponiamo che tu sia l'amministratore di un'organizzazione. Il tuo
gli analisti di dati sono tutti membri del gruppo [email protected], che presenta
Ruolo IAM Visualizzatore dati BigQuery nel progetto userData
. Un dato
Lo stagista viene assunto e, in base alla politica aziendale, questi ultimi devono solo
disponi dell'autorizzazione per visualizzare il set di dati anonymousData
nel progetto userData
.
Puoi controllarne l'accesso utilizzando i tag.
Creare un tag con la chiave
employee_type
e il valoreintern
:Nella console Google Cloud, vai alla pagina IAM.
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.Dal menu Ruolo, seleziona Visualizzatore dati BigQuery.
Fai clic su Aggiungi condizione.
Nei campi Titolo e Descrizione, inserisci i valori che descrivono Condizione del tag IAM che vuoi creare.
Nella scheda Generatore di condizioni, fai clic su Aggiungi.
Nel menu Tipo di condizione, seleziona Risorsa, poi Tag.
Nel menu Operatore, seleziona ha valore.
Nel campo Percorso valore, inserisci il percorso valore tag nel modulo.
ORGANIZATION/TAG_KEY/TAG_VALUE
. Ad esempio:example.org/employee_type/intern
.Questa condizione del tag IAM limita l'accesso dello stagista a set di dati contenenti il tag
intern
.Per salvare la condizione del tag, fai clic su Salva.
Per salvare le modifiche apportate nel riquadro Modifica autorizzazioni, fai clic su Salva.
Per associare il valore del tag
intern
al set di datianonymousData
, utilizza la riga di comando per eseguire il comandogcloud resource-manager tags bindings create
:gcloud resource-manager tags bindings create \ --tag-value=tagValues/4567890123 \ --parent=//bigquery.googleapis.com/projects/userData/datasets/anonymousData \ --location=US
Limitazioni
I tag tabella non sono supportati nelle tabelle e nelle tabelle BigQuery Omni in set di dati nascosti o tabelle temporanee. Inoltre, le query tra regioni in BigQuery Omni non utilizzano i tag durante i controlli di controllo dell'accesso alle tabelle in altre regioni.
Puoi collegare un massimo di 50 tag a una tabella o a un set di dati.
Tutte le tabelle a cui viene fatto riferimento in una query con caratteri jolly devono avere esattamente lo stesso set di chiavi e valori dei tag.
Alcuni servizi esterni a BigQuery non possono verificare correttamente le condizioni dei tag IAM. Se il tag è positiva, ovvero viene concesso a un utente un ruolo su una risorsa solo se quella risorsa ha un determinato tag, viene negato l'accesso indipendentemente dai tag associati. Se la condizione del tag è negativo, vale a dire che a un utente viene concesso un ruolo su una risorsa solo se la risorsa non ha un determinato tag, la condizione del tag non selezionato.
Ad esempio, Data Catalog non può verificare il tag IAM dei set di dati BigQuery. Supponiamo che esista un criterio IAM condizionale che assegni a uno stagista il ruolo Visualizzatore dati BigQuery nei set di dati con il tag
employee_type=intern
. Poiché si tratta di una condizione di tag positiva, il tirocinante non può visualizzare i set di dati cercandoli in Data Catalog anche se questi set di dati hanno il tagemployee_type=intern
. Se la condizione del tag è stata modificata in una negativa, in modo che lo stagista potesse visualizzare solo i set di dati che non avevano il tagemployee_type=intern
, il controllo verrebbe saltato del tutto e lo stagista potrebbe visualizzare i set di dati a cui normalmente non poteva accedere in BigQuery.
Passaggi successivi
- Per una panoramica dei tag in Google Cloud, consulta Panoramica dei tag.
- Per ulteriori informazioni su come utilizzare i tag, consulta Creare e gestire .
- Per informazioni su come controllare l'accesso a BigQuery di risorse con condizioni IAM, consulta Controlla l'accesso con le condizioni IAM.