Référence Pour: administrateurs, utilisateurs, locataires, développeurs

Erreurs générales

Causes et solutions des codes d'erreur que toute opération peut renvoyer : objets absents, conflits, connexion et privilèges.

error.not_found

Texte dans la console
L’objet est introuvable. Il a peut-être été supprimé. Actualisez l’inventaire.
Signification pour les clients de l'API
The object does not exist (or is not visible to the caller).
Code
NOT_FOUND, HTTP 404

Cause. L'objet n'existe pas, ou il n'est pas visible pour l'appelant. Kyvernon donne la même réponse dans les deux cas, afin qu'un appelant sans accès ne puisse pas savoir si un objet existe. L'objet a peut-être été supprimé, ou l'identifiant est incorrect.

Solution.

  1. Actualisez l'inventaire dans la console, ou listez à nouveau les objets : kyvernon inventory search <name>.
  2. Vérifiez l'identifiant utilisé. Les identifiants ont la forme <kind>-<number>.
  3. Si l'objet devrait exister, demandez à un administrateur si votre rôle y donne accès : kyvernon privileges check <entity> <privilege>.

error.already_exists

Texte dans la console
Un objet portant ce nom ou cet ID existe déjà. Choisissez un autre nom.
Signification pour les clients de l'API
An object with that name or id exists.
Code
ALREADY_EXISTS, HTTP 409

Cause. Un objet portant ce nom ou cet identifiant existe déjà, dans le même dossier ou la même portée.

Solution.

  1. Choisissez un autre nom.
  2. Pour modifier l'objet existant, lisez-le, puis mettez-le à jour au lieu de le créer à nouveau.

error.conflict

Texte dans la console
L’objet a été modifié pendant votre édition. Rechargez la page et appliquez de nouveau votre modification.
Signification pour les clients de l'API
Compare-and-set failed: expectedVersion is stale.
Code
CONFLICT, HTTP 409

Cause. L'objet a changé entre le moment où vous l'avez lu et celui où vous l'avez enregistré. Chaque modification nomme la version sur laquelle elle repose (expectedVersion dans l'API, If-Match pour le pare-feu), et cette version n'est plus la version courante.

Solution.

  1. Rechargez l'objet dans la console, ou lisez-le à nouveau : kyvernon inventory get <id>.
  2. Appliquez à nouveau votre modification à la version que vous avez lue. Avec la CLI, donnez la nouvelle version : kyvernon inventory update <id> --expected-version <version> --body-file <file>.

error.unauthenticated

Texte dans la console
Vous n’êtes pas connecté. Connectez-vous, puis réessayez.
Signification pour les clients de l'API
No or invalid bearer token.
Code
UNAUTHENTICATED, HTTP 401

Cause. La requête ne contient aucun jeton porteur, ou le jeton n'est pas valide : il a expiré, a été révoqué, ou appartient à une session terminée.

Solution.

  1. Connectez-vous à nouveau : kyvernon login <username> --save. Dans la console, utilisez Connexion.
  2. Les clients d'API vérifient que l'en-tête Authorization: Bearer <token> est envoyé et que le jeton d'API n'a pas expiré : kyvernon auth api-tokens list.

error.permission_denied

Texte dans la console
La requête a été refusée. Votre rôle n’inclut pas le privilège requis. Demandez l’accès à un administrateur.
Signification pour les clients de l'API
The caller lacks a privilege on the entity.
Code
PERMISSION_DENIED, HTTP 403
ArgumentContenu
privilegele privilège dont l'opération a besoin.

Cause. L'utilisateur, ou le jeton, détient un rôle sans le privilège dont l'opération a besoin sur cet objet. Le privilège est nommé dans l'argument privilege de la réponse de l'API.

Solution.

  1. Vérifiez le privilège dans la réponse, puis ce que votre rôle contient : kyvernon privileges check <entity> <privilege>.
  2. Demandez à un administrateur un rôle qui inclut le privilège sur cet objet. L'administrateur l'accorde avec kyvernon permissions set <entity> <principal> --role <role>.
  3. Transmettez l'identifiant de message, le nom du privilège et l'heure.

error.audit_record_immutable

Texte dans la console
Les enregistrements d’audit ne peuvent pas être supprimés.
Signification pour les clients de l'API
Audit records cannot be deleted.
Code
PERMISSION_DENIED, HTTP 403

Cause. Une requête a tenté de supprimer un enregistrement d'audit. Les enregistrements d'audit sont en ajout seul, et aucun rôle ne peut les supprimer.

Solution.

  1. Ne supprimez pas d'enregistrements d'audit. Retirez la requête du script ou de l'outil qui l'envoie.
  2. Pour limiter la durée de conservation des enregistrements d'audit, un administrateur définit audit_age dans la section [retention] de la configuration du contrôleur. Kyvernon supprime lui-même les enregistrements plus anciens.

Version 0.1. Dernière modification : 2026-11-13