Artifact Registry est le service recommandé pour gérer les images de conteneurs. Container Registry demeure compatible, mais ne recevra que les correctifs de sécurité critiques. En savoir plus sur la transition vers Artifact Registry.

Configurer les notifications Pub/Sub

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Lorsque des modifications sont apportées à votre dépôt Container Registry, par exemple lorsque des images sont stockées, taguées ou supprimées, vous pouvez recevoir des notifications via Pub/Sub.

Pub/Sub publie des messages concernant votre dépôt dans des ressources identifiées appelées sujets. Ces messages sont reçus par les applications abonnées aux sujets Pub/Sub. Les applications d'abonnés envoient des notifications lorsque l'état du dépôt change.

En outre, vous pouvez configurer des rôles et des autorisations pour vos sujets Pub/Sub afin de contrôler la manière dont les utilisateurs interagissent avec votre dépôt.

Pour permettre le passage de Container Registry à Artifact Registry, Artifact Registry publie des messages dans le même sujet que Container Registry.

Pour plus d'informations sur la configuration des notifications Container Analysis pour les activités telles que les nouveaux résultats d'analyse des failles, consultez la documentation de Container Analysis.

Créer un sujet Pub/Sub

Lorsque vous activez l'API Container Registry dans un projet Google Cloud, Container Registry crée automatiquement un sujet Pub/Sub avec l'ID de sujet gcr.

Si le sujet gcr a été accidentellement supprimé ou manquant, vous pouvez l'ajouter vous-même. Par exemple, le sujet peut être manquant si votre organisation Google Cloud dispose d'une contrainte de règle d'administration nécessitant un chiffrement avec des clés de chiffrement gérées par le client (CMEK). Lorsque l'API Pub/Sub figure dans la liste de blocage de cette contrainte, les services ne peuvent pas créer automatiquement de sujets avec des clés de chiffrement gérées par Google.

Pour créer le sujet gcr avec des clés de chiffrement gérées par Google:

Console

  1. Accédez à la page "Sujets Pub/Sub" dans Google Cloud Console.

    Accéder à la page des sujets Pub/Sub

  2. Cliquez sur Créer un sujet.

  3. Saisissez l'ID du sujet gcr.

  4. Cliquez sur Créer un sujet.

gcloud

Exécutez la commande suivante :

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

Remplacez PROJECT-ID par l'ID de votre projet Google Cloud. Si vous omettez l'option --project, la commande utilise le projet actuel.

Pour en savoir plus sur la commande gcloud pubsub topics, consultez la documentation sur topics.

Pour créer le sujet gcr avec le chiffrement CMEK, consultez les instructions de chiffrement de sujets Pub/Sub.

Après avoir créé le sujet gcr ou vérifié qu'il existe, vous pouvez créer un abonnement à ce sujet.

Créer un abonnement Pub/Sub

Chaque sujet Pub/Sub doit être associé à un abonnement.

Une application d'abonné reçoit des messages en provenance du sujet de votre dépôt. Les abonnés accomplissent des tâches telles que les notifications d'événements, la journalisation système et la communication entre les applications.

Les abonnements peuvent être configurés pour utiliser un modèle push ou un modèle pull.

Pour créer un abonnement :

Console

  1. Accédez à la page "Sujets Pub/Sub" dans Google Cloud Console.

    Accéder à la page des sujets Pub/Sub

  2. Cliquez sur le sujet de votre projet.

  3. Cliquez sur Créer un abonnement.

  4. Entrez un nom d'abonnement :

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

    Laissez le type de distribution défini sur "Retrait".

  5. Cliquez sur Créer.

gcloud

À partir du système dans lequel les images Docker sont stockées ou taguées, exécutez la commande suivante :

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

Pour en savoir plus sur la commande gcloud pubsub subscriptions, consultez la documentation sur subscriptions.

Configurer les autorisations Pub/Sub

Vous pouvez configurer les autorisations de votre projet et de vos ressources à l'aide du contrôle des accès Pub/Sub. Les contrôles des accès sécurisent votre dépôt et vous permettent de gérer les autorisations des utilisateurs à l'aide d'un accès basé sur les rôles.

Vous pouvez configurer les contrôles d'accès de Pub/Sub sur la page IAM de Google Cloud Console ou via l'API IAM.

  • Pour configurer les autorisations de publication, utilisez l'un des rôles suivants : propriétaire, éditeur, administrateur pubsub, éditeur pubsub (pour les modifications), éditeur pubsub (pour les publications).

  • Pour configurer les autorisations d’abonnement, utilisez l’un des rôles suivants : propriétaire, éditeur, administrateur pubsub, éditeur pubsub (pour les modifications), éditeur pubsub (pour les publications).

Exemples de notifications

Les notifications sont envoyées sous forme de chaînes au format JSON. Vous trouverez ci-dessous des exemples de notifications Container Registry envoyées par Pub/Sub.

Lorsqu'une image est stockée dans Container Registry, le contenu de la notification peut ressembler à ceci :

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

Lorsqu'un nouveau tag est stocké dans Container Registry, le contenu de la notification peut ressembler à ceci :

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

Le message identifie l'image pertinente à l'aide d'une clé digest ou tag.

Lorsqu'un tag est supprimé de Container Registry, le contenu de la notification peut ressembler à ceci :

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

Le message peut contenir les valeurs DELETE ou INSERT pour la clé action.

Étapes suivantes