GCP - Artifact Registry Enum
Informations de base
Google Cloud Artifact Registry est un service entièrement géré qui vous permet de gérer, stocker et sécuriser vos artefacts logiciels. C'est essentiellement un dépôt pour stocker les dépendances de construction, telles que les images Docker, Maven, les paquets npm et d'autres types d'artefacts. Il est couramment utilisé dans les pipelines CI/CD pour stocker et versionner les artefacts produits pendant le processus de développement logiciel.
Les caractéristiques clés de Artifact Registry incluent :
Dépôt unifié : Il prend en charge plusieurs types d'artefacts, vous permettant d'avoir un seul dépôt pour les images Docker, les paquets de langage (comme Maven de Java, npm de Node.js) et d'autres types d'artefacts, permettant des contrôles d'accès cohérents et une vue unifiée sur tous vos artefacts.
Entièrement géré : En tant que service géré, il s'occupe de l'infrastructure sous-jacente, de l'échelle et de la sécurité, réduisant la charge de maintenance pour les utilisateurs.
Contrôle d'accès granulaire : Il s'intègre à la gestion des identités et des accès (IAM) de Google Cloud, vous permettant de définir qui peut accéder, télécharger ou téléverser des artefacts dans vos dépôts.
Géo-réplication : Il prend en charge la réplication des artefacts sur plusieurs régions, améliorant la vitesse des téléchargements et assurant la disponibilité.
Intégration avec les services Google Cloud : Il fonctionne de manière transparente avec d'autres services GCP comme Cloud Build, Kubernetes Engine et Compute Engine, ce qui en fait un choix pratique pour les équipes travaillant déjà dans l'écosystème Google Cloud.
Sécurité : Offre des fonctionnalités comme l'analyse de vulnérabilité et l'analyse de conteneurs pour aider à garantir que les artefacts stockés sont sécurisés et exempts de problèmes de sécurité connus.
Formats et Modes
Lors de la création d'un nouveau dépôt, il est possible de sélectionner le format/type du dépôt parmi plusieurs, comme Docker, Maven, npm, Python... et le mode qui peut généralement être l'un de ces trois :
Dépôt standard : Mode par défaut pour stocker vos propres artefacts (comme les images Docker, les paquets Maven) directement dans GCP. Il est sécurisé, évolutif et s'intègre bien dans l'écosystème Google Cloud.
Dépôt distant (si disponible) : Agit comme un proxy pour mettre en cache les artefacts de dépôts publics externes. Cela aide à prévenir les problèmes liés aux changements de dépendances en amont et réduit la latence en mettant en cache les artefacts fréquemment accédés.
Dépôt virtuel (si disponible) : Fournit une interface unifiée pour accéder à plusieurs dépôts (standard ou distant) via un seul point de terminaison, simplifiant la configuration côté client et la gestion de l'accès pour les artefacts répartis dans divers dépôts.
Pour un dépôt virtuel, vous devrez sélectionner des dépôts et leur attribuer une priorité (le dépôt avec la plus grande priorité sera utilisé).
Vous pouvez mélanger des dépôts distants et standard dans un dépôt virtuel, si la priorité du dépôt distant est plus grande que celle du standard, les paquets du dépôt distant (PyPi par exemple) seront utilisés. Cela pourrait conduire à une Confusion de Dépendance.
Notez que dans la version distante de Docker, il est possible de donner un nom d'utilisateur et un jeton pour accéder à Docker Hub. Le jeton est alors stocké dans le Secret Manager.
Chiffrement
Comme prévu, par défaut une clé gérée par Google est utilisée mais une clé gérée par le client peut être indiquée (CMEK).
Politiques de nettoyage
Supprimer les artefacts : Les artefacts seront supprimés selon les critères de la politique de nettoyage.
Essai à blanc : (Celui par défaut) Les artefacts ne seront pas supprimés. Les politiques de nettoyage seront évaluées et des événements de suppression de test seront envoyés au Cloud Audit Logging.
Analyse de vulnérabilité
Il est possible d'activer le scanner de vulnérabilité qui vérifiera la présence de vulnérabilités dans les images de conteneurs.
Énumération
Élévation de privilèges
pageGCP - Artifact Registry PrivescAccès non authentifié
pageGCP - Artifact Registry Unauthenticated EnumPost-exploitation
pageGCP - Artifact Registry Post ExploitationPersistance
pageGCP - Artifact Registry PersistenceDernière mise à jour