Harbor-architectuur: veilig container-images beheren
Harbor is meer dan alleen een plek om images op te slaan: het scant, beveiligt en repliceert ze ook. Dit zijn de onderdelen erachter.
Een container-registry lijkt in de basis simpel: images erin, images eruit. Harbor voegt daar een hele beveiligings- en beheerlaag aan toe, wat het een populaire keuze maakt voor bedrijven met strenge compliance-eisen.
De belangrijkste onderdelen
- Core — de centrale component die authenticatie, RBAC (wie mag welke projecten zien of naar pushen) en de API afhandelt.
- Registry — de daadwerkelijke opslag van image-lagen, gebaseerd op de open-source Docker Distribution-registry.
- Trivy — een ingebouwde scanner die images automatisch controleert op bekende kwetsbaarheden (CVE's) zodra ze worden gepusht.
- Job service — voert achtergrondtaken uit zoals het repliceren van images tussen meerdere Harbor-instanties en garbage collection van ongebruikte lagen.
De flow van een push
Wanneer een CI-pipeline een image pusht, gaat het verzoek eerst langs Core voor authenticatie en autorisatie. Pas daarna worden de lagen daadwerkelijk opgeslagen in de Registry. Afhankelijk van het projectbeleid kan Harbor de scan direct laten meelopen, en een image blokkeren voor gebruik als er kritieke kwetsbaarheden gevonden worden.
Projecten en toegangsniveaus
Images worden georganiseerd in projecten, die publiek of privé kunnen zijn. Binnen een project ken je gebruikers rollen toe (bijvoorbeeld guest, developer, maintainer), waarmee je fijnmazig kunt regelen wie mag lezen en wie mag schrijven.
Examentip: Als een vraag vraagt naar "waar images automatisch gescand worden op kwetsbaarheden vóórdat ze gebruikt mogen worden", is het antwoord vrijwel altijd een registry zoals Harbor met een geïntegreerde scanner.