Configurer des dépôts compatibles avec les domaines gcr.io

Artifact Registry peut héberger vos images Container Registry existantes et rediriger automatiquement les requêtes des hôtes gcr.io vers les dépôts Artifact Registry correspondants. La redirection vous permet de continuer à utiliser les chemins d'accès d'image avec le domaine gcr.io dans votre automatisation et vos workflows existants.

Avant de commencer

  1. Si ce n'est pas déjà fait, installez la Google Cloud CLI. Pour une installation existante, exécutez la commande suivante afin de mettre à jour les composants vers les dernières versions:

    gcloud components update
    
  2. Activez les API Artifact Registry et Resource Manager. gcloud CLI utilise l'API Resource Manager pour vérifier l'une des autorisations requises.

    Exécutez la commande suivante :

    gcloud services enable \
        cloudresourcemanager.googleapis.com \
        artifactregistry.googleapis.com
    
  3. Découvrez les pricing d'Artifact Registry avant de commencer la transition.

Rôles requis

Afin d'obtenir les autorisations nécessaires pour configurer des dépôts gcr.io, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur le projet Google Cloud:

  • Pour créer des dépôts Artifact Registry et accorder l'accès à des dépôts individuels : Administrateur Artifact Registry (roles/artifactregistry.admin)
  • Pour afficher et gérer la configuration Container Registry existante appliquée aux buckets de stockage Cloud Storage, procédez comme suit : Administrateur de l'espace de stockage (roles/storage.admin)
  • Pour créer un dépôt gcr.io la première fois que vous transférez une image vers un nom d'hôte gcr.io : Artifact Registry Create-on-push (roles/artifactregistry.createOnPushWriter)
  • Pour accorder l'accès au dépôt au niveau du projet : Administrateur de projet IAM (roles/resourcemanager.projectIamAdmin) ou un rôle comprenant des autorisations équivalentes, par exemple Administrateur de dossier (roles/resourcemanager.folderAdmin) ou Administrateur de l'organisation (roles/resourcemanager.organizationAdmin)

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Limites

Les limites suivantes s'appliquent aux dépôts compatibles avec les domaines gcr.io:

  • Vous ne pouvez pas mapper un hôte Container Registry à un dépôt Artifact Registry dans un autre projet.
  • Chaque nom d'hôte Container Registry n'est mappé qu'à un seul dépôt gcr.io Artifact Registry correspondant dans le même emplacement multirégional.
  • Les noms des dépôts gcr.io sont prédéfinis et ne peuvent pas être modifiés.

Si vous avez besoin de mieux contrôler l'emplacement de vos dépôts, vous pouvez passer à des dépôts standards sur le domaine Artifact Registry pkg.dev. Étant donné que les dépôts standards ne sont pas compatibles avec le domaine gcr.io, cette approche de transition nécessite de modifier davantage votre automatisation et vos workflows existants. Consultez Choisir une option de transition pour en savoir plus sur les différences entre les fonctionnalités.

Créer des dépôts

Créez des dépôts gcr.io afin de configurer l'accès pour vos utilisateurs et copiez les images Container Registry existantes dans Artifact Registry avant d'activer la redirection.

Création rapide du dépôt

Ces étapes permettent de créer des dépôts gcr.io qui sont chiffrés à l'aide de clés de chiffrement gérées par Google. Si vous souhaitez utiliser des clés de chiffrement gérées par le client (CMEK), vous devez créer des dépôts manuellement.

Pour créer des dépôts gcr.io:

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

    Sur la page, une bannière affiche le message You have gcr.io repositories in Container Registry.

    Ouvrir la page "Paramètres"

  2. Dans la bannière, cliquez sur Créer des dépôts gcr.io.

    Le panneau Créer des dépôts gcr.io s'ouvre. La section Copier des images répertorie les noms complets de chaque dépôt qui sera créé. Vous aurez besoin de ces noms de dépôt si vous souhaitez copier des images à partir de Container Registry avant d'activer la redirection.

  3. Cliquez sur Créer.

Artifact Registry crée des dépôts gcr.io pour tous les noms d'hôte Container Registry:

Nom d'hôte Container Registry Nom du dépôt Artifact Registry
gcr.io gcr.io
asia.gcr.io asia.gcr.io
eu.gcr.io eu.gcr.io
us.gcr.io us.gcr.io

Pour afficher rapidement l'URL Artifact Registry du dépôt, pointez sur l'icône d'avertissement ( ) à côté du nom du dépôt.

Avant de rediriger le trafic vers vos nouveaux dépôts, vous devez vous assurer que votre automatisation existante peut accéder au dépôt. L'étape suivante consiste à configurer les autorisations pour accorder l'accès aux dépôts.

Création manuelle du dépôt

Créez manuellement des dépôts gcr.io si vous souhaitez utiliser des clés de chiffrement gérées par le client (CMEK) pour chiffrer le contenu du dépôt, ou si une contrainte d'emplacement dans votre organisation Google Cloud bloque la création de ressources dans des emplacements spécifiques.

Pour créer manuellement un dépôt gcr.io, procédez comme suit:

  1. Si vous utilisez une clé CMEK, créez la clé que vous utiliserez avec ce dépôt et accordez les autorisations requises pour l'utiliser. Consultez la section Activer les clés de chiffrement gérées par le client.

  2. Ajoutez le dépôt.

    Console

    1. Ouvrez la page Dépôts de la console Google Cloud.

      Ouvrir la page "Dépôts"

    2. Cliquez sur Créer un dépôt.

    3. Spécifiez le nom du dépôt.

      Nom d'hôte Container Registry Nom du dépôt Artifact Registry
      gcr.io gcr.io
      asia.gcr.io asia.gcr.io
      eu.gcr.io eu.gcr.io
      us.gcr.io us.gcr.io
    4. Spécifiez Docker comme format de dépôt.

    5. Sous Type d'emplacement, spécifiez l'emplacement multirégional du dépôt:

      Nom d'hôte Container Registry Emplacement du dépôt Artifact Registry
      gcr.io us
      asia.gcr.io asia
      eu.gcr.io europe
      us.gcr.io us
    6. Ajoutez une description pour le dépôt. N'incluez pas de données sensibles, car les descriptions du dépôt ne sont pas chiffrées.

    7. Dans la section Chiffrement, choisissez le mécanisme de chiffrement du dépôt.

      • Clé gérée par Google : chiffrez le contenu du dépôt avec une clé de chiffrement gérée par Google.
      • Clé gérée par le client : chiffre le contenu du dépôt à l'aide d'une clé que vous contrôlez via Cloud Key Management Service. Pour obtenir des instructions sur la configuration de la clé, consultez la page Configurer des CMEK pour les dépôts.
    8. Cliquez sur Créer.

    gcloud

    Exécutez la commande suivante pour créer un dépôt.

    gcloud artifacts repositories create REPOSITORY \
        --repository-format=docker \
        --location=LOCATION \
        --description=DESCRIPTION \
        --kms-key=KMS-KEY
    

    Remplacez les valeurs suivantes :

    • REPOSITORY est le nom du dépôt.

      Nom d'hôte Container Registry Nom du dépôt Artifact Registry
      gcr.io gcr.io
      asia.gcr.io asia.gcr.io
      eu.gcr.io eu.gcr.io
      us.gcr.io us.gcr.io
    • LOCATION est l'emplacement multirégional du dépôt:

      Nom d'hôte Container Registry Emplacement du dépôt Artifact Registry
      gcr.io us
      asia.gcr.io asia
      eu.gcr.io europe
      us.gcr.io us
    • DESCRIPTION est une description du dépôt. N'incluez pas de données sensibles, car les descriptions du dépôt ne sont pas chiffrées.

    • KMS-KEY correspond au chemin d'accès complet à la clé de chiffrement Cloud KMS, si vous utilisez une clé de chiffrement gérée par le client pour chiffrer le contenu du dépôt. Le chemin est au format suivant :

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
      

      Remplacez les valeurs suivantes :

      • KMS-PROJECT est le projet dans lequel votre clé est stockée.
      • KMS-LOCATION correspond à l'emplacement de la clé.
      • KEY-RING correspond au nom du trousseau de clés.
      • KEY correspond au nom de la clé.

    Vous pouvez vérifier que le dépôt a bien été créé en répertoriant vos dépôts à l'aide de la commande suivante:

    gcloud artifacts repositories list
    

Avant de rediriger le trafic vers vos nouveaux dépôts, vous devez vous assurer que votre automatisation existante peut accéder au dépôt. L'étape suivante consiste à configurer les autorisations pour accorder l'accès aux dépôts.

Accorder des autorisations aux dépôts

Container Registry utilise des rôles Cloud Storage pour contrôler les accès. Artifact Registry possède ses propres rôles IAM, qui séparent plus clairement les rôles d'administration de lecture, d'écriture et de dépôt que Container Registry.

Pour mapper rapidement les autorisations existantes accordées sur les buckets de stockage avec les rôles Artifact Registry suggérés, utilisez l'outil de mappage des rôles.

Vous pouvez également afficher la liste des comptes principaux ayant accès aux buckets de stockage à l'aide de la console Google Cloud.

  1. Dans la console Google Cloud, accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Cliquez sur le bucket de stockage de l'hôte de registre que vous souhaitez afficher. Dans les noms des buckets, PROJECT-ID correspond à l'ID de votre projet Google Cloud.

    • gcr.io: artifacts.PROJECT-ID.appspot.com
    • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
    • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
    • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com
  3. Cliquez sur l'onglet Autorisations.

  4. Dans l'onglet "Autorisations", cliquez sur le sous-onglet Afficher par rôle.

  5. Développez un rôle pour afficher les comptes principaux qui l'appartiennent.

La liste comprend les rôles IAM attribués directement sur le bucket, ainsi que les rôles hérités du projet parent. En fonction du rôle, vous pouvez choisir le rôle Artifact Registry le plus approprié à accorder.

Cloud Storage et rôles de base

Accordez aux utilisateurs et aux comptes de service qui accèdent actuellement à Container Registry un accès aux dépôts Artifact Registry. Pour les rôles Cloud Storage hérités du projet parent, vous devez vérifier que le compte principal utilise actuellement Container Registry. Certains comptes principaux peuvent n'accéder qu'à d'autres buckets Cloud Storage qui ne sont pas liés à Container Registry.

Les rôles de base Propriétaire, Éditeur et Lecteur qui existaient avant IAM disposent d'un accès limité aux buckets de stockage. Ils n'accordent pas intrinsèquement tous les accès aux ressources Cloud Storage que leur nom implique, et ne fournissent pas d'autorisations supplémentaires pour d'autres services Google Cloud. Vérifiez les utilisateurs et les comptes de service qui ont besoin d'accéder à Artifact Registry, et utilisez la table de mappage de rôles pour attribuer les rôles appropriés si l'accès à Artifact Registry est approprié.

Le tableau suivant mappe les rôles Artifact Registry en fonction des autorisations accordées par les rôles Cloud Storage prédéfinis pour l'accès à Container Registry.

Accès requis Rôle actuel Rôle Artifact Registry Où attribuer le rôle ?
Extraire uniquement les images (lecture seule) Lecteur des objets Storage
(roles/storage.objectViewer)
Lecteur Artifact Registry
(roles/artifactregistry.reader)
Dépôt Artifact Registry ou projet Google Cloud
  • Transférer et extraire des images (lecture et écriture)
  • Supprimer des images
Rédacteur des anciens buckets Storage
(roles/storage.legacyBucketWriter)
Administrateur de dépôt Artifact Registry
(roles/artifactregistry.repoAdmin)
Dépôt Artifact Registry ou projet Google Cloud
Créez un dépôt gcr.io dans Artifact Registry la première fois qu'une image est transférée vers un nom d'hôte gcr.io dans un projet. Administrateur de l'espace de stockage
(roles/storage.admin)
Administrateur de dépôts Create-on-push Artifact Registry
(roles/artifactregistry.createOnPushRepoAdmin)
Projet Google Cloud
Créer, gérer et supprimer des dépôts Administrateur de l'espace de stockage
(roles/storage.admin)
Administrateur Artifact Registry
(roles/artifactregistry.Admin)
Projet Google Cloud
Rôles d'agent de service hérités du projet

Les comptes de service par défaut des services Google Cloud ont leurs propres rôles attribués au niveau du projet. Par exemple, l'agent de service pour Cloud Run dispose du rôle "Agent de service Cloud Run".

Dans la plupart des cas, ces rôles d'agent de service contiennent des autorisations par défaut équivalentes pour Container Registry et Artifact Registry. Vous n'avez pas besoin d'apporter de modifications supplémentaires si vous exécutez Artifact Registry dans le même projet que votre service Container Registry existant.

Consultez la documentation de référence sur les rôles de l'agent de service pour en savoir plus sur les autorisations associées à ces rôles.

Rôles personnalisés

Le tableau de mappage des rôles vous permet de choisir le rôle à attribuer aux utilisateurs ou aux comptes de service en fonction du niveau d'accès requis.

Pour obtenir des instructions sur l'attribution de rôles Artifact Registry, consultez la section Configurer les rôles et les autorisations.

Copier des conteneurs à partir de Container Registry

Copiez les images existantes de Container Registry vers Artifact Registry. La méthode la plus rapide et la plus économique consiste à copier des images avec gcrane.

Pour copier des images:

  1. Téléchargez gcrane et extrayez l'outil du fichier d'archive. La version 0.10.0 ou une version ultérieure est requise. Pour vérifier la version d'une installation gcrane existante, exécutez la commande suivante:

    gcrane version
    
  2. Attribuez le rôle Lecteur des objets Storage (roles/storage.objectViewer) au compte de service géré par Google Artifact Registry pour qu'il puisse lire les buckets de stockage avec nos images Container Registry. Vous pouvez supprimer ce rôle lorsque vous n'avez plus besoin de copier des images depuis Container Registry.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com' \
        --role='roles/storage.objectViewer'
    

    Remplacez PROJECT_ID par l'ID du projet et PROJECT_NUMBER par le numéro du projet Google Cloud sur lequel Container Registry et Artifact Registry sont exécutés.

  3. Exécutez les commandes suivantes pour copier des images:

    Pour gcr.io :

    gcrane cp -r gcr.io/PROJECT_ID us-docker.pkg.dev/PROJECT_ID/gcr.io
    

    Pour asia.gcr.io :

    gcrane cp -r asia.gcr.io/PROJECT_ID asia-docker.pkg.dev/PROJECT_ID/asia.gcr.io
    

    Pour eu.gcr.io :

    gcrane cp -r eu.gcr.io/PROJECT_ID europe-docker.pkg.dev/PROJECT_ID/eu.gcr.io
    

    Pour us.gcr.io :

    gcrane cp -r us.gcr.io/PROJECT_ID us-docker.pkg.dev/PROJECT_ID/us.gcr.io
    

Une fois les images copiées dans Artifact Registry, vous pouvez supprimer le rôle Lecteur des objets Storage du compte de service Artifact Registry à l'aide de la commande suivante:

gcloud projects remove-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com' \
    --role='roles/storage.objectViewer'

Configurer d'autres fonctionnalités

Cette section décrit la configuration d'autres fonctionnalités que vous avez pu mettre en place dans Container Registry.

Artifact Analysis

Artifact Analysis est compatible avec Container Registry et Artifact Registry. Les deux produits utilisent les mêmes API Artifact Analysis pour les métadonnées d'image et l'analyse des failles, ainsi que les mêmes sujets Pub/Sub pour les notifications d'analyse d'artefacts.

Toutefois, les actions suivantes ne se produisent que lorsque la redirection est activée:

  • Analyse automatique des dépôts gcr.io dans Artifact Registry
  • Inclure l'activité du dépôt gcr.io dans les notifications Pub/Sub.

Vous pouvez continuer à utiliser les commandes gcloud container images pour répertorier les notes et les occurrences associées aux chemins d'accès des images gcr.io.

Container Registry Artifact Registry
Analyse les failles du système d'exploitation et des packages de langue grâce à l'analyse à la demande des images disposant d'un système d'exploitation compatible. L'analyse automatique ne renvoie que des informations sur les failles de l'OS. En savoir plus sur les types d'analyses
Analyse à la demande
Recherche automatique
  • La commande gcloud container images de Google Cloud CLI inclut des indicateurs permettant d'afficher les résultats des analyses, y compris les failles et d'autres métadonnées.
  • Les analyses ne renvoient des informations sur les failles de l'OS que pour les images stockées dans Container Registry avec des systèmes d'exploitation compatibles.
Analyse les failles du système d'exploitation et des packages linguistiques à l'aide d'une analyse à la demande et automatique. En savoir plus sur les types d'analyses
Analyse à la demande
Recherche automatique
  • La commande gcloud artefacts docker images de Google Cloud CLI inclut des indicateurs permettant d'afficher les résultats d'analyse, y compris les failles et d'autres métadonnées.
  • Les analyses renvoient des informations sur les failles de l'OS pour les images stockées dans Artifact Registry avec des systèmes d'exploitation compatibles et des informations sur les failles des packages de langage pour les systèmes d'exploitation compatibles ou non.

Notifications Pub/Sub

Artifact Registry publie les modifications apportées dans le même sujet gcr que Container Registry. Aucune configuration supplémentaire n'est requise si vous utilisez déjà Pub/Sub avec Container Registry dans le même projet qu'Artifact Registry. Toutefois, Artifact Registry ne publie pas de messages pour les dépôts gcr.io tant que vous n'avez pas activé la redirection.

Si vous configurez Artifact Registry dans un projet distinct, le sujet gcr peut ne pas exister. Pour obtenir des instructions de configuration, consultez la section Configurer les notifications Pub/Sub.

Activer la redirection du trafic gcr.io

Après avoir créé vos dépôts gcr.io et configuré les autorisations et l'authentification pour vos clients tiers, vous pouvez activer la redirection du trafic gcr.io.

Si vous rencontrez un problème après avoir activé la redirection, vous pouvez acheminer le trafic vers Container Registry, puis réactiver la redirection une fois le problème résolu.

Vérifiez les autorisations pour activer la redirection

Pour activer la redirection, vous devez disposer des autorisations suivantes au niveau du projet:

  • artifactregistry.projectsettings.update: permet de mettre à jour les paramètres du projet Artifact Registry. Cette autorisation appartient au rôle Administrateur Artifact Registry (roles/artifactregistry.admin).
  • storage.buckets.update : permet de mettre à jour les buckets de stockage dans l'ensemble du projet. Cette autorisation appartient au rôle "Administrateur de l'espace de stockage" (roles/storage.admin).

Si vous ne disposez pas de ces autorisations, demandez à un administrateur de les accorder au niveau du projet.

Les commandes suivantes accordent les rôles Administrateur Artifact Registry et Administrateur de l'espace de stockage au niveau d'un projet.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='user:PRINCIPAL' \
    --role='roles/artifactregistry.admin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='user:PRINCIPAL' \
    --role='roles/storage.admin'

Remplacez les valeurs suivantes :

  • PROJECT_ID est l'ID du projet Google Cloud.
  • PRINCIPAL est l'adresse e-mail du compte que vous mettez à jour. Exemple : user:my-user@example.com.

Valider la configuration du projet

Pour valider la configuration de votre projet, exécutez la commande suivante:

gcloud artifacts settings enable-upgrade-redirection \
    --project=PROJECT_ID --dry-run

Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

Artifact Registry recherche les dépôts correspondant à des noms d'hôte Container Registry.

Bien qu'Artifact Registry puisse créer automatiquement les dépôts gcr.io manquants lorsque vous activez la redirection, nous vous recommandons de les créer d'abord afin de pouvoir effectuer ces actions avant d'activer la redirection:

Activer la redirection

Pour activer la redirection pour le trafic gcr.io:

Console

  1. Ouvrez la page "Paramètres" dans la console Google Cloud.

    Ouvrir la page "Paramètres"

  2. Cliquez sur Acheminer le trafic vers Artifact Registry.

gcloud

Pour activer la redirection, exécutez la commande suivante:

gcloud artifacts settings enable-upgrade-redirection \
    --project=PROJECT_ID

Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

Artifact Registry commence à activer la redirection.

Pour vérifier l'état actuel de la redirection, exécutez la commande suivante :

gcloud artifacts settings describe

Lorsque la redirection est activée, le résultat est le suivant:

legacyRedirectionState: REDIRECTION_FROM_GCR_IO_ENABLED

Tout le trafic vers gcr.io, asia.gcr.io, eu.gcr.io et us.gcr.io est redirigé, même si vous n'avez pas créé de dépôts gcr.io pour tous les noms d'hôte Container Registry. Si vous transférez une image vers un nom d'hôte sans dépôt Artifact Registry correspondant, Artifact Registry crée le dépôt si vous disposez d'un rôle disposant de l'autorisation artifactregistry.repositories.createOnPush. Les rôles prédéfinis "Rédacteur Create-on-push" (artifactregistry.createOnPushWriter) et Administrateur de dépôt Create-on-push (artifactregistry.createOnPushRepoAdmin) disposent de cette autorisation.

Lorsque la redirection est activée, vous pouvez tester votre automatisation, et vérifier que vous pouvez transférer et extraire des images à l'aide de vos nouveaux dépôts gcr.io. Si nécessaire, vous pouvez réacheminer le trafic vers Container Registry, puis réactiver la redirection lorsque vous êtes prêt à poursuivre les tests.

Rediriger le trafic vers Container Registry

Si nécessaire, vous pouvez réacheminer le trafic gcr.io vers Container Registry. Vous pourrez enable la redirection lorsque vous serez prêt.

Console

  1. Ouvrez la page "Paramètres" dans la console Google Cloud.

    Ouvrir la page "Paramètres"

  2. Cliquez sur Réacheminer le trafic vers Container Registry.

gcloud

  1. Exécutez la commande suivante :

    gcloud artifacts settings disable-upgrade-redirection \
        --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

    Artifact Registry vous invite à confirmer votre choix.

  2. Pour confirmer le réacheminement vers Container Registry, saisissez y.

Vérifier la redirection

Vérifiez que les requêtes pull et push sur les noms d'hôte gcr.io fonctionnent.

  1. Transférez une image de test vers l'un de vos dépôts gcr.io à l'aide de son chemin d'accès gcr.io.

    1. Ajoutez un tag à l'image à l'aide du chemin d'accès gcr.io. Par exemple, cette commande tague l'image local-image comme us.gcr.io/my-project/test-image:

      docker tag local-image us.gcr.io/my-project/test-image
      
    2. Transférez l'image à laquelle vous avez ajouté un tag. Par exemple, cette commande transfère l'image us.gcr.io/my-project/test-image:

      docker push us.gcr.io/my-project/test-image
      
  2. Répertoriez les images du dépôt pour vérifier qu'elles ont bien été importées. Par exemple, pour répertorier les images dans us.gcr.io/my-project, exécutez la commande suivante:

    gcloud container images list --repository=us.gcr.io/my-project
    
  3. Récupérez l'image depuis le dépôt à l'aide de son chemin d'accès Container Registry. Par exemple, cette commande extrait l'image us.gcr.io/my-project/test-image.

    docker pull us.gcr.io/my-project/test-image
    

Après ce test initial, vérifiez que l'automatisation existante de création et de déploiement des images fonctionne comme prévu, y compris:

  • Les utilisateurs et les comptes de service qui utilisent Container Registry peuvent toujours transférer, extraire et déployer des images lorsque la redirection est activée.
  • Votre automatisation transfère les images uniquement vers les dépôts existants.
  • Si l'analyse des failles d'Artifact Analysis est activée, elle identifie les images présentant des failles dans les dépôts gcr.io.
  • Si vous utilisez l'autorisation binaire, vos stratégies existantes fonctionnent correctement pour les images déployées à partir de dépôts gcr.io.
  • Les abonnements Pub/Sub configurés incluent des notifications concernant les modifications apportées à vos dépôts gcr.io.

Nettoyer les images Container Registry

Lorsque la redirection est activée, les commandes permettant de supprimer les images des chemins d'accès gcr.io suppriment les images du dépôt gcr.io Artifact Registry correspondant. Ils ne suppriment pas les images stockées sur les hôtes Container Registry. Pour supprimer en toute sécurité toutes les images Container Registry, supprimez les buckets Cloud Storage pour chaque nom d'hôte Container Registry.

Pour supprimer chaque bucket de stockage Container Registry, procédez comme suit:

Console

  1. Accédez à la page "Cloud Storage" dans la console Google Cloud.
  2. Sélectionnez le bucket de stockage à supprimer. Dans les noms des buckets, PROJECT-ID correspond à l'ID de votre projet Google Cloud.

    • gcr.io: artifacts.PROJECT-ID.appspot.com
    • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
    • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
    • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com
  3. Cliquez sur Supprimer. Une boîte de dialogue de confirmation s'affiche.

  4. Pour confirmer la suppression, saisissez le nom du bucket, puis cliquez sur Supprimer.

gsutil

Si vous souhaitez supprimer de manière groupée au moins 10 000 images dans un bucket, évitez d'utiliser gsutil, car le processus de suppression prend beaucoup de temps. Utilisez plutôt la console Google Cloud pour effectuer l'opération.

Pour supprimer un bucket, exécutez la commande gsutil rm avec l'option -r.

gsutil rm -r gs://BUCKET-NAME

Remplacez BUCKET-NAME par le nom du bucket de stockage Container Registry. Dans les noms des buckets, PROJECT-ID correspond à l'ID de votre projet Google Cloud.

  • gcr.io: artifacts.PROJECT-ID.appspot.com
  • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
  • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
  • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com

La réponse est semblable à ceci :

Removing gs://artifacts.my-project.appspot.com/...

Si d'autres services Google Cloud s'exécutent dans le même projet Google Cloud, laissez l'API Container Registry activée. Si vous essayez de désactiver l'API Container Registry. Container Registry affiche un avertissement si d'autres services avec une dépendance configurée sont activés dans le projet. La désactivation de l'API Container Registry désactive automatiquement tous les services du même projet avec une dépendance configurée, même si vous n'utilisez pas actuellement Container Registry avec ces services.

Étapes suivantes