Artifact Registry è il servizio consigliato per la gestione delle immagini container. Container Registry è ancora supportato, ma riceverà solo correzioni di sicurezza critiche. Scopri come passare ad Artifact Registry.

Configurazione delle notifiche Pub/Sub

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Quando vengono apportate modifiche al repository di Container Registry, ad esempio quando viene eseguito il push, il tagging o l'eliminazione delle immagini, puoi ricevere le notifiche utilizzando Pub/Sub.

Pub/Sub pubblica messaggi sul tuo repository in risorse con nome denominate topics. Questi messaggi vengono ricevuti dalle applicazioni iscritte ad argomenti Pub/Sub. Le applicazioni degli iscritti inviano notifiche quando lo stato del repository cambia.

Inoltre, puoi configurare i ruoli e le autorizzazioni degli argomenti Pub/Sub per controllare il modo in cui gli utenti interagiscono con il repository.

Per supportare la transizione da Container Registry ad Artifact Registry, Artifact Registry pubblica messaggi nello stesso argomento di Container Registry.

Per informazioni sulla configurazione delle notifiche di Container Analysis per attività quali nuovi risultati dell'analisi delle vulnerabilità, consulta la documentazione di Container Analysis.

Crea un argomento Pub/Sub

Quando attivi l'API Container Registry in un progetto Google Cloud, Container Registry crea automaticamente un argomento Pub/Sub con l'ID argomento gcr.

Se l'argomento gcr è stato eliminato per errore o non è presente, puoi aggiungerlo da te. Ad esempio, l'argomento potrebbe mancare se la tua organizzazione Google Cloud ha un vincolo dei criteri dell'organizzazione che richiede la crittografia con chiavi di crittografia gestite dal cliente (CMEK). Quando l'API Pub/Sub si trova nell'elenco di tipi non consentiti di questo vincolo, i servizi non possono creare automaticamente argomenti con chiavi di crittografia gestite da Google.

Per creare l'argomento gcr con le chiavi di crittografia gestite da Google:

Console

  1. Vai alla pagina Argomenti Pub/Sub in Google Cloud Console.

    Vai alla pagina Argomenti Pub/Sub

  2. Fai clic su Crea argomento.

  3. Inserisci l'ID argomento gcr.

  4. Fai clic su Crea argomento.

gcloud

Esegui questo comando:

gcloud pubsub topics create gcr --project=PROJECT-ID

Sostituisci PROJECT-ID con il tuo ID progetto Google Cloud. Se ometti il flag --project, il comando utilizza il progetto corrente.

Per scoprire di più sul comando gcloud pubsub topics, consulta la documentazione di topics.

Per creare l'argomento gcr con crittografia CMEK, consulta le istruzioni per la crittografia degli argomenti di Pub/Sub.

Dopo aver creato l'argomento gcr o averne verificato l'esistenza, puoi creare una sottoscrizione all'argomento.

Crea una sottoscrizione Pub/Sub

Ogni argomento Pub/Sub deve avere una sottoscrizione.

Un'applicazione dell'abbonato riceve i messaggi dall'argomento del repository. I sottoscrittori eseguono attività come notifiche di eventi, logging di sistema e comunicazione tra applicazioni.

Gli abbonamenti possono essere configurati per utilizzare un modello push o un modello pull.

Per creare una sottoscrizione:

Console

  1. Vai alla pagina Argomenti Pub/Sub in Google Cloud Console.

    Vai alla pagina Argomenti Pub/Sub

  2. Fai clic su un argomento del progetto.

  3. Fai clic su Crea sottoscrizione.

  4. Inserisci un nome per la sottoscrizione:

    projects/[PROJECT-ID]/subscriptions/[SUBSCRIPTION-NAME]
    

    Lascia il tipo di pubblicazione impostato su Pull.

  5. Fai clic su Create (Crea).

gcloud

Dal sistema in cui viene eseguito il push o il tagging delle immagini Docker, esegui il comando seguente:

gcloud pubsub subscriptions create [SUBSCRIPTION-NAME] --topic=gcr

Per scoprire di più sul comando gcloud pubsub subscriptions, consulta la documentazione di subscriptions.

Configurazione delle autorizzazioni Pub/Sub

Puoi usare il controllo dell'accesso Pub/Sub per configurare le autorizzazioni per il tuo progetto e le tue risorse. I controlli di accesso mantengono il tuo repository sicuro e ti consentono di gestire le autorizzazioni utente utilizzando l'accesso basato sui ruoli.

Puoi configurare i controlli di accesso Pub/Sub nella pagina IAM di Google Cloud Console o tramite l'API IAM.

  • Per configurare le autorizzazioni per la pubblicazione, utilizza uno dei seguenti ruoli: proprietario, editor, pubsub.admin, pubsub.editor, pubsub.publisher

  • Per configurare le autorizzazioni per l'iscrizione, utilizza uno dei seguenti ruoli: owner, editor, pubsub.admin, pubsub.editor, pubsub.subscriber

Esempi di notifica

Le notifiche vengono inviate come stringhe in formato JSON. Di seguito sono riportati alcuni esempi di cosa aspettarsi dalla ricezione di notifiche Container Registry da Pub/Sub.

Quando viene eseguito il push di un'immagine in Container Registry, il payload delle notifiche potrebbe avere il seguente aspetto:

{
  "action":"INSERT",
  "digest":"gcr.io/my-project/hello-world@sha256:6ec128e26cd5..."
}

Quando viene eseguito il push di un nuovo tag in Container Registry, il payload delle notifiche potrebbe avere il seguente aspetto:

{
  "action":"INSERT",
  "digest":"gcr.io/my-project/hello-world@sha256:6ec128e26cd5...",
  "tag":"gcr.io/my-project/hello-world:1.1"
}

Il messaggio identifica l'immagine pertinente utilizzando una chiave digest o tag.

Quando un tag viene eliminato da Container Registry, il payload delle notifiche potrebbe avere il seguente aspetto:

{
  "action":"DELETE",
  "tag":"gcr.io/my-project/hello-world:1.1"
}

Il messaggio potrebbe contenere DELETE o INSERT come valori per la chiave action.

Passaggi successivi