Transférer une image

Transférez des images vers Harbor pour renforcer la sécurité grâce au contrôle des accès basé sur les rôles, à l'analyse automatisée des failles et à la gestion simplifiée des images pour vos applications conteneurisées. Pour transférer une image locale vers une instance Harbor, ajoutez-lui un tag correspondant au nom du dépôt avant de la transférer.

Avant de commencer

Pour transférer une image, vous devez configurer votre environnement avec les ressources et les autorisations nécessaires, y compris un projet Harbor existant. Pour en savoir plus, consultez Créer des projets Harbor.

Rôles IAM requis

Pour transférer des images vers des instances de registre Harbor, contactez l'administrateur IAM de votre projet et demandez-lui le rôle suivant :

  • Lecteur d'instance Harbor (harbor-instance-viewer) : permet d'obtenir, de lister et de surveiller les instances Harbor dans l'espace de noms du projet. Ce rôle inclut les autorisations requises pour afficher les détails des instances Harbor existantes. Vous pouvez ainsi récupérer les URL de registre nécessaires pour transférer des images.

Rôles RBAC Harbor requis

Contrairement aux rôles IAM GDC, le transfert d'images nécessite des autorisations spécifiques dans le système interne de contrôle des accès basé sur les rôles (RBAC) de Harbor. Demandez les autorisations nécessaires à votre administrateur. Appliquez le principe du moindre privilège en ne demandant que les rôles requis pour vos tâches spécifiques.

Ajouter un tag à l'image locale

Procédez comme suit pour ajouter un tag à une image locale avec le nom du dépôt :

  1. Vous devez être authentifié auprès de l'instance Harbor. Pour en savoir plus, consultez Configurer l'authentification Docker auprès des instances de registre Harbor.
  2. Définissez le nom de l'image. Le format d'un nom d'image complet est le suivant :

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    Remplacez les éléments suivants :

    • INSTANCE_URL : URL de l'instance Harbor. Exemple : harbor-1.org-1.zone1.google.gdc.test. Obtenez l'URL de l'instance Harbor à l'aide de la console GDC ou de la gcloud CLI.
    • HARBOR_PROJECT_NAME : nom du projet Harbor. Exemple : my-project.
    • IMAGE_NAME : nom de l'image. Exemple : nginx.

    Voici un exemple de nom d'image complet :

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. Ajoutez un tag à l'image locale avec le nom du dépôt :

    docker tag SOURCE-IMAGE
    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
    
    

Remplacez les éléments suivants :

  • SOURCE-IMAGE : nom de l'image locale ou ID de l'image. Exemple : nginx.
  • TAG : nom du tag. Exemple : staging. Si vous ne spécifiez pas de tag, Docker applique le tag "latest" par défaut.

Transférer l'image taguée vers une instance de registre Harbor

Une fois l'image taguée, transférez-la vers l'instance de registre Harbor :

  1. Assurez-vous d'être authentifié auprès de l'instance Harbor.
  2. Transférez l'image taguée à l'aide de la commande suivante :
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

Lorsque vous transférez une image, elle est stockée dans l'instance et le projet Harbor spécifiés.

Une fois l'image transférée, accédez à l' interface utilisateur de l'instance Harbor pour l'afficher.

Étape suivante

Après avoir transféré votre image vers votre registre Harbor, vous pouvez l'extraire vers votre environnement local pour la vérifier. Vous pouvez également configurer des règles de conservation des tags pour gérer automatiquement vos dépôts et examiner les résultats des analyses de sécurité afin de détecter les failles :