Questa pagina descrive Google Cloud i tag e come utilizzarli con Pub/Sub. I tag possono essere applicati ad argomenti, sottoscrizioni e snapshot Pub/Sub. È previsto il supporto per l'applicazione di tag agli schemi Pub/Sub.
Informazioni sui tag
Un tag è una coppia chiave-valore che può essere collegata a una risorsa all'interno di Google Cloud. Puoi utilizzare i tag per consentire o negare in modo condizionale i criteri a seconda che una risorsa abbia un tag specifico. Ad esempio, puoi concedere in modo condizionale i ruoli IAM (Identity and Access Management) a seconda che una risorsa abbia un tag specifico. Per saperne di più sui tag, consulta la panoramica dei tag.
I tag vengono collegati alle risorse creando una risorsa di associazione dei tag che collega il valore alla risorsa Google Cloud .
Autorizzazioni obbligatorie
Per ottenere le autorizzazioni necessarie per gestire i tag, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Tag Viewer (
roles/resourcemanager.tagViewer) sulle risorse a cui sono collegati i tag -
Visualizza e gestisci i tag a livello di organizzazione:
Visualizzatore organizzazione (
roles/resourcemanager.organizationViewer) sull'organizzazione -
Crea, aggiorna ed elimina le definizioni dei tag:
Amministratore tag (
roles/resourcemanager.tagAdmin) nella risorsa per cui stai creando, aggiornando o eliminando i tag -
Associa e rimuovi i tag dalle risorse:
Utente tag (
roles/resourcemanager.tagUser) sul valore del tag e sulle risorse a cui stai associando o rimuovendo il valore del tag
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per collegare i tag agli argomenti, alle sottoscrizioni o agli snapshot Pub/Sub, devi disporre del ruolo Editor Pub/Sub (roles/pubsub.editor).
Crea chiavi e valori dei tag
Prima di poter allegare un tag, devi crearne uno e configurarne il valore. Per creare chiavi e valori tag, consulta Creazione di un tag e Aggiunta di un valore tag.
Aggiungere tag durante la creazione della risorsa
Puoi aggiungere tag al momento della creazione di argomenti, abbonamenti o snapshot. L'aggiunta di tag durante la creazione delle risorse consente di fornire immediatamente metadati essenziali per le risorse e aiuta anche a migliorare l'organizzazione, il monitoraggio dei costi e l'applicazione automatica dei criteri.
Console
- Vai alla pagina Pub/Sub nella console Google Cloud .
- Seleziona l'opzione per creare un nuovo argomento, un nuovo abbonamento o un nuovo snapshot.
- Fai clic su Gestisci tag.
- Se la tua organizzazione non viene visualizzata nel riquadro Gestisci tag, fai clic su Seleziona ambito per i tag. Scegli di aggiungere tag definiti a livello di organizzazione o progetto, quindi inserisci l'ID corrispondente.
- Fai clic su Aggiungi tag.
- Seleziona dall'elenco la chiave del tag che vuoi allegare. Puoi filtrare l'elenco digitando parole chiave.
- Seleziona dall'elenco il valore del tag che vuoi allegare. Puoi filtrare l'elenco digitando parole chiave.
- Fai clic su Salva. La sezione Tag viene aggiornata con le informazioni sui tag.
- Crea l'argomento, la sottoscrizione o lo snapshot. Il nuovo argomento, sottoscrizione o snapshot viene creato con i tag forniti.
gcloud
Per aggiungere tag durante la creazione di argomenti, abbonamenti o snapshot, esegui questo comando:
gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
Sostituisci quanto segue:
- TOPIC_ID: l'ID dell'argomento
- TAG_KEY: l'ID permanente o il nome con spazio dei nomi della chiave tag allegata, ad esempio tagKeys/567890123456
- TAG_VALUE: l'ID permanente o il nome spazio dei nomi del valore del tag allegato, ad esempio tagValues/567890123456
Specifica più tag separandoli con una virgola, ad esempio TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.
API
Invia una richiesta POST al seguente URL:
https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_IDFornisci il seguente JSON nel corpo della richiesta:
{
"name": "projects/PROJECT_ID/topics/TOPIC_ID"
"tags": {
"TAGKEY_NAME": "TAGVALUE_NAME"
}
}
Sostituisci quanto segue:
- PROJECT_ID: l'ID progetto
- TOPIC_ID: l'ID dell'argomento
- TAGKEY_NAME: l'ID permanente o il nome con spazio dei nomi della chiave tag allegata, ad esempio tagKeys/567890123456
- TAGVALUE_NAME: l'ID permanente o il nome spazio dei nomi del valore del tag allegato, ad esempio tagValues/567890123456
Applica i tag obbligatori
Puoi applicare tag obbligatori alle risorse per assicurarti che siano presenti tag specifici quando vengono create le risorse, ad esempio un tag Centro di costo, per mantenere la conformità alle policy dell'organizzazione. Puoi farlo utilizzando le policy dell'organizzazione e i vincoli personalizzati. L'applicazione avviene al momento della creazione delle risorse, impedendo il provisioning delle risorse senza i tag richiesti. Per saperne di più, consulta Applicazione dei tag obbligatori mediante le policy dell'organizzazione.
Configurare un vincolo personalizzato per applicare i tag
Console
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Seleziona il selettore di progetti nella parte superiore della pagina.
Nel selettore di progetti, seleziona l'organizzazione in cui vuoi applicare il vincolo personalizzato.
Configura un vincolo personalizzato con i seguenti parametri:
- Metodo di applicazione forzata:
Govern tags - Tipo di risorsa: il nome completo della risorsa REST Google Cloud
su cui vuoi applicare i tag obbligatori, ad esempio,
file.googleapis.com/Instance - Condizione: una condizione Common Expression Language (CEL) che specifica
le chiavi tag che vuoi applicare alla risorsa, ad esempio
resource.hasDirectTagKey("1234567890/owner")per applicare un binding dei tag per la chiave tag1234567890/owner. La funzione CELresource.hasDirectTagKeycorrisponde solo ai tag applicati direttamente a una risorsa e non prende in considerazione i tag ereditati dagli antenati nella gerarchia delle risorse. - Azione:
AllowoDeny.- Consenti: se la condizione specificata è soddisfatta, l'azione per creare o aggiornare la risorsa è consentita.
- Nega: se la condizione specificata è soddisfatta, l'azione per creare o aggiornare la risorsa viene bloccata.
- Metodo di applicazione forzata:
Fai clic su Crea vincolo.
gcloud
Crea un file YAML per il vincolo personalizzato:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION
Sostituisci quanto segue:
ORGANIZATION_ID: l'ID della tua organizzazione, ad esempio1234567890.CONSTRAINT_NAME: il nome che vuoi assegnare al nuovo vincolo personalizzato. Un vincolo personalizzato deve iniziare concustom.e può includere solo lettere maiuscole, lettere minuscole o numeri, ad esempiocustom.enforceMandatoryTags.RESOURCE_NAME: il nome completo della risorsa RESTGoogle Cloud su cui vuoi applicare i tag obbligatori, ad esempiofile.googleapis.com/Instance.CONDITION: una condizione Common Expression Language (CEL) che specifica le chiavi dei tag che vuoi applicare alla risorsa, ad esempioresource.hasDirectTagKey("1234567890/owner")per applicare un binding dei tag per la chiave del tag1234567890/owner.ACTION: l'azione da eseguire seconditionè soddisfatta. Può essereALLOWoDENY.L'azione di negazione significa che se la condizione specificata è soddisfatta, l'operazione di creazione o aggiornamento della risorsa viene bloccata.
L'azione Consenti significa che se la condizione specificata è soddisfatta, l'operazione di creazione o aggiornamento della risorsa è consentita. Ciò significa anche che tutti gli altri casi, tranne quello elencato esplicitamente nella condizione, sono bloccati.
DISPLAY_NAME: un nome facile da ricordare per il vincolo. Questo campo ha una lunghezza massima di 200 caratteri.DESCRIPTION: una descrizione chiara del vincolo da visualizzare come messaggio di errore in caso di violazione della policy. Questo campo ha una lunghezza massima di 2000 caratteri.
Configura il vincolo personalizzato per renderlo disponibile per le policy dell'organizzazione.
Dopo aver definito il vincolo personalizzato, puoi testare e analizzare le modifiche alla policy dell'organizzazione e applicare il vincolo.
Aggiungere tag alle risorse esistenti
Per aggiungere un tag a argomenti, abbonamenti o snapshot esistenti:
Console
- Vai alla pagina Pub/Sub nella console Google Cloud .
- Seleziona la pagina della risorsa a cui vuoi allegare un tag. Ad esempio, per allegare un tag a un argomento, vai alla pagina Argomenti.
- Fai clic su Tag.
- Se la tua organizzazione non viene visualizzata nel riquadro Tag, fai clic su Seleziona ambito. Seleziona la tua organizzazione e fai clic su Apri.
- Fai clic su Aggiungi tag.
- Seleziona dall'elenco la chiave del tag che vuoi allegare. Puoi filtrare l'elenco digitando parole chiave.
- Seleziona dall'elenco il valore del tag che vuoi allegare. Puoi filtrare l'elenco digitando parole chiave.
- Fai clic su Salva.
- Nella finestra di dialogo Conferma, fai clic su Conferma per allegare il tag.
Una notifica conferma l'aggiornamento dei tag.
gcloud
Per collegare un tag a un argomento, una sottoscrizione o uno snapshot, devi creare una risorsa di associazione di tag utilizzando il comando gcloud resource-manager tags bindings create:
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Sostituisci quanto segue:
TAGVALUE_NAME: l'ID permanente o il nome con spazio dei nomi del valore del tag allegato, ad esempiotagValues/567890123456.-
RESOURCE_IDè l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//pubsub.googleapis.com/). Ad esempio, per allegare un tag a/projects/PROJECT_ID/topics/TOPIC_ID, l'ID completo è//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Elenca i tag collegati alle risorse
Puoi visualizzare un elenco di associazioni di tag direttamente collegate o ereditate dall'argomento, dall'abbonamento o dallo snapshot.
Console
- Vai alla pagina Pub/Sub nella console Google Cloud .
Seleziona la pagina della risorsa di cui vuoi visualizzare i tag. Ad esempio, per visualizzare i tag di un argomento, vai alla pagina Argomenti.
I tag vengono visualizzati nella sezione Tag della pagina dell'argomento nella console.
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
Sostituisci quanto segue:
-
RESOURCE_IDè l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//pubsub.googleapis.com/). Ad esempio, per allegare un tag a/projects/PROJECT_ID/topics/TOPIC_ID, l'ID completo è//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Dovresti ricevere una risposta simile alla seguente:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Scollegare i tag dalle risorse
Puoi staccare i tag che sono stati collegati direttamente a un argomento, un abbonamento o uno snapshot. I tag ereditati possono essere sostituiti collegando un tag con la stessa chiave e un valore diverso, ma non possono essere scollegati.
Console
- Vai alla pagina Pub/Sub nella console Google Cloud .
- Seleziona la pagina della risorsa da cui vuoi rimuovere un tag. Ad esempio, per rimuovere un tag da un argomento, vai alla pagina Argomenti.
- Fai clic su Tag.
- Nel riquadro Tag, accanto al tag da scollegare, fai clic su Elimina elemento.
- Fai clic su Salva.
- Nella finestra di dialogo Conferma, fai clic su Conferma per staccare il tag.
Una notifica conferma l'aggiornamento dei tag.
gcloud
Per eliminare un'associazione di tag, utilizza il
comando gcloud resource-manager tags bindings delete:
gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Sostituisci quanto segue:
TAGVALUE_NAME: l'ID permanente o il nome con spazio dei nomi del valore del tag allegato, ad esempiotagValues/567890123456.-
RESOURCE_IDè l'ID completo della risorsa, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//pubsub.googleapis.com/). Ad esempio, per allegare un tag a/projects/PROJECT_ID/topics/TOPIC_ID, l'ID completo è//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Eliminare chiavi e valori dei tag
Quando rimuovi una definizione di chiave o valore tag, assicurati che il tag sia scollegato dall'argomento, dall'abbonamento o dallo snapshot. Prima di eliminare la definizione del tag, devi eliminare gli allegati esistenti, chiamati associazioni di tag. Per eliminare chiavi tag e valori tag, consulta la sezione Eliminare i tag.
Condizioni e tag di Identity and Access Management
Puoi utilizzare i tag e le condizioni IAM per concedere in modo condizionale le associazioni di ruoli agli utenti della gerarchia. La modifica o l'eliminazione del tag associato a una risorsa può rimuovere l'accesso utente a quella risorsa se è stata applicata una policy IAM con associazioni di ruoli condizionali. Per saperne di più, consulta Condizioni e tag di Identity and Access Management.
Passaggi successivi
- Scopri gli altri servizi che supportano i tag.
- Consulta Tag e controllo dell'accesso per scoprire come utilizzare i tag con IAM.