Auto-inscription des agents

Auto-inscription des agents

Inscrire un agent avec Agent Trust, vérifier son identité et obtenir l’approbation requise par le mode choisi.

Agent Trust permet aux agents de s’inscrire et d’obtenir des certificats PKI par le protocole A2A à tâches. Ce tutoriel couvre découverte, inscription, demande CSR, extraction et authentification mTLS.

1. Découvrir l’API#

Chaque déploiement publie une agent card :

curl http://<gateway-host>/.well-known/agent-card.json

Elle annonce endpoints A2A, schémas bearer/mTLS et skills disponibles. Lisez-la avant de créer le client.

2. Inscrire#

Inscrivez un agentId unique avec preuve d’identité (clé publique) :

POST /a2a/v1/register
{
  "agentId": "my-agent@corp.example",
  "displayName": "My Agent",
  "publicKeyPem": "-----BEGIN PUBLIC KEY----- …",
  "usage": "Document Q&A assistant for legal",
  "dataClassification": "Internal",
  "tags": ["legal", "qa"]
}

L’identité est liée au premier appelant authentifié (ou IP source). Utilisez un ID unique par agent. Sans agentId, les agents d’une même IP fusionnent ; le même ID depuis deux hôtes est refusé. L’admin ne peut pas modifier la preuve ; réinscrivez depuis le même émetteur pour la rotation.

3. Demander un certificat avec CSR#

Générez localement paire de clés et CSR ; la clé privée ne quitte pas l’agent :

openssl req -new -newkey rsa:2048 -nodes   -keyout agent.key -out agent.csr   -subj "/CN=my-agent@corp.example"

Envoyez la CSR comme tâche A2A :

POST /a2a/v1/tasks/send
{
  "contextId": "enrollment-001",
  "message": {
    "role": "user",
    "parts": [{
      "kind": "file",
      "mimeType": "application/x-pem-file",
      "name": "agent.csr",
      "bytes": "<base64 of agent.csr>"
    }]
  }
}

4. Interroger#

Le traitement est asynchrone. Interrogez jusqu’à completed :

GET /a2a/v1/tasks/{taskId}

L’artifact de résultat contient la chaîne de certificats émise.

5. Extraire le certificat#

Téléchargez l’artifact. Il contient leaf et intermédiaires, sans root. Les SAN du leaf doivent couvrir l’hôte gateway :

curl -o cert.pem http://<gateway-host>/a2a/v1/tasks/{taskId}/artifacts/{artifactId}

6. Authentification mTLS#

Configurez le client pour présenter certificat et clé privée. Connectez-vous à un host des SAN et validez la chaîne CA. Ne partagez pas la clé privée entre agents.

Protéger la clé privée

La clé privée reste sur l’agent. En cas de perte ou fuite, révoquez-la selon la procédure et réinscrivez l’agent avec de nouveaux identifiants.

Pour aller plus loin#

Pour aller plus loin