Aller au contenu principal

Catalogue des packs

L'écran Catalogue des packs permet de parcourir les packs signés de la marketplace, de lire leur version et leur SBOM, de promouvoir une version en production, de suspendre ou reprendre un pack, de lancer un contrôle préalable avant une installation et de gérer les éditeurs de confiance dont les clés vérifient les signatures. Chemin dans le portail : /marketplace/catalog. Il sert aux administrateurs du tenant et aux responsables sécurité (tenant_admin, security_officer) ; tout membre du tenant lit le catalogue.

Ce que montre l'écran​

Trois onglets ; Contrôle préalable ne s'affiche qu'à tenant_admin et security_officer (ROLES.marketplaceAdmins).

Onglet Paquets, avec le filtre Domaine et Filtrer, puis Actualiser :

ColonneContenu
NomNom du pack.
DomaineDomaine métier du pack.
DescriptionDescription.
PropriétairePropriétaire du pack.
Dernière versionDernière version publiée.
Mis à jourDate du dernier changement.

Un clic sur une ligne ouvre un panneau latéral avec le pack lu dans l'API. État vide : Aucun paquet, « Publiez un pack signé avec le SDK pour le voir ici. »

Onglet Contrôle préalable : formulaire « Vérifie compatibilité, signature, permissions et références de secrets avant une installation. » avec Paquet, Version, Environnement, Permissions approuvées, Configuration, Références de secrets et une zone Résultat.

Onglet Éditeurs de confiance, avec Actualiser et Ajouter un éditeur :

ColonneContenu
NomNom de l'éditeur.
AlgorithmeAlgorithme de signature de sa clé.
Statutactive ou revoked.
PortéePortée de la clé.
CrééDate d'enregistrement.

Un clic sur une ligne l'affiche dans un panneau latéral. État vide : Aucun éditeur.

Actions​

Bouton ou actionCe qu'il faitAppel d'APIRôles
Onglet Paquets, Domaine puis FiltrerLit les packs, éventuellement d'un domaine.GET /v1/marketplace/packagesMembre du tenant
Clic sur un packOuvre le panneau de détail.GET /v1/marketplace/packages/{name}Membre du tenant
Promouvoir en productionBoîte de dialogue Approbation. Sans identifiant d'approbation, les portes de production sont vérifiées et une approbation à double validation est ouverte (la réponse donne son identifiant) ; avec l'identifiant d'une demande approuvée, la dernière version est promue.POST /v1/marketplace/packages/{name}/versions/{version}/productiontenant_admin, security_officer
SBOMAffiche le SBOM de la dernière version.GET /v1/marketplace/packages/{name}/versions/{version}/sbomMembre du tenant
Détail de la versionAffiche la dernière version.GET /v1/marketplace/packages/{name}/versions/{version}Membre du tenant
Suspendre le packBoîte de dialogue Raison (obligatoire) ; arrêt d'urgence immédiat du pack, qui suspend ses installations. Affichée sauf si le pack est suspendu.POST /v1/marketplace/packages/{name}/statustenant_admin, security_officer
Reprendre le packBoîte de dialogue Approbation, Raison ; lever une suspension passe par une approbation à double validation. Affichée pour un pack suspendu.POST /v1/marketplace/packages/{name}/statustenant_admin, security_officer
Onglet Contrôle préalable, formulaire puis ExécuterVérifie compatibilité, signature, permissions et références de secrets ; affiche le rapport.POST /v1/marketplace/preflighttenant_admin, security_officer
Onglet Éditeurs de confiance, ActualiserLit les éditeurs.GET /v1/marketplace/publishersMembre du tenant
Ajouter un éditeur puis CréerFormulaire Nom (obligatoire), Clé publique (obligatoire, PEM -----BEGIN PUBLIC KEY-----).POST /v1/marketplace/publisherstenant_admin, security_officer
Révoquer (éditeur)Confirmation destructive ; les packs signés avec cette clé ne sont plus de confiance. Affichée sauf si révoqué.POST /v1/marketplace/publishers/{name}/revoke (impact : GET /v1/lineage/graph)tenant_admin, security_officer

Rôles​

D'après services/control-plane/src/eai/domains/marketplace/routes.py : la lecture exige un principal rattaché à un tenant ; la promotion, le statut des packs et les éditeurs exigent TRUST_ROLES (tenant_admin, security_officer) ; le contrôle préalable exige tenant_admin ou security_officer. platform_admin passe chaque contrôle. Le portail masque les actions d'écriture et l'onglet Contrôle préalable aux autres rôles.

Tâches courantes​

Faire confiance à un nouvel éditeur​

  1. Ajouter sa clé. Onglet Éditeurs de confiance > Ajouter un éditeur : Nom de l'éditeur, Clé publique en PEM, puis Créer. La clé vérifie la signature de chaque pack de cet éditeur. Résultat attendu : une ligne au statut active. En cas d'échec : publisher_invalid_key (HTTP 422) si la clé ne peut pas être lue.

Vérifier un pack avant de l'installer​

  1. Lire la version. Onglet Paquets, menu de la ligne > Détail de la version, puis SBOM. Résultat attendu : deux panneaux latéraux avec le manifeste et les composants. En cas d'échec : marketplace_version_not_found (HTTP 404).
  2. Lancer le contrôle préalable. Onglet Contrôle préalable : Paquet, Version, Environnement prod, Permissions approuvées (par exemple rag:query, tools:invoke), puis Exécuter. Résultat attendu : le rapport avec chaque contrôle. En cas d'échec : preflight_failed (HTTP 422) liste les contrôles en échec ; corrigez-les avant l'installation.

Promouvoir une version en production​

  1. Demander la promotion. Menu de la ligne > Promouvoir en production, laissez Approbation vide, envoyez. Résultat attendu : la réponse avec pending_approval et un identifiant d'approbation. En cas d'échec : la réponse liste la porte de production en échec.
  2. La faire approuver, puis appliquer. D'autres personnes décident la demande dans Approbations ; relancez ensuite Promouvoir en production avec l'identifiant dans Approbation. Résultat attendu : la promotion est appliquée. En cas d'échec : l'approbation n'est pas encore accordée.

Dépannage​

SymptômeCauseCorrection
Pas d'onglet Contrôle préalable, aucune action d'écritureVotre rôle n'est ni tenant_admin ni security_officer.Adressez-vous à un administrateur du tenant.
preflight_failed (HTTP 422)Un contrôle a échoué (compatibilité, signature, permissions, références de secrets).Lisez les contrôles en échec dans les détails et corrigez-les.
marketplace_package_not_found / marketplace_version_not_found (HTTP 404)Pack ou version inconnu.Vérifiez le nom et la Dernière version.
publisher_invalid_key (HTTP 422)La clé publique n'est pas une clé PEM valide.Collez le bloc PEM entier.
publisher_not_found (HTTP 404)Éditeur inconnu.Cliquez Actualiser.
package_suspended (HTTP 409)Le pack est suspendu par son arrêt d'urgence.Reprenez le pack après approbation.
forbidden (HTTP 403)L'action exige tenant_admin ou security_officer.Adressez-vous à l'un de ces rôles.

Pages liées​