Jeton d’API
Créer un jeton pour les scripts et les agents IA
Qui peut en créer un
Un jeton de longue durée permet à des scripts d’appeler l’API sans votre mot de passe. Depuis la 7.3.0, il nécessite l’option de rôle allowApiTokens :
roles:
- name: automation
groups:
- local/automation
options:
allowApiTokens: true
extendedTokenExpiration: true # also tokens that never expire
Jusqu’à la 7.2.0, l’option était seulement extendedTokenExpiration. Un rôle d’avant la 7.3.0 qui ne définit que cette option reçoit allowApiTokens, et garde donc ses jetons ; avec les deux, on peut aussi créer un jeton qui n’expire jamais. Voir Options de rôle.
Créer un jeton
Nouveau jeton, sur la ligne de titre de Profil > Jetons d’API, ouvre un assistant en trois étapes :
- Détails : un nom, pour reconnaître le jeton dans la liste, et sa durée de validité. Les choix sont 30, 90, 180 ou 365 jours jusqu’à
API_TOKEN_MAX_DAYS(90 par défaut), ce maximum lui-même, et N’expire jamais avecextendedTokenExpiration. Choisissez la durée la plus courte dont votre script a besoin. - Confirmer : un compte local ou LDAP saisit son mot de passe, qui n’est pas stocké dans le jeton. Un compte Microsoft Entra ID ou OIDC n’a pas de mot de passe ici : son jeton est créé à partir de sa session, qui doit s’être connectée au plus 10 minutes auparavant ; le fournisseur peut donc vous demander de vous reconnecter d’abord.
- Copier : le jeton, affiché une seule fois. Copiez-le avec Copier et gardez-le aussi précieusement qu’un mot de passe.
Envoyez le jeton dans l’en-tête Authorization de chaque appel d’API :
curl -H "Authorization: Bearer $TOKEN" https://af.example.com/api/v2/job
Un jeton d’API ne peut pas en créer un autre. Le jeton d’un compte SSO porte les rôles de sa dernière connexion : un changement de groupe chez le fournisseur d’identité ne l’atteint que lorsque vous vous reconnectez et créez un nouveau jeton.
Vos jetons
Les jetons que vous avez créés sont listés avec leur nom et la date de création, d’expiration et de dernière utilisation de chacun ; Révoquer dans le menu d’une ligne en met un hors service. Un admin les voit et les révoque aussi sur votre page sous Paramètres > Utilisateurs. Un jeton prend fin à son expiration, ou plus tôt :
- une révocation, depuis la liste ;
- une déconnexion avec le jeton (
POST /api/v2/auth/logoutavec le jeton dans l’en-têteAuthorization), qui y met fin avec la session dans laquelle il a été créé ; - un changement de mot de passe, qui met fin à tous les jetons et sessions de votre compte créés avant lui, ainsi qu’un blocage de votre compte.
Un jeton qui n’expire jamais prend fin lui aussi dans ces cas. Un script peut aussi demander lui-même un jeton via l’API de connexion et son paramètre expiryDays (POST /api/v2/auth/login?expiryDays=90, ou expiryDays=never) ; un expiryDays plus long est ramené à API_TOKEN_MAX_DAYS.