image
image
image
image
image
image

Jeton dapi artificiel

En utilisant l’interface de ligne de commande JFrog Artifactory avec des clés API ou des jetons d’accès

,

j’ai reçu un accès précoce à nos instances JFrog Artifactory situées à l’adresse .  Une fois connecté via l’authentification unique, vous êtes redirigé vers (notez que le segment de chemin d’accès, car il est nécessaire pour les URL d’API).  Je voulais essayer l’accès CLI, j’ai donc commencé par un simple « ping » non authentifié en utilisant contre l’API REST en utilisant -s pour « mode silencieux » et -i pour inclure l’en-tête de réponse HTTP est affiché, mais limité à la première ligne en passant par .

succès. Essayons de tester mon utilisateur négatif, mais avec une clé API invalide.

Prenons maintenant ma clé API et réessayons.

Notez que j’ai remplacé ma vraie clé API par REDACTED_APIKEY ci-dessus.  L’utilisation de la vraie clé API fonctionne, mais elle est longue, difficile à taper, et l’utiliser de cette façon l’expose à quelqu’un qui regarde dans mon fichier.

Passons à l’utilisation de l’interface de ligne de commande JFrog et voir comment cela fonctionne avec ma clé API.  Visitez le site de documentation pour obtenir des instructions d’installation complètes, y compris les scripts de saisie semi-automatique.  Cette interface de ligne de commande fonctionne avec plusieurs produits JFrog et constitue l’argument cible de JFrog Artifactory.  La commande config créera un fichier qui sera utilisé pour d’autres commandes CI.  Pour la raison de l’historique des commandes ci-dessus, je recommande de ne pas utiliser le paramètre et d’entrer votre clé API en mode interactif.

À l’instar de l’API REST, l’interface de ligne de commande JFrog prend en charge une commande ping pour vérifier qu’Artifactory est accessible.

En jetant un coup d’œil au fichier de configuration, vous pouvez voir que la clé API a été stockée dans le champ « mot de passe » pendant le flux interactif.  

Il existe également une fonctionnalité d’exécution de cUrl pour appeler les API REST non disponibles dans l’interface de ligne de commande JFrog.  Cela prend les mêmes arguments que le curl natif, mais utilise un chemin d’API REST raccourci et inclut automatiquement les identifiants de connexion.

Si vous aimez vraiment lignes de commande compliquées, vous pouvez injecter votre clé API à partir du fichier de configuration en utilisant et toujours l’exécuter vous-même.  Amusez-vous!

Essayons maintenant quelque chose d’unique à mon utilisateur en appelant l’API REST pour obtenir une clé API.  Cela devrait faire écho aux mêmes REDACTED_APIKEY que j’ai dans mon fichier de configuration.

Pour mes pipelines CI/CD, je ne veux pas vraiment que ma clé API personnelle soit utilisée.  Heureusement, JFrog prend également en charge les jetons d’accès « en tant que moyen d’authentification flexible avec un large éventail de capacités », notamment : Authentification

des
  • utilisateurs et des non-utilisateurs

Les arguments en faveur de l’authentification des utilisateurs sont évidents, mais les jetons d’accès peuvent également être attribués à des entités non utilisateurs telles que les tâches de serveur CI.

En attribuant des groupes à des jetons, vous pouvez contrôler le niveau d’accès qu’ils fournissent.

Créons un jeton d’accès valide pendant les 90 secondes suivantes, puis configurez une entrée dans notre fichier de configuration.

Utilisez rapidement le jeton avec une commande ping spécifiant la configuration, puis attendez 90 secondes que le jeton expire et exécutez une autre commande ping.

Lorsque vous inspectez les données de charge utile JWT à partir de ce jeton, vous pouvez voir l’heure.

Malheureusement, il s’agit toujours d’un jeton d’accès lié à mon compte utilisateur.  Il existe un moyen pour les utilisateurs administrateurs de créer un jeton d’accès pour les « entités non-utilisateurs telles que les tâches de serveur CI » (mentionnées ci-dessus), je dois donc travailler avec notre administrateur JFrog Artifactory pour déterminer la meilleure façon d’avancer.