Repository di tag

Utilizza i tag per raggruppare i repository e altre risorse in Google Cloud per la generazione di report, l'audit econtrollo dell'accessoo all'interno della tua Google Cloud organizzazione.

Per raggruppare i repository in Artifact Registry a fini di automazione e fatturazione, utilizza le etichette. Tag ed etichette funzionano in modo indipendente l'uno dall'altro 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 dell'accesso granulare.

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

Tieni presenti queste limitazioni:

  • I criteri dell'organizzazione possono fare riferimento in modo condizionale ai tag ereditati dal progetto padre e dai livelli superiori, ma non supportano i tag che colleghi direttamente ai repository.

  • I log di controllo di Cloud non vengono generati per il collegamento di tag e la visualizzazione dei binding dei tag sui repository.

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

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 ulteriori informazioni 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.

Associazione di tag ai repository

Dopo che un amministratore del progetto crea i tag, puoi collegarli a un repository. Ogni tag ha una chiave e un valore. Per taggare un repository, devi associare un valore al repository.

Per collegare un tag a un repository:

Console

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

    Puoi allegare un valore del 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. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repository

  3. Seleziona il repository che vuoi taggare.

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

    Vengono visualizzati i tag esistenti per il repository, inclusi quelli 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 key, 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 allegare un valore del 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 resource-manager tags bindings create \
        --tag-value=TAG_VALUE \
        --parent=REPOSITORY_ID \
        --location=LOCATION
    

    Sostituisci i seguenti valori:

    • TAG_VALUE è l'ID permanente o il 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
    

Elenco dei tag collegati ai repository

Puoi elencare i tag collegati a una risorsa a cui hai l'autorizzazione di accesso.

Console

  1. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repository

  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 i tag ereditati dai livelli superiori della gerarchia delle risorse.

Interfaccia a riga di comando gcloud

Per elencare i tag collegati a un repository, esegui questo comando:

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

Il comando elenca solo i tag collegati direttamente alla risorsa specificata, quindi non restituisce i tag ereditati dal progetto padre o 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 collegati 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 collegati al numero di progetto 7890123456:

gcloud 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. Se devi rimuovere un tag ereditato dal progetto padre o da un'altra parte della gerarchia delle risorse, un amministratore del progetto deve separarlo dalla risorsa a cui è collegato.

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, elenca i tag collegati al repository.

  2. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repository

  3. Seleziona il repository.

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

    Vengono visualizzati i tag esistenti per il repository, inclusi quelli 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, elenca i tag collegati 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