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 de votre projet IAM pour demander le rôle suivant :
- Lecteur d'instances 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 afin de pouvoir 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, l'envoi d'images nécessite des autorisations spécifiques dans le système de contrôle des accès basé sur les rôles (RBAC) interne 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.
- Developer : requis pour transférer des images vers un dépôt Harbor. Pour en savoir plus sur tous les rôles disponibles, consultez la documentation Harbor sur les autorisations utilisateur par rôle : https://goharbor.io/docs/2.12.0/administration/managing-users/user-permissions-by-role/.
Ajouter un tag à l'image locale
Pour ajouter un tag à une image locale avec le nom du dépôt, procédez comme suit :
- Vous devez être authentifié auprès de l'instance Harbor. Pour en savoir plus, consultez Configurer l'authentification Docker pour les instances de registre Harbor.
Définissez le nom de l'image. Le format d'un nom d'image complet est le suivant :
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGERemplacez 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 CLI gdcloud.HARBOR_PROJECT_NAME: nom du projet Harbor. Exemple :my-project..IMAGE_NAME: nom de l'image. Par exemple,nginx..
Voici un exemple de nom d'image complet :
harbor-1.org-1.zone1.google.gdc.test/my-project/nginxAjoutez 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 ou ID de l'image locale. Exemple :nginxTAG: nom du tag. Exemple :stagingSi 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 :
- Assurez-vous d'être authentifié auprès de l'instance Harbor.
- 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.
Après avoir transféré votre image, accédez à l'UI de l'instance Harbor pour l'afficher.
Étapes suivantes
Après avoir transféré votre image vers votre registre Harbor, vous pouvez l'extraire dans 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 :