Comptes robots✯
Un compte robot est un identifiant automatisé, dédié à un projet, permettant à des outils (pipelines CI/CD, scripts, serveurs de déploiement…) de pull et/ou push des images sans utiliser votre compte personnel.
Pourquoi utiliser un compte robot ?
- Sécurité : on accorde au robot uniquement les permissions strictement nécessaires (par ex. pull seul).
- Indépendance : le robot ne dépend pas de votre session SSO ni de votre CLI secret personnel, qui peut changer.
- Révocabilité : on peut désactiver ou supprimer un robot sans impacter votre compte.
C'est la méthode recommandée pour l'intégration GitLab CI/CD.
Créer un compte robot✯
Il faut être Maintainer ou Project Admin du projet.
- Ouvrez votre projet > onglet Robot Accounts
- Cliquez sur NEW ROBOT ACCOUNT
- Renseignez :
- un nom (ex.
gitlab-ci) et une description facultative - une date d'expiration (ou Never Expired)
- les permissions (voir ci-dessous)
- un nom (ex.
- Validez

Choisir les permissions✯
Les permissions sont accordées par ressource (Repository, Artifact, Tag, Scan…) et par action (Pull, Push, List, Read…). N'accordez au robot que ce dont il a réellement besoin.
| Besoin | Ressource → Action à cocher |
|---|---|
Récupérer des images (docker pull) |
Repository → Pull |
Pousser des images (docker push) |
Repository → Push (+ Pull) |
| Lister les dépôts | Repository → List |
| Lister et lire les artefacts | Artifact → List + Artifact → Read |
| Lister les tags | Tag → List |
Push implique Pull
La permission Push Repository doit toujours être accompagnée de la permission Pull Repository.
Robot pour un pipeline GitLab
En général, un même robot sert à la fois à pull/push dans le pipeline et à alimenter la vue Harbor Registry de l'intégration GitLab. Accordez-lui dans ce cas :
- Repository → Pull, Push, List
- Artifact → List, Read
- Tag → List
Les actions List/Read sont distinctes de Pull/Push : un robot qui peut pousser des images ne peut pas pour autant lister le contenu du projet tant que ces permissions ne sont pas explicitement cochées.
Nom du robot✯
Le compte robot est nommé selon le schéma :
robot$<projet>+<nom>
Par exemple, un robot gitlab-ci dans le projet mon-projet aura pour identifiant robot$mon-projet+ci.
Récupérer le secret✯
À la création, Harbor affiche une seule fois le secret du robot.
Copiez le secret immédiatement
Harbor ne stocke pas le secret en clair : il est impossible de le récupérer ultérieurement. Copiez-le (ou téléchargez-le) et conservez-le dans un endroit sûr (gestionnaire de secrets, variable CI/CD masquée…). En cas de perte, régénérez-le (bouton … > Refresh Secret).

Utiliser un compte robot✯
L'utilisation est identique à un docker login classique, avec l'identifiant du robot et son secret :
docker login registry.isima.fr -u 'robot$mon-projet+gitlab-ci' -p '<SECRET_DU_ROBOT>'
En script ou en CI
Passez le secret via l'entrée standard plutôt qu'en argument :
echo "$ROBOT_SECRET" | docker login registry.isima.fr -u 'robot$mon-projet+gitlab-ci' --password-stdin
Attention au caractère $ dans le nom du robot : entourez-le de guillemets simples pour éviter qu'il soit interprété par le shell.
Gérer les comptes robots✯
Depuis l'onglet Robot Accounts, vous pouvez à tout moment :
- Désactiver / réactiver un robot
- Modifier ses permissions ou son expiration
- Régénérer son secret (Refresh Secret) — l'ancien secret est alors invalidé
- Supprimer le robot
Pour aller plus loin✯
- Intégration GitLab CI/CD : utiliser un robot dans un pipeline