Repository di tag

Utilizza i tag per raggruppare i repository e altre risorse Google Cloud per report, controllo e controllo dell'accesso all'interno della tua Google Cloud organizzazione.

Per raggruppare i repository in Artifact Registry per scopi di automazione e fatturazione, utilizza le etichette. I tag e le etichette funzionano in modo indipendente e puoi applicarli entrambi allo stesso repository. Per maggiori informazioni sulle differenze tra tag ed etichette, consulta Tag ed etichette.

Che cosa sono i tag?

I tag sono coppie chiave-valore che puoi applicare alle risorse per un controllo granulare dell'accesso.

Gli amministratori dei progetti creano tag per le risorse Google Cloud a livello di organizzazione e li gestiscono in Resource Manager. Quando colleghi un tag a un repository Artifact Registry, puoi utilizzarlo con le condizioni IAM per concedere l'accesso condizionale al repository. Non puoi collegare i tag ai singoli elementi.

Tieni presenti queste limitazioni:

  • I Criteri dell'organizzazione possono fare riferimento in modo condizionale ai tag ereditati dal progetto principale e dai progetti di livello superiore, ma non supportano i tag che colleghi direttamente ai repository.

  • Gli audit log di Cloud non vengono generati per l'attacco dei tag e la visualizzazione delle associazioni dei tag nei repository.

Per ulteriori informazioni sui tag e sul controllo dell'accesso condizionale con i tag, consulta Tag e controllo dell'accesso.

Autorizzazioni obbligatorie

Le autorizzazioni necessarie dipendono dall'azione da eseguire.

Per ottenere queste autorizzazioni, chiedi all'amministratore di concedere il ruolo suggerito al livello appropriato della gerarchia delle risorse.

Visualizza tag

Per visualizzare le definizioni dei tag e i tag associati alle risorse, devi disporre del ruolo Visualizzatore tag (roles/resourcemanager.tagViewer) o di un altro ruolo che includa le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • listTagBindings per il tipo di risorsa appropriato. Ad esempio, compute.instances.listTagBindings per visualizzare i tag associati alle istanze Compute Engine.
  • listEffectiveTags
  • per il tipo di risorsa appropriato. Ad esempio, compute.instances.listEffectiveTags per visualizzare tutti i tag associati o ereditati dalle istanze Compute Engine.

Per visualizzare i tag a livello di organizzazione, devi disporre del ruolo Visualizzatore organizzazione (roles/resourcemanager.organizationViewer) per la risorsa dell'organizzazione.

Amministrare i tag

Per creare, aggiornare ed eliminare le definizioni dei tag, devi disporre del ruolo Amministratore tag (roles/resourcemanager.tagAdmin) o di un altro ruolo che includa le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

Per amministrare i tag a livello di organizzazione, devi disporre del ruolo Visualizzatore organizzazione (roles/resourcemanager.organizationViewer) per la risorsa organizzazione.

Gestire i tag nelle risorse

Per aggiungere e rimuovere i tag collegati alle risorse, devi disporre del ruolo Utente tag (roles/resourcemanager.tagUser) o di un altro ruolo con autorizzazioni equivalenti sia per il valore tag sia per le risorse a cui colleghi il valore tag. Il ruolo Tagga utente include le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • Autorizzazioni richieste per la risorsa a cui stai associando il valore del tag
    • Autorizzazione createTagBinding specifica per risorsa, ad esempio compute.instances.createTagBinding per le istanze di Compute Engine.
    • Autorizzazione deleteTagBinding specifica per risorsa, ad esempio compute.instances.deleteTagBinding per le istanze di Compute Engine.
  • Autorizzazioni richieste per il valore del tag:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • Autorizzazioni che ti consentono di visualizzare i progetti e le definizioni dei tag:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

Associare tag ai repository

Dopo che un amministratore del progetto ha creato i tag, puoi collegarli a un repository. Ogni tag ha una chiave e un valore. Puoi taggare un repository associando un valore al repository.

Per associare un tag a un repository:

Console

  1. Ottieni il valore del tag da allegare dall'amministratore.

    Puoi associare un valore del tag a uno di questi tipi di identificatori:

    • Un nome con spazio dei nomi, ad esempio 123456789012/env/dev
    • Un ID permanente, ad esempio tagValues/567890123456
  2. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

  3. Seleziona il repository che vuoi taggare.

  4. Nella sezione Dettagli del repository, fai clic su Mostra altro.

    Vengono visualizzati i tag esistenti per il repository, inclusi i tag ereditati.

  5. Fai clic sull'icona Modifica Modifica tag.

  6. Nella sezione Tag diretti, fai clic su Seleziona ambito.

  7. Seleziona il progetto del repository.

  8. Nel campo chiave, digita per filtrare l'elenco dei tag, quindi seleziona la chiave del tag.

  9. Nel campo Valore, digita per filtrare l'elenco dei tag, quindi seleziona il valore del tag.

  10. Fai clic su Salva.

  11. Fai clic su Conferma.

    Il tag è associato al tuo repository.

Interfaccia a riga di comando gcloud

  1. Ottieni il valore del tag da allegare dall'amministratore.

    Puoi associare un valore del tag a uno di questi tipi di identificatori:

    • Un nome con spazio dei nomi, ad esempio 123456789012/env/dev
    • Un ID permanente, ad esempio tagValues/567890123456
  2. Collega il valore del tag con il seguente comando:

    gcloud resource-manager tags bindings create \
        --tag-value=TAG_VALUE \
        --parent=REPOSITORY_ID \
        --location=LOCATION
    

    Sostituisci i seguenti valori:

    • TAG_VALUE è l'ID permanente o nome con spazio dei nomi del valore tag da allegare.

    • REPOSITORY_ID è l'ID completo del repository, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//artifactregistry.googleapis.com/). Ad esempio, //artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo

    • LOCATION è la posizione del repository.

    Considera l'esempio seguente:

    • Valore tag: 815471563813/env/dev
    • Progetto: my-project
    • Repository: my-repo
    • Posizione del repository: us-east1

    Il seguente comando gcloud CLI associa il tag al repository:

    gcloud resource-manager tags bindings create \
        --tag-value=815471563813/env/dev \
        --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
        --location=us-east1
    

Tag elenco associati ai repository

Puoi elencare i tag associati a una risorsa a cui hai accesso.

Console

  1. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

  2. Seleziona il repository che vuoi visualizzare.

  3. Nella sezione Dettagli del repository, fai clic su Mostra altro.

    L'elenco Tag mostra tutti i tag del repository, inclusi i tag diretti e quelli ereditati da un livello superiore nella gerarchia delle risorse.

Interfaccia a riga di comando gcloud

Per elencare i tag associati a un repository, esegui il seguente comando:

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

Il comando elenca solo i tag direttamente associati alla risorsa specificata, pertanto non restituisce i tag ereditati dal progetto principale o da un progetto di livello superiore. Puoi elencare i tag ereditati dal progetto principale specificando un progetto anziché un repository con il flag --parent.

Ad esempio, questo comando elenca i tag associati al repository my-repo nel progetto my-project e nella località us-east1:

gcloud resource-manager tags bindings list \
    --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
    --location=us-east1

Questo comando elenca i tag associati al numero di progetto 7890123456:

gcloud resource-manager tags bindings list \
    --parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \

Scollegare i tag dai repository

Puoi scollegare un tag direttamente collegato a un repository. Se devi rimuovere un tag ereditato dal progetto principale o da un'altra parte della gerarchia delle risorse, un amministratore del progetto deve scollegarlo dalla risorsa a cui è associato.

Per rimuovere un tag associato a un repository:

Console

  1. Ottieni il valore del tag che vuoi rimuovere. Se non conosci il valore del tag, elenca i tag associati al repository.

  2. Apri la pagina Repositori nella console Google Cloud.

    Apri la pagina Repositori

  3. Seleziona il repository.

  4. Nella sezione Dettagli del repository, fai clic su Mostra altro.

    Vengono visualizzati i tag esistenti per il repository, inclusi i tag ereditati.

  5. Fai clic sull'icona Modifica Modifica tag.

  6. Nella sezione Tag diretti, individua il tag che vuoi rimuovere.

  7. Fai clic sull'icona Elimina accanto al tag da rimuovere.

  8. Fai clic su Salva.

  9. Fai clic su Conferma.

    Il tag viene rimosso dal tuo repository.

Interfaccia a riga di comando gcloud

  1. Ottieni il valore del tag che vuoi rimuovere. Se non conosci il valore del tag, elenca i tag associati al repository.

  2. Scollega il valore del tag con il seguente comando:

    gcloud resource-manager tags bindings delete \
        --tag-value=TAG_VALUE \
        --parent=REPOSITORY_ID \
        --location=LOCATION
    

    Sostituisci i seguenti valori:

    • Valore del tag TAG_VALUE da scollegare.

    • REPOSITORY_ID è l'ID completo del repository, incluso il nome di dominio dell'API per identificare il tipo di risorsa (//artifactregistry.googleapis.com/). Ad esempio, //artifactregistry.googleapis.com/projects/my-project/my-repo

    • LOCATION è la posizione del repository.

    Considera l'esempio seguente:

    • Valore tag: 815471563813/env/dev
    • Progetto: my-project
    • Repository: my-repo
    • Posizione del repository: us-east1

    Il seguente comando gcloud CLI scollega il tag dal repository:

    gcloud resource-manager tags bindings delete \
        --tag-value=815471563813/env/dev \
        --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
        --location=us-east1
    

Passaggi successivi