Repository di tag

Utilizza i tag per raggruppare i repository e altre risorse in Google Cloud per la generazione di report, l'auditing e controllo dell'accesso'interno della tua organizzazione Google Cloud.

Per raggruppare i repository in Artifact Registry per l'automazione e la fatturazione, utilizza le etichette. I tag e le etichette funzionano indipendentemente l'uno dall'altro e possono essere applicati entrambi allo stesso repository. Per ulteriori informazioni sulle differenze tra tag ed etichette, consulta la sezione Tag ed etichette.

Che cosa sono i tag?

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

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

Tieni presente le seguenti restrizioni:

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

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

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

Autorizzazioni obbligatorie

Le autorizzazioni necessarie dipendono dall'azione che devi 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 collegati 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 di Compute Engine.
  • listEffectiveTags
  • per il tipo di risorsa appropriato. Ad esempio, compute.instances.listEffectiveTags per visualizzare tutti i tag collegati o ereditati dalle istanze di Compute Engine.

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

Amministrazione dei 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) nella risorsa organizzazione.

Gestisci i tag sulle 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 stai collegando il valore tag. 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 le istanze di Compute Engine.
    • Autorizzazione deleteTagBinding specifica della risorsa, ad esempio compute.instances.deleteTagBinding per le istanze di Compute Engine.
  • Autorizzazioni richieste per il valore tag:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • Autorizzazioni che 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

Collegamento di tag ai repository

Dopo che un amministratore del progetto ha creato i tag, puoi collegare i tag 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. Richiedi all'amministratore il valore del tag da associare.

    Puoi associare un valore tag con uno di questi tipi di identificatori:

    • Un nome con spazio dei nomi, ad esempio 123456789012/env/dev
    • Un documento di identità permanente, ad esempio tagValues/567890123456
  2. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  3. Seleziona il repository a cui vuoi aggiungere tag.

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

    Vengono visualizzati i tag esistenti nel 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 chiave, digita per filtrare l'elenco di tag, poi seleziona la chiave tag.

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

  10. Fai clic su Salva.

  11. Fai clic su Conferma.

    Il tag è associato al repository.

Interfaccia a riga di comando gcloud

  1. Richiedi all'amministratore il valore del tag da associare.

    Puoi associare un valore tag con uno di questi tipi di identificatori:

    • Un nome con spazio dei nomi, ad esempio 123456789012/env/dev
    • Un documento di identità permanente, ad esempio tagValues/567890123456
  2. Associa 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 il nome con spazio dei nomi del valore 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 il seguente esempio:

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

    Il seguente comando gcloud CLI collega 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 collegati a una risorsa a cui hai le autorizzazioni di accesso.

Console

  1. Apri la pagina Repositories 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 nella gerarchia delle risorse.

Interfaccia a riga di comando gcloud

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

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

Il comando elenca solo i tag direttamente collegati alla risorsa specificata, quindi non restituisce i tag ereditati dal progetto principale o da quelli successivi. Puoi elencare i tag ereditati dal progetto padre 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 posizione 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 numero di progetto 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. 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 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 dei tag, elenca i tag associati al repository.

  2. Apri la pagina Repositories 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 nel repository, inclusi quelli ereditati.

  5. Fai clic sull'icona Modifica Modifica tag.

  6. Nella sezione Tag diretti, individua il tag da 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 dei tag, elenca i tag associati 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 il seguente esempio:

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