Repository di tag

Utilizza i tag per raggruppare repository e altre risorse in Google Cloud per il reporting, l'auditing e il controllo dell'accesso all'interno di Google Cloud dell'organizzazione.

Raggruppare repository all'interno di Artifact Registry per l'automazione e la fatturazione utilizzare 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 tue risorse per un accesso granulare controllo.

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

Tieni presenti queste limitazioni:

  • I criteri dell'organizzazione possono fare riferimento in modo condizionale a tag che sono ereditati dal progetto padre e di livello superiore, ma non supportano i tag che puoi collegare direttamente ai repository.

  • Gli audit log di Cloud non vengono generati per il collegamento di tag e le associazioni di 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 all'indirizzo il livello appropriato 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. Per esempio, compute.instances.listTagBindings per visualizzare i tag collegate alle istanze Compute Engine.
  • listEffectiveTags
  • per il tipo di risorsa appropriato. Ad esempio, compute.instances.listEffectiveTags per la visualizzazione 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.

Amministra 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 Tag User (roles/resourcemanager.tagUser) o un altro ruolo con equivalente sia per il valore del tag sia per le risorse che stai collegando il valore del tag in. Il ruolo Utente tag include le seguenti autorizzazioni:

Autorizzazioni obbligatorie

  • Autorizzazioni richieste per la risorsa a cui stai collegando il valore tag
    • Autorizzazione createTagBinding specifica della risorsa, ad esempio compute.instances.createTagBinding per Compute Engine 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 l'amministratore del progetto ha creato i tag, puoi associarli ai 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 tag con uno di questi tipi di identificatori:

    • Un nome con spazi 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 Repository

  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 di 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 di tag, quindi seleziona il tag. valore.

  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 tag con 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 alpha resource-manager tags bindings create \
        --tag-value=TAG_VALUE \
        --parent=REPOSITORY_ID \
        --location=LOCATION
    

    Sostituisci i seguenti valori:

    • TAG_VALUE è l'ID permanente o del valore del tag da collegare.

    • 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 alpha 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
    

Elenco dei tag collegati ai repository

Puoi elencare i tag associati a una risorsa per la quale disponi delle autorizzazioni l'accesso.

Console

  1. Apri la pagina Repositories (Repositoi) nella console Google Cloud.

    Apri la pagina Repositori

  2. Seleziona il repository che vuoi visualizzare.

  3. Nella sezione Dettagli 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 alpha 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 ereditati dal progetto padre specificando un progetto al posto di 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 alpha 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 progetto numero 7890123456:

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

Scollegamento dei tag dai repository

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

Per rimuovere un tag collegato a un repository:

Console

  1. Ottieni il valore del tag che vuoi rimuovere. Se non conosci il valore del tag, list collegati al repository.

  2. Apri la pagina Repositories (Repositoi) nella console Google Cloud.

    Apri la pagina Repository

  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 repository.

Interfaccia a riga di comando gcloud

  1. Ottieni il valore del tag che vuoi rimuovere. Se non conosci il valore del tag, list collegati al repository.

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

    gcloud alpha 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
    • Località del repository: us-east1

    Il seguente comando gcloud CLI scollega il tag dal repository:

    gcloud alpha 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