Skip to main content
Jenks Guo

Docs / how to

Donner l’accès à un agent IA

Pour Jenks — connectez-vous avec Google, créez un jeton de service nommé et à périmètre défini pour un agent IA, connectez-le via MCP, la CLI ou REST, vérifiez le journal d’audit et révoquez-le.

Comment fonctionne l’accès

Les personnes se connectent à la console avec Google, via Cloudflare Access (SSO). Les agents IA n’utilisent jamais cette connexion : chaque agent reçoit son propre jeton de service, que vous créez dans la console. Un jeton est nommé, limité par des portées et expire ; seul vous, connecté, pouvez en créer ou en révoquer un ; et tout ce qu’un agent modifie apparaît dans le journal d’audit. Les modifications de l’agent passent par la même validation et le même pipeline de publication que les vôtres : pas de redéploiement manuel.

1. Connexion

Ouvrez https://admin.jenksguo.xyz/admin (pour le site de dev : https://admin.dev.jenksguo.xyz/admin). Cloudflare vous demande de vous connecter ; utilisez votre compte Google. La console s’ouvre avec votre e-mail dans le coin supérieur gauche.

2. Créer le jeton

  1. Choisissez Access dans la barre du haut.
  2. Sous New agent token, nommez-le d’après l’agent et la machine, par exemple Claude Code on MacBook.
  3. Choisissez ce qu’il peut faire (les portées sont dans le tableau ci-dessous). Sans publish, l’agent enregistre sur la branche dev ; vous vérifiez https://dev.jenksguo.pages.dev et promouvez la modification vous-même.
  4. Choisissez sa date d’expiration (90 jours par défaut) et sélectionnez Create token.
  5. Copiez le jeton maintenant. Il commence par jgx_agt_ et n’est affiché qu’une seule fois ; le site n’en conserve qu’un hachage.
Portée Autorise
(toujours) Lecture : schéma, fichiers, traductions, textes du site, liste des médias, statut de déploiement
content Écrire les fichiers de contenu, les traductions et les textes du site
media Téléverser, décrire et supprimer des images, vidéos et PDF
publish Écrire sur main (le site en ligne) et promouvoir dev → main

Gardez le jeton là où l’agent peut le lire mais où les personnes ne peuvent pas le voir — par exemple le macOS Keychain — et ne le collez jamais dans un chat, un commit ou un fichier de contenu.

3. Connecter l’agent

Le jeton va dans l’en-tête Authorization. Utilisez https://jenksguo.pages.dev (ou le miroir https://jenksguo.xyz) ; l’hôte admin est réservé aux personnes.

MCP (Claude Code et autres clients MCP) :

claude mcp add --transport http jenks-admin https://jenksguo.pages.dev/mcp/admin \
  --header "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

CLI (également un serveur MCP local avec jenks mcp --admin) :

export JENKSGUO_ADMIN_TOKEN=jgx_agt_…   # depuis votre Trousseau ou gestionnaire de mots de passe
jenks admin whoami                      # l’identité du jeton, ses portées et son expiration

REST :

curl -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" https://jenksguo.pages.dev/api/admin/whoami

4. Vérifier ce que les agents ont fait

Access → Audit log répertorie chaque écriture admin et chaque tentative refusée, de la plus récente à la plus ancienne : qui (votre email ou agent:<name>), quel outil, quels fichiers, branche et résultat. Un agent peut lire ses propres entrées avec jenks admin audit ou l’outil admin_audit_log. Chaque commit qu’il effectue le nomme aussi dans le message de commit.

5. Révoquer

Sélectionnez Revoke à côté du jeton. La prochaine requête de l’agent échoue avec token_revoked. Les jetons s’arrêtent aussi à leur date d’expiration (token_expired) ; créez-en un nouveau lorsque cela arrive.

Dépannage

  • 401 unknown_token — le jeton est incorrect ou incomplet ; copiez-le à nouveau ou créez-en un nouveau.
  • 403 missing_scope — le jeton n’a pas la portée requise pour cet outil. Le message la nomme. Pour publish, enregistrez sur dev à la place, ou créez un jeton avec publish.
  • 403 sso_required — la gestion des jetons nécessite votre connexion Google sur l’hôte admin ; les agents ne peuvent pas créer de jetons.

.mdCette page est traduite avec l’aide de l’IA ; les titres officiels restent en anglais.