Tagga tabelle, viste e set di dati
Questo documento descrive come utilizzare i tag per applicare in modo condizionale i criteri Identity and Access Management (IAM) a tabelle, viste e set di dati BigQuery.
Puoi anche utilizzare i tag per negare l'accesso in modo condizionale con i criteri IAM a tabelle, viste e set di dati BigQuery (anteprima). Per ulteriori informazioni, consulta Policy di negazione.
Un tag è una coppia chiave-valore che puoi collegare direttamente a una tabella, una vista o un
set di dati oppure una coppia chiave-valore che una tabella, una vista o un set di dati può
ereditare da altre
Trusted Cloud risorse. Puoi applicare le policy in modo condizionale a seconda che una risorsa abbia un tag specifico. Ad esempio, potresti concedere in modo condizionale il ruolo Visualizzatore dati BigQuery a un principal su qualsiasi set di dati con il tag environment:dev
.
Per saperne di più sull'utilizzo dei tag nella gerarchia delle risorse Trusted Cloud by S3NS, consulta la panoramica dei tag.
Per concedere le autorizzazioni a molte risorse BigQuery correlate contemporaneamente, incluse quelle che non esistono ancora, valuta la possibilità di utilizzare le condizioni IAM.
Limitazioni
I tag delle tabelle non sono supportati nelle tabelle BigQuery Omni, nelle tabelle nei set di dati nascosti o nelle tabelle temporanee. I tag dei set di dati non sono supportati nei set di dati BigQuery Omni. Inoltre, le query tra regioni in BigQuery Omni non utilizzano i tag durante i controlli di controllo dell'accesso delle 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 insieme di chiavi e valori dei tag.
Gli utenti con accesso condizionale a un set di dati o a una tabella non possono modificare le autorizzazioni per quella risorsa tramite la console Trusted Cloud . Le modifiche alle autorizzazioni sono supportate solo tramite lo strumento bq e l'API BigQuery.
Alcuni servizi esterni a BigQuery non possono verificare correttamente le condizioni dei tag IAM. Se la condizione del tag è positiva, il che significa che a un utente viene concesso un ruolo su una risorsa solo se questa ha un tag particolare, l'accesso alla risorsa viene negato indipendentemente dai tag collegati. Se la condizione del tag è negativa, il che significa che a un utente viene concesso un ruolo su una risorsa solo se questa risorsa non ha un tag specifico, la condizione del tag non viene controllata.
Ad esempio, Data Catalog non può verificare le condizioni dei tag IAM su set di dati e tabelle BigQuery. Supponiamo che esista un criterio IAM condizionale che assegna 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, lo stagista non può visualizzare i set di dati eseguendo ricerche in Data Catalog anche se questi set di dati hanno il tagemployee_type=intern
. Se la condizione del tag è stata modificata in modo negativo, in modo che lo stagista possa visualizzare solo i set di dati che non hanno il tagemployee_type=intern
, allora il controllo verrà completamente ignorato e lo stagista potrà visualizzare i set di dati a cui normalmente non potrebbe accedere in BigQuery.
Ruoli obbligatori
Devi concedere ruoli IAM che forniscano agli utenti le autorizzazioni necessarie per eseguire ogni attività descritta in questo documento.
Entrambi i seguenti ruoli IAM predefiniti includono tutte le autorizzazioni BigQuery necessarie:
- BigQuery Data Owner (
roles/bigquery.dataOwner
) - Amministratore BigQuery (
roles/bigquery.admin
)
Le autorizzazioni di Resource Manager per l'aggiunta e la rimozione di tag sono incluse nel
ruolo Utente tag
(roles/resourcemanager.tagUser
).
Autorizzazioni obbligatorie
Per utilizzare i tag in BigQuery, devi disporre delle seguenti autorizzazioni:
Operazione | Interfacce BigQuery (API, CLI, console) e Terraform | API Cloud Resource Manager o gcloud |
---|---|---|
Allegare un tag a una tabella o una vista |
|
|
Rimuovere un tag da una tabella o una visualizzazione |
|
|
Allegare un tag a un set di dati |
|
|
Rimuovere un tag da un set di dati |
|
|
Per elencare le chiavi e i valori dei tag nella console Trusted Cloud , devi disporre delle seguenti autorizzazioni:
Per elencare le chiavi tag associate a un'organizzazione o a un progetto padre, devi disporre dell'autorizzazione
resourcemanager.tagKeys.list
a livello di organizzazione padre della chiave tag e dell'autorizzazioneresourcemanager.tagKeys.get
per ogni chiave tag. Per visualizzare l'elenco delle chiavi dei tag nella console BigQuery, fai clic sul nome del set di dati e poi su Modifica dettagli oppure fai clic sul nome della tabella o della visualizzazione e poi su Dettagli > Modifica dettagli.Per elencare i valori dei tag delle chiavi associate a un'organizzazione o a un progetto padre, devi disporre dell'autorizzazione
resourcemanager.tagValues.list
a livello di elemento padre del valore del tag e dell'autorizzazioneresourcemanager.tagValues.get
per ogni valore del tag. Per visualizzare l'elenco dei valori delle chiavi dei tag nella console BigQuery, fai clic sul nome del set di dati e poi su Modifica dettagli oppure fai clic sul nome della tabella o della visualizzazione e poi su Dettagli > Modifica dettagli.
Per utilizzare i tag nell'API Cloud Resource Manager o in gcloud, devi disporre delle seguenti autorizzazioni:
- Per elencare i tag collegati a una tabella o a una vista con l'API Cloud Resource Manager o gcloud CLI, devi disporre dell'autorizzazione IAM
bigquery.tables.listTagBindings
. - Per elencare i tag effettivi per
una tabella o una vista, devi disporre dell'autorizzazione IAM
bigquery.tables.listEffectiveTags
. - Per elencare i tag collegati a un
dataset con l'API Cloud Resource Manager o gcloud CLI,
devi disporre dell'autorizzazione IAM
bigquery.datasets.listTagBindings
. - Per elencare i tag effettivi per un set di dati, devi disporre dell'autorizzazione IAM
bigquery.datasets.listEffectiveTags
.
Creare chiavi e valori dei tag
Puoi creare un tag prima di collegarlo a una risorsa BigQuery oppure puoi creare un tag manualmente quando crei la risorsa utilizzando la consoleTrusted Cloud .
Per informazioni sulla creazione di chiavi e valori tag, consulta Creazione di un tag e Aggiunta di valori tag nella documentazione di Resource Manager.
Assegnare tag ai set di dati
Le sezioni seguenti 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.
Allegare tag quando crei un nuovo set di dati
Dopo aver creato un tag, puoi collegarlo a un nuovo set di dati BigQuery. Puoi collegare un solo valore di tag a un set di dati per una determinata chiave di tag. Puoi allegare un massimo di 50 tag a un set di dati.
Console
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nel riquadro Explorer, seleziona il progetto in cui vuoi creare il set di dati.
Fai clic su > Crea set di dati.
Visualizza azioniInserisci le informazioni per il nuovo set di dati. Per maggiori dettagli, vedi Creare set di dati.
Espandi la sezione Tag.
Per applicare un tag esistente:
Fai clic sulla freccia menu a discesa accanto a Seleziona ambito e scegli Ambito attuale: Seleziona l'organizzazione attuale o Seleziona il progetto attuale.
In alternativa, fai clic su Seleziona ambito per cercare una risorsa o per visualizzare un elenco delle risorse attuali.
Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
Per inserire manualmente un nuovo tag:
Fai clic sulla freccia menu a discesa accanto a Seleziona un ambito e scegli Inserisci manualmente gli ID > Organizzazione, Progetto o Tag.
Se stai creando un tag per il tuo progetto o la tua organizzazione, nella finestra di dialogo inserisci
PROJECT_ID
oORGANIZATION_ID
, quindi fai clic su Salva.Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
(Facoltativo) Per aggiungere altri tag alla tabella, fai clic su Aggiungi tag e segui i passaggi precedenti.
Fai clic su Crea set di dati.
SQL
Utilizza l'istruzione
CREATE SCHEMA
.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE SCHEMA PROJECT_ID.DATASET_ID OPTIONS ( tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che stai creando.TAG_KEY_1
: il nome della chiave con spazio dei nomi che vuoi impostare come primo tag nel set di dati, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag.TAG_VALUE_2
: il nome breve del valore del secondo tag.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
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 allegando al nuovo set di dati. I tag multipli sono separati da virgole. Ad esempio,556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere il nome breve della chiave con spazio dei nomi e il nome breve del valore.PROJECT_ID
: l'ID del progetto in cui stai creando un set di dati.DATASET_ID
: l'ID del nuovo set di dati.
Terraform
Utilizza la risorsa
google_bigquery_dataset
.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
L'esempio seguente crea un set di dati denominato my_dataset
, quindi associa
tag compilando il campo resource_tags
:
Per applicare la configurazione di Terraform in un progetto Trusted Cloud , completa i passaggi nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Trusted 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 nel file di configurazione Terraform.
Prepara la directory
Ogni file di configurazione di Terraform deve avere la propria directory (chiamata anche modulo radice).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file viene 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
main.tf
appena creato.(Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
terraform init
(Facoltativo) Per utilizzare l'ultima versione 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
aggiornerà corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione di Terraform eseguendo il comando seguente e inserendo
yes
al prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).
- Apri il tuo Trusted Cloud progetto per visualizzare i risultati. Nella console Trusted Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
API
Chiama il
metodo datasets.insert
e aggiungi i tag al campo resource_tags
.
Allegare tag a un set di dati esistente
Dopo aver creato un tag, puoi collegarlo a un set di dati esistente. Puoi collegare un solo valore di tag a un set di dati per una determinata chiave di tag.
Console
Nella console Trusted 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.Espandi la sezione Tag.
Per applicare un tag esistente:
Fai clic sulla freccia menu a discesa accanto a Seleziona ambito e scegli Ambito attuale: Seleziona l'organizzazione attuale o Seleziona il progetto attuale.
In alternativa, fai clic su Seleziona ambito per cercare una risorsa o per visualizzare un elenco delle risorse attuali.
Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
Per inserire manualmente un nuovo tag:
Fai clic sulla freccia menu a discesa accanto a Seleziona un ambito e scegli Inserisci manualmente gli ID > Organizzazione, Progetto o Tag.
Se stai creando un tag per il tuo progetto o la tua organizzazione, nella finestra di dialogo inserisci
PROJECT_ID
oORGANIZATION_ID
, quindi fai clic su Salva.Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
(Facoltativo) Per aggiungere altri tag alla tabella, fai clic su Aggiungi tag e segui i passaggi precedenti.
Fai clic su Salva.
SQL
Utilizza l'istruzione
ALTER SCHEMA SET OPTIONS
.
L'esempio seguente sovrascrive tutti i tag per un set di dati esistente.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER SCHEMA PROJECT_ID.DATASET_ID SET OPTIONS ( tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: il nome della tabella che stai taggando.TAG_KEY_1
: il nome della chiave con spazio dei nomi che vuoi impostare come primo tag nella tabella, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag.TAG_VALUE_2
: il nome breve del valore del secondo tag.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
Il seguente esempio utilizza l'operatore +=
per collegare i tag a un set di dati
senza sovrascrivere i tag esistenti. Se un tag esistente ha la stessa chiave, questo
tag viene sovrascritto.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER SCHEMA PROJECT_ID.DATASET_ID SET OPTIONS ( tags += [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: il nome della tabella che stai taggando.TAG_KEY_1
: il nome della chiave con spazio dei nomi che vuoi impostare come primo tag nella tabella, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag.TAG_VALUE_2
: il nome breve del valore del secondo tag.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
bq
Utilizza il 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 allegando al set di dati. I tag multipli sono separati da virgole. Ad esempio,556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere il nome breve della chiave con spazio dei nomi e il nome breve del valore.PROJECT_ID
: l'ID del progetto in cui si trova il set di dati esistente.DATASET_ID
: l'ID del set di dati esistente.
gcloud
Per collegare un tag a un set di dati utilizzando la riga di comando, crea una risorsa di associazione di tag utilizzando il comando gcloud resource-manager tags bindings create
:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAG_VALUE_NAME
: l'ID permanente o il nome con spazio dei nomi del valore del tag da allegare, ad esempiotagValues/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 set di dati.
Terraform
Aggiungi tag al campo resource_tags
del set di dati, quindi applica la configurazione aggiornata utilizzando la risorsa google_bigquery_dataset
. Per
maggiori informazioni, consulta l'esempio di Terraform in
Allegare 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 restituisci la risorsa del set di dati aggiornata
utilizzando il
metodo datasets.update
.
Elenco dei tag collegati a un set di dati
I seguenti passaggi forniscono un elenco di associazioni di tag collegate direttamente a un dataset. Questi metodi non restituiscono i tag ereditati dalle risorse principali.
Console
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e seleziona un set di dati.
I tag vengono visualizzati nella sezione Informazioni sul set di dati.
bq
Per elencare i tag collegati a un set di dati, utilizza il
comando bq show
.
bq show PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene il tuo set di dati.DATASET_ID
: l'ID del set di dati per cui vuoi elencare i tag.
gcloud
Per ottenere un elenco di associazioni di tag collegate 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 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 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
Terraform
Utilizza il comando terraform state show
per elencare gli attributi del
set di dati, incluso il campo resource_tags
. Esegui questo comando
nella directory in cui è stato eseguito il file di configurazione Terraform del set di dati.
terraform state show google_bigquery_dataset.default
API
Chiama il
metodo datasets.get
per ottenere la risorsa del set di dati. La risorsa del set di dati include i tag allegati
al set di dati nel campo resource_tags
.
Visualizzazioni
Utilizza la
visualizzazione INFORMATION_SCHEMA.SCHEMATA_OPTIONS
.
Ad esempio, la seguente query mostra tutti i tag collegati a tutti i set di dati
in una regione. Questa query restituisce una tabella con colonne che includono schema_name
(i nomi dei set di dati), option_name
(sempre 'tags'
),
object_type
(sempre ARRAY<STRUCT<STRING, STRING>>
) e option_value
,
che contiene array di oggetti STRUCT
che rappresentano i tag associati a
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 tuoi set di dati.
Scollegare i tag da un set di dati
Puoi scollegare un tag da una risorsa eliminando la risorsa di associazione dei tag. Se elimini un tag, devi scollegarlo dal set di dati prima di eliminarlo. Per ulteriori informazioni, vedi Eliminazione dei tag.
Console
Nella console Trusted 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 al tag che vuoi eliminare.Fai clic su Salva.
SQL
Utilizza l'istruzione
ALTER SCHEMA SET OPTIONS
.
Il seguente esempio scollega i tag da un set di dati utilizzando l'operatore -=
. Per
separare tutti i tag da un insieme di dati, puoi specificare tags=NULL
o tags=[]
.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID SET OPTIONS ( tags -= [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: il nome della tabella da cui stai scollegando i tag.TAG_KEY_1
: il nome della chiave con spazio dei nomi del primo tag che vuoi scollegare, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag che vuoi scollegare, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag che stai scollegando.TAG_VALUE_2
: il nome breve del valore del secondo tag che stai scollegando.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
bq
Utilizza il 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 che stai rimuovendo dal set di dati. I tag multipli sono separati da virgole. Accetta solo chiavi senza coppie di valori. Ad esempio,556741164180/env,myProject/department
. Ogni tag deve avere il nome della chiave con spazio dei nomi.PROJECT_ID
: l'ID del progetto che contiene il tuo set di dati.DATASET_ID
: l'ID del set di dati da cui scollegare i tag.
In alternativa, se vuoi rimuovere tutti i tag da un set di dati, utilizza il
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 l'associazione
del tag utilizzando il
comando gcloud resource-manager tags bindings delete
:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAG_VALUE_NAME
: l'ID permanente o il nome con spazio dei nomi del valore tag da scollegare, ad esempiotagValues/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 set di dati.
Terraform
Rimuovi i tag dal campo resource_tags
del set di dati e poi 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 tag dal campo resource_tags
e restituisci la risorsa del set di dati aggiornato
utilizzando il
metodo datasets.update
.
Tag delle tabelle
Le sezioni seguenti descrivono come collegare i tag a tabelle nuove ed esistenti, elencare i tag collegati a una tabella e scollegare i tag da una tabella.
Allegare tag durante la creazione di una nuova tabella
Dopo aver creato un tag, puoi collegarlo a una nuova tabella. Puoi collegare un solo valore tag a una tabella per una determinata chiave tag. Puoi allegare un massimo di 50 tag a una tabella.
Console
Nella console Trusted 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
Crea tabella.Inserisci le informazioni per la nuova tabella. Per maggiori dettagli, vedi Creare e utilizzare tabelle.
Espandi la sezione Tag.
Per applicare un tag esistente:
Fai clic sulla freccia menu a discesa accanto a Seleziona ambito e scegli Ambito attuale: Seleziona l'organizzazione attuale o Seleziona il progetto attuale.
In alternativa, fai clic su Seleziona ambito per cercare una risorsa o per visualizzare un elenco delle risorse attuali.
Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
Per inserire manualmente un nuovo tag:
Fai clic sulla freccia menu a discesa accanto a Seleziona un ambito e scegli Inserisci manualmente gli ID > Organizzazione, Progetto o Tag.
Se stai creando un tag per il tuo progetto o la tua organizzazione, nella finestra di dialogo inserisci
PROJECT_ID
oORGANIZATION_ID
, quindi fai clic su Salva.Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
(Facoltativo) Per aggiungere altri tag alla tabella, fai clic su Aggiungi tag e segui i passaggi precedenti.
Fai clic su Crea tabella.
SQL
Utilizza l'istruzione
CREATE TABLE
.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE TABLE PROJECT_ID.DATASET_ID.TABLE_ID OPTIONS ( tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati in cui stai creando la tabella.TABLE_ID
: il nome della nuova tabella.TAG_KEY_1
: il nome della chiave con spazio dei nomi che vuoi impostare come primo tag nella tabella, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag.TAG_VALUE_2
: il nome breve del valore del secondo tag.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
bq
Utilizza il 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 incorporato.TAG
: il tag che stai collegando alla nuova tabella. I tag multipli sono separati da virgole. Ad esempio,556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere il nome breve della chiave con spazio dei nomi e il nome breve del valore.PROJECT_ID
: l'ID del progetto in cui stai creando una tabella.DATASET_ID
: l'ID del set di dati in cui stai creando una tabella.TABLE_ID
: l'ID della nuova tabella.
Terraform
Utilizza la risorsa
google_bigquery_table
.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Il seguente esempio crea una tabella denominata mytable
, quindi associa
i tag compilando il campo resource_tags
:
Per applicare la configurazione di Terraform in un progetto Trusted Cloud , completa i passaggi nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Trusted 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 nel file di configurazione Terraform.
Prepara la directory
Ogni file di configurazione di Terraform deve avere la propria directory (chiamata anche modulo radice).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file viene 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
main.tf
appena creato.(Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
terraform init
(Facoltativo) Per utilizzare l'ultima versione 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
aggiornerà corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione di Terraform eseguendo il comando seguente e inserendo
yes
al prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).
- Apri il tuo Trusted Cloud progetto per visualizzare i risultati. Nella console Trusted Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
API
Chiama il
metodo tables.insert
con una risorsa tabella definita.
Includi i tag nel campo resource_tags
.
Allegare tag a una tabella esistente
Dopo aver creato un tag, puoi collegarlo a una tabella esistente. Puoi collegare un solo valore tag a una tabella per una determinata chiave tag.
Console
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona una tabella.
Fai clic sulla scheda Dettagli e poi su
Modifica dettagli.Espandi la sezione Tag.
Per applicare un tag esistente:
Fai clic sulla freccia menu a discesa accanto a Seleziona ambito e scegli Ambito attuale: Seleziona l'organizzazione attuale o Seleziona il progetto attuale.
In alternativa, fai clic su Seleziona ambito per cercare una risorsa o per visualizzare un elenco delle risorse attuali.
Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
Per inserire manualmente un nuovo tag:
Fai clic sulla freccia menu a discesa accanto a Seleziona un ambito e scegli Inserisci manualmente gli ID > Organizzazione, Progetto o Tag.
Se stai creando un tag per il tuo progetto o la tua organizzazione, nella finestra di dialogo inserisci
PROJECT_ID
oORGANIZATION_ID
, quindi fai clic su Salva.Per Chiave 1 e Valore 1, scegli i valori appropriati dagli elenchi.
(Facoltativo) Per aggiungere altri tag alla tabella, fai clic su Aggiungi tag e segui i passaggi precedenti.
Fai clic su Salva.
SQL
Utilizza l'istruzione
ALTER TABLE SET OPTIONS
.
L'esempio seguente sovrascrive tutti i tag per una tabella esistente.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID SET OPTIONS ( tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: il nome della tabella che stai taggando.TAG_KEY_1
: il nome della chiave con spazio dei nomi che vuoi impostare come primo tag nella tabella, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag.TAG_VALUE_2
: il nome breve del valore del secondo tag.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
Il seguente esempio utilizza l'operatore +=
per collegare un tag a una tabella
senza sovrascrivere i tag esistenti. Se un tag esistente ha la stessa chiave, questo
tag viene sovrascritto.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID SET OPTIONS ( tags += [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: il nome della tabella che stai taggando.TAG_KEY_1
: il nome della chiave con spazio dei nomi che vuoi impostare come primo tag nella tabella, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag.TAG_VALUE_2
: il nome breve del valore del secondo tag.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
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 alla tabella. I tag multipli sono separati da virgole. Ad esempio,556741164180/env:prod,myProject/department:sales
. Ogni tag deve avere il nome breve della chiave con spazio dei nomi e il nome breve del valore.PROJECT_ID
: l'ID del progetto che contiene la tabella.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: l'ID della tabella che stai aggiornando.
gcloud
Per collegare un tag a una tabella utilizzando la riga di comando, crea una risorsa di associazione di tag utilizzando il comando gcloud resource-manager tags bindings create
:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAG_VALUE_NAME
: l'ID permanente o il nome con spazio dei nomi del valore tag da allegare, ad esempiotagValues/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/tables/my_table
LOCATION
: la posizione della tabella.
Terraform
Aggiungi tag al campo resource_tags
della tabella, quindi applica la configurazione aggiornata utilizzando la risorsa google_bigquery_table
. Per
maggiori informazioni, consulta l'esempio di Terraform in
Allegare 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. Questo processo non elenca i tag ereditati dalle risorse padre.
Console
Nella console Trusted 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 il
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 la tabella.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: l'ID della tabella.
gcloud
Per ottenere un elenco di associazioni di tag collegate 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/tables/my_table
.LOCATION
: la posizione del 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
Terraform
Utilizza il comando terraform state show
per elencare gli attributi della tabella, incluso il campo resource_tags
. Esegui questo comando
nella directory in cui è stato eseguito il file di configurazione Terraform della tabella.
terraform state show google_bigquery_table.default
API
Chiama il
metodo tables.get
con una risorsa 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 collegati a tutte le tabelle di un
dataset. Questa query restituisce una tabella con colonne che includono 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 oggetti STRUCT
che rappresentano i tag associati a
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 tua tabella.
Scollegare i tag da una tabella
Puoi rimuovere un'associazione di tag da una tabella eliminando l'associazione di tag. Se elimini un tag, devi scollegarlo dalla tabella prima di eliminarlo. Per ulteriori informazioni, vedi Eliminazione dei tag.
Console
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nel riquadro Explorer, espandi il progetto e il set di dati, quindi seleziona una tabella.
Fai clic sulla scheda Dettagli e poi su
Modifica dettagli.Nella sezione Tag, fai clic su
Elimina elemento accanto al tag che vuoi eliminare.Fai clic su Salva.
SQL
Utilizza l'istruzione
ALTER TABLE SET OPTIONS
.
Il seguente esempio scollega i tag da una tabella utilizzando l'operatore -=
. Per
separare tutti i tag da una tabella, puoi specificare tags=NULL
o tags=[]
.
Nella console Trusted Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID SET OPTIONS ( tags -= [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: il nome della tabella da cui stai scollegando i tag.TAG_KEY_1
: il nome della chiave con spazio dei nomi del primo tag che vuoi scollegare, ad esempio'my-project/env'
o'556741164180/department'
.TAG_VALUE_1
: il nome breve del valore del tag che vuoi scollegare, ad esempio'prod'
o'sales'
.TAG_KEY_2
: il nome della chiave con spazio dei nomi per il secondo tag che stai scollegando.TAG_VALUE_2
: il nome breve del valore del secondo tag che stai scollegando.
Fai clic su
Esegui.
Per maggiori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
bq
Per rimuovere alcuni tag da una tabella, utilizza il
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 separando dalla tabella, separate da virgole. Ad esempio,556741164180/env,myProject/department
. Ogni chiave tag deve avere il nome della chiave con spazio dei nomi.PROJECT_ID
: l'ID del progetto che contiene la tabella.DATASET_ID
: l'ID del set di dati che contiene la tabella.TABLE_ID
: l'ID della tabella che stai aggiornando.
Per rimuovere tutti i tag da una tabella, utilizza il
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 di tag utilizzando il comando gcloud resource-manager tags bindings delete
:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE_NAME \ --parent=RESOURCE_ID \ --location=LOCATION
Sostituisci quanto segue:
TAG_VALUE_NAME
: l'ID permanente o il nome con spazio dei nomi del valore tag da eliminare, ad esempiotagValues/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/tables/my_table
.LOCATION
: la posizione del set di dati.
Terraform
Rimuovi i tag dal campo resource_tags
della tabella, quindi applica
la configurazione aggiornata utilizzando la risorsa google_bigquery_table
.
API
Chiama il
metodo tables.update
con una risorsa tabella definita
e rimuovi i tag nel campo resource_tags
. Per rimuovere tutti i tag, rimuovi
il campo resource_tags
.
Tagga altre risorse simili a tabelle
Allo stesso modo, puoi taggare viste, viste materializzate, cloni e snapshot BigQuery.
Elimina tag
Non puoi eliminare un tag se viene fatto riferimento a una tabella, una vista o un set di dati. Devi scollegare tutte le risorse di associazione tag esistenti prima di eliminare la chiave o il valore del tag stesso. Per eliminare chiavi e valori dei tag, consulta la sezione Eliminare i tag.
Esempio
Supponiamo che tu sia un amministratore di un'organizzazione. I tuoi
analisti di dati sono tutti membri del gruppo analysts@example.com, che dispone del
ruolo IAM Visualizzatore dati BigQuery nel progetto userData
. Viene assunto uno stagista analista dei dati e, in base alle norme aziendali, deve avere l'autorizzazione solo per visualizzare il set di dati anonymousData
nel progetto userData
.
Puoi controllare il loro accesso utilizzando i tag.
Crea un tag con la chiave
employee_type
e il valoreintern
:Nella console Trusted 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.Nel menu Ruolo, seleziona Visualizzatore dati BigQuery.
Fai clic su Aggiungi condizione.
Nei campi Titolo e Descrizione, inserisci i valori che descrivono la condizione del tag IAM che vuoi creare.
Nella scheda Generatore di condizioni, fai clic su Aggiungi.
Nel menu Tipo di condizione, seleziona Risorsa, quindi seleziona Tag.
Nel menu Operatore, seleziona ha valore.
Nel campo Percorso valore, inserisci il percorso del valore del tag nel formato
ORGANIZATION/TAG_KEY/TAG_VALUE
. Ad esempio:example.org/employee_type/intern
.Questa condizione del tag IAM limita l'accesso dello stagista ai set di dati con 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 collegare il valore del tag
intern
al set di datianonymousData
, utilizza la riga di comando per eseguire il comandogcloud resource-manager tags bindings create
. Ad esempio:gcloud resource-manager tags bindings create \ --tag-value=tagValues/4567890123 \ --parent=//bigquery.googleapis.com/projects/userData/datasets/anonymousData \ --location=US
Passaggi successivi
- Per una panoramica dei tag in Trusted Cloud by S3NS, consulta Introduzione ai tag.
- Per saperne di più su come utilizzare i tag, vedi Creare e gestire i tag.
- Per informazioni su come controllare l'accesso alle risorse BigQuery con le condizioni IAM, consulta Controllare l'accesso con le condizioni IAM.