Aller au contenu principal

Journal des décisions

L'écran Journal des décisions permet de lire toutes les décisions de politique prises par la plateforme pour le tenant, de les filtrer par action et par résultat, et d'ouvrir l'enregistrement complet d'une décision. Chemin dans le portail : /security/decisions, menu Sécurité et gouvernance > Journal des décisions. Il sert aux responsables sécurité, aux administrateurs de tenant et aux auditeurs qui expliquent pourquoi une action a été autorisée ou refusée.

Ce que montre l'écran​

L'écran (Decisions dans portal/src/screens/security.tsx) montre un tableau, Décisions, lu dans GET /v1/policies/decisions, du plus récent au plus ancien, 50 lignes par requête avec un curseur pour charger la suite.

ColonneContenu
IdentifiantIdentifiant de la décision.
ActionAction évaluée, par exemple model.invoke ou tool.invoke.
Identifiant de la personneQui a demandé (subject.id).
Type de ressourceType de la ressource (resource.type).
Identifiant de ressourceIdentifiant de la ressource (resource.id).
AutoriséOui ou Non.
MotifsRaisons renvoyées par le moteur de politiques.
Évalué leDate de l'évaluation.

Au-dessus du tableau, deux filtres et le bouton Filtrer : Action (texte libre, correspondance exacte) et Autorisé (tous, true, false). Un clic sur une ligne ouvre un panneau latéral avec le JSON de la décision (sujet, ressource, contexte, obligations). Tableau vide : « Aucune décision enregistrée », « Une décision est enregistrée à chaque action gouvernée. »

Actions​

Bouton ou actionEffetAppel APIRôles
FiltrerApplique les filtres Action et Autorisé et relit la première page.GET /v1/policies/decisions (paramètres action, allow)tenant_admin, security_officer, auditor
Page suivante du tableauCharge les 50 décisions suivantes avec le curseur.GET /v1/policies/decisions (paramètre cursor)Les mêmes
Icône d'actualisationRelit la liste.GET /v1/policies/decisionsLes mêmes
Clic sur une ligne ou Voir le détailAffiche la ligne dans un panneau latéral, sans autre appel.AucunLes mêmes
Réessayer (état d'erreur)Relit la liste après une erreur.GET /v1/policies/decisionsLes mêmes

Rôles​

Le portail ne masque rien sur cet écran. Le Control Plane exige tenant_admin, security_officer ou auditor (require_role(*ADMIN_ROLES, "auditor") dans services/control-plane/src/eai/domains/policies/__init__.py), ainsi qu'un tenant ; platform_admin passe tous les contrôles de rôle. Les décisions sont écrites par la plateforme elle-même à chaque action gouvernée : personne ne crée ni ne modifie une décision depuis le portail.

Tâches courantes​

Expliquer pourquoi une requête a été refusée​

  1. Filtrer les refus. Un refus est une décision avec allow = false. Réglez Autorisé sur false et cliquez Filtrer. Résultat attendu : seules les décisions refusées sont listées. En cas d'échec : forbidden (HTTP 403) signifie que vos rôles ne sont ni tenant_admin, ni security_officer, ni auditor.
  2. Restreindre à l'action. Saisissez l'action, par exemple model.invoke, dans Action, puis Filtrer. Résultat attendu : les refus de cette action. En cas d'échec : un tableau vide signifie que le texte ne correspond pas exactement ; copiez l'action depuis une ligne.
  3. Lire la décision. Les raisons et le contexte indiquent quelle règle a décidé. Cliquez la ligne. Résultat attendu : le panneau latéral avec reasons, subject, resource et context. En cas d'échec : rien à relancer, le panneau utilise la ligne déjà chargée.
  4. La reproduire. Pour tester une correction, copiez la requête dans l'évaluateur de l'écran Politiques ou dans le Simulateur de politiques. Résultat attendu : le même résultat avant la correction, le nouveau après. En cas d'échec : voir la page Politiques.

Revoir les décisions d'une période d'audit​

  1. Ouvrir le journal. Chaque action gouvernée laisse une décision. Menu Sécurité et gouvernance > Journal des décisions. Résultat attendu : les décisions les plus récentes d'abord. En cas d'échec : tenant_required signifie que le compte n'a pas de tenant.
  2. Remonter dans le temps. Les décisions plus anciennes arrivent avec le curseur. Passez aux pages suivantes en bas du tableau. Résultat attendu : les lignes plus anciennes se chargent, 50 à la fois. En cas d'échec : invalid_cursor après une longue pause ; cliquez l'icône d'actualisation et reprenez la pagination.

Dépannage​

SymptômeCauseCorrection
État d'erreur forbidden (HTTP 403)La route exige tenant_admin, security_officer ou auditor.Demandez l'un de ces rôles.
tenant_required (HTTP 403)Le compte agit sans tenant.Connectez-vous avec un compte du tenant.
« Aucune décision enregistrée »Aucune action gouvernée pour l'instant, ou les filtres excluent toutes les lignes.Videz les filtres (choisissez tous) et cliquez Filtrer.
validation_error (HTTP 422) après FiltrerUne valeur de Autorisé autre que true ou false a été envoyée.Choisissez une valeur de la liste.
« L'API Control Plane est injoignable »L'API est arrêtée ou l'adresse de l'API du portail est fausse.Vérifiez le Control Plane et le réglage NEXT_PUBLIC_EAI_API_URL du portail.

Pages liées​