

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connectez-vous aux serveurs distants de DevOps l'agent
<a name="accessing-devops-agent-connect-to-devops-agent-remote-servers"></a>

AWS DevOps L'agent fournit des serveurs distants dédiés pour les protocoles Model Context Protocol (MCP) et Agent-to-Agent (A2A). Utilisez ces serveurs pour connecter votre IDE, votre CLI ou vos intégrations d'agents personnalisées à un agent Space.

## Protocoles pris en charge
<a name="supported-protocols"></a>
+ **MCP (Model Context Protocol)** — Connectez les clients IDE et CLI tels que Kiro, Claude Code, Cursor et d'autres MCP-compatible outils.
+ **A2A (Agent-to-Agent) v1.0 —** Connectez des agents autonomes pour la communication agent-agent.

## Points de terminaison
<a name="endpoints"></a>

Les serveurs distants sont disponibles via une URL régionale :

```
https://connect.aidevops.{region}.api.aws
```


|  Protocole | Chemin | Method | 
| --- | --- | --- | 
| MCP | /mcp | POST | 
| A2A | /a2a/\* | POST | 
| Carte d'agent A2A | /.well-known/agent-card.json | GET | 

Pour consulter la liste des régions disponibles, consultez[Régions prises en charge](about-aws-devops-agent-supported-regions.md).

## Authentification
<a name="authentication"></a>

Deux méthodes d'authentification sont disponibles pour les points de terminaison MCP et A2A :
+ **Jeton d'accès (porteur)** : jeton unique limité à un espace d'agent. Configuration la plus simple pour une utilisation individuelle.
+ **AWS SigV4** — AWS authentification basée sur les informations d'identification. Prend en charge plusieurs espaces d'agents et s'intègre à la gouvernance des AWS identités existante. Géré automatiquement par [mcp-proxy-for-aws](https://github.com/aws/mcp-proxy-for-aws), un proxy local qui signe les demandes à l'aide de vos informations d'identification. AWS 

## Création d'un jeton d'accès
<a name="create-an-access-token"></a>

### Conditions préalables
<a name="prerequisites"></a>
+ La fonctionnalité des jetons d'accès doit être activée sur votre espace agent.
+ Vous devez disposer des autorisations IAM pour gérer les jetons d'accès (`aidevops:CreateAccessToken`,`aidevops:RevokeAccessToken`,`aidevops:RotateAccessToken`). Pour obtenir la liste complète, consultez [DevOps Autorisations IAM de l'agent](aws-devops-agent-security-devops-agent-iam-permissions.md).

### Activer les jetons d'accès
<a name="enable-access-tokens"></a>

1. Connectez-vous à la console AWS de gestion et ouvrez la console de l' AWS DevOps agent.

1. Choisissez votre espace d'agent.

1. Cliquez sur l’onglet **Configuration**.

1. Dans la section **Jetons d'accès**, choisissez **Activer**.

1. Confirmez l’action.

### Création d'un jeton
<a name="create-a-token"></a>

1. Ouvrez l'application Web DevOps Agent pour votre espace agent, puis dans le menu de navigation, choisissez **Paramètres**, puis choisissez **Access Tokens**.

1. Choisissez **Generate token (Générer le jeton)**.

1. Entrez un nom pour le jeton.

1. Choisissez un champ d'application :
   + `read`— Consultez les enquêtes, les recommandations, les discussions et les ressources de l'espace agent.
   + `operate`— Accès complet. Inclut tout`read`, en plus d'envoyer des messages, de créer des discussions et de gérer les tâches et les recommandations en attente.

1. Choisissez un type de client :
   + `human`— Pour l'utilisation de l'IDE et de la CLI (Kiro, Claude Code, Cursor et autres outils interactifs).
   + `agent`— Pour les intégrations A2A autonomes et les agents programmatiques.

1. Définissez une date d'expiration (de 1 à 60 jours).

1. Copiez la valeur du jeton et stockez-la dans un endroit sûr et sécurisé, tel que [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html). Vous ne pouvez pas le récupérer à nouveau.

Après avoir créé un jeton, l'application Web affiche un exemple de configuration que vous pouvez copier directement dans votre client.

## Connect avec Kiro
<a name="connect-with-kiro"></a>

Pour les utilisateurs [de Kiro](https://kiro.dev/), un pouvoir d'**AWS DevOps agent** dédié est disponible depuis l'IDE ou sur le marché [Kiro Powers](https://kiro.dev/powers/#aws-devops-agent).

**Étape 1 : Installation de l'alimentation**

Installez **aws-devops-agent** power depuis le Powers Marketplace.

**Étape 2 : définir les variables d'environnement**

Définissez les variables d'environnement suivantes pour configurer la connexion :

```
DEVOPS_AGENT_TOKEN=<your-access-token>
DEVOPS_AGENT_REGION=<your-agent-space-region>
```

**Étape 3 : Approuver les variables dans Kiro**

Accédez à **Paramètres** > Variateurs d'**environnement approuvés par MCP et approuvez** et. `DEVOPS_AGENT_TOKEN` `DEVOPS_AGENT_REGION` Kiro ne transmet pas les variables d'environnement aux serveurs MCP tant qu'elles ne sont pas approuvées.

**Étape 4 : Redémarrer Kiro**

Redémarrez Kiro pour appliquer les modifications.

La puissance de Kiro inclut `aws-mcp` une solution de secours, qui fournit un accès direct à l' AWS API lorsque le point de terminaison du serveur distant n'est pas disponible.

## Connectez-vous à Claude Code
<a name="connect-with-claude-code"></a>

Pour les utilisateurs de [Claude Code](https://code.claude.com/docs/en/overview), AWS DevOps l'agent est disponible à partir du plugin **aws-agents-for-devsecops** Claude, qui intègre à la fois les fonctionnalités d'agent et d' AWS DevOps agent de sécurité dans Claude. AWS Installez-le à partir [des plugins Claude](https://claude.com/plugins/aws-agents-for-devsecops) ou du [référentiel source](https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-agents-for-devsecops).

1. Installez le plugin **aws-agents-for-devsecops**.

1. Exécutez la `/aws-agents-for-devsecops:setup-devops-agent` commande pour configurer votre connexion.

## Connectez-vous à d'autres clients MCP
<a name="connect-with-other-mcp-clients"></a>

Pour tout MCP-compatible client, configurez le serveur avec :
+ **URL** — `https://connect.aidevops.{region}.api.aws/mcp`
+ **En-tête d'autorisation** — `Bearer <your-token>`
+ **Délai d'attente** : 120 secondes minimum (les réponses initiales peuvent prendre de 5 à 30 secondes ; les sessions de discussion en cours peuvent prendre plus de temps)

Cette configuration fonctionne également avec Kiro et Claude Code si vous préférez configurer la connexion manuellement au lieu d'utiliser l'alimentation ou le plugin dédié.

Exemple de configuration MCP :

```
{
  "mcpServers": {
    "aws-devops-agent": {
      "url": "https://connect.aidevops.{region}.api.aws/mcp",
      "headers": {
        "Authorization": "Bearer <your-access-token>"
      }
    }
  }
}
```

`{region}`Remplacez-le par la région de votre espace agent (par exemple,`us-east-1`) et `<your-access-token>` par la valeur du jeton.

## Utiliser l'authentification SigV4
<a name="use-sigv4-authentication"></a>

L'authentification SigV4 utilise vos AWS informations d'identification au lieu d'un jeton d'accès. Les plugins Kiro Power et Claude Code incluent le support SigV4 intégré`mcp-proxy-for-aws`, qui signe les demandes à l'aide de vos informations d'identification locales AWS .

### Quand SigV4 est utilisé
<a name="when-sigv4-is-used"></a>
+ Comme solution de **secours** lorsque le jeton d'accès n'est pas configuré ou échoue (expiré, non valide).
+ En tant qu'authentification **principale** lorsque vous disposez de plusieurs espaces d'agent et que vous devez effectuer un routage `agent_space_id` par appel d'outil.
+ En tant que **choix de l'utilisateur**, dans Claude Code, exécutez la compétence de configuration pour passer du jeton Bearer à l'authentification SigV4.

### Conditions préalables
<a name="prerequisites"></a>
+ AWS informations d'identification disponibles dans l'environnement (via SSO, variables d'environnement ou fichier d'informations d'identification).
+ Vos informations d'identification doivent être autorisées à invoquer les actions de AWS DevOps l'agent. Pour les autorisations requises, consultez [DevOps Autorisations IAM de l'agent](aws-devops-agent-security-devops-agent-iam-permissions.md).
+ `uvx`installé (le proxy fonctionne`uvx mcp-proxy-for-aws@latest`).

### Exemple de configuration
<a name="example-configuration"></a>

Pour configurer un client MCP afin qu'il utilise SigV4 au lieu d'un jeton d'accès, lancez le serveur. `mcp-proxy-for-aws` Remplacez `{region}` par la région de votre espace d'agent (par exemple,`us-east-1`) :

```
{
  "mcpServers": {
    "aws-devops-agent": {
      "command": "uvx",
      "timeout": 120000,
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://connect.aidevops.{region}.api.aws/mcp",
        "--service", "aidevops",
        "--region", "{region}"
      ]
    }
  }
}
```

Le proxy signe chaque demande avec vos AWS informations d'identification locales, aucun jeton d'accès n'est donc requis.

### Multi-Agent-Space routage
<a name="multi-agent-space-routing"></a>

En mode SigV4, `agent_space_id` transmettez chaque appel d'outil pour spécifier l'espace agent à utiliser. Cela permet de naviguer entre plusieurs agents Spaces à partir d'un seul client.

## Intégration A2A
<a name="a2a-integration"></a>

Le point de terminaison A2A implémente la [spécification A2A v1.0](https://a2a-protocol.org/latest/specification/) à l'aide de la liaison HTTP/JSON.

### Découverte des cartes d'agent
<a name="agent-card-discovery"></a>

Récupérez la carte d'agent à l'adresse suivante :

```
GET https://connect.aidevops.{region}.api.aws/.well-known/agent-card.json
```

### Opérations prises en charge
<a name="supported-operations"></a>
+ `SendMessage`— Envoyez un message et recevez une réponse.
+ `SendStreamingMessage`— Diffusez les réponses au fur et à mesure qu'elles sont générées.
+ `GetTask`— Vérifie l'état d'une tâche asynchrone.
+ `ListTasks`— Répertoriez les tâches d'un espace d'agents.
+ `CancelTask`— Annule une tâche en cours d'exécution.
+ `SubscribeToTask`— Abonnez-vous aux mises à jour des tâches via des événements envoyés par le serveur.

### Skills
<a name="skills"></a>
+ **enquêter** — Analyse asynchrone approfondie des problèmes opérationnels (5 à 8 minutes).
+ **chat** — Réponses instantanées aux questions opérationnelles.

## Considérations sur la sécurité
<a name="security-considerations"></a>

### Délimitation de la portée des jetons
<a name="token-scoping"></a>
+ Utilisez le moindre privilège : optez `read` pour les intégrations en lecture seule, `operate` uniquement lorsque le client doit envoyer des messages ou gérer des tâches.
+ Faites pivoter les jetons périodiquement. Les jetons expirent après la durée configurée (60 jours maximum).
+ Stockez les jetons dans des variables d'environnement ou des gestionnaires de secrets. Ne codez pas de jetons en dur dans le code source.
+ N'exécutez pas automatiquement les réponses des agents sans examen humain.

### Liste d'adresses IP autorisées
<a name="ip-allowlist"></a>

Lorsque vous créez un jeton d'accès, vous pouvez éventuellement spécifier une liste d'adresses IP autorisées. Une fois configuré, le jeton ne peut être utilisé qu'à partir des adresses IP ou des plages CIDR spécifiées. Les demandes provenant d'autres adresses IP sont rejetées avec un message d'erreur de refus d'accès.

### Rotation et révocation des jetons
<a name="token-rotation-and-revocation"></a>
+ **Rotation** : faites pivoter un jeton pour générer une nouvelle valeur de jeton tout en préservant son nom, son étendue et sa liste d'adresses IP autorisées. L'ancien jeton est immédiatement invalidé. Mettez à jour la configuration de votre client avec la nouvelle valeur du jeton.
+ **Révocation** — Si un jeton est compromis, révoquez-le immédiatement. Les jetons révoqués ne peuvent pas être utilisés et ne peuvent pas être restaurés.

#### Répondre à un jeton compromis
<a name="responding-to-a-compromised-token"></a>

Si vous pensez qu'un jeton a été compromis, procédez comme suit :

1. **Bloquer l'accès à tous les jetons** : dans la AWS DevOps console de l'agent, ouvrez votre espace agent, choisissez l'onglet **Configuration**, puis sélectionnez **Désactiver** dans la section des jetons d'accès. Cela bloque immédiatement tout accès basé sur des jetons à l'espace des agents.

1. **Révoquer les jetons compromis** : dans l'application Web, accédez à **Paramètres** > **Jetons d'accès**, choisissez le jeton compromis, puis choisissez **Révoquer**. Vous pouvez révoquer des jetons même si les jetons d'accès sont désactivés.

1. **Re-enable jetons d'accès** : après avoir révoqué les jetons compromis, réactivez les jetons d'accès depuis l'onglet **Configuration** si vous avez toujours besoin d'un accès basé sur des jetons.

#### Révocation des jetons par programme
<a name="revoking-tokens-programmatically"></a>

Vous pouvez également révoquer les jetons par programme à l'aide de. `awscurl` Les commandes suivantes utilisent l'authentification Sigv4. Remplacez la région (`us-east-1`) par la région dans laquelle votre espace d'agent est créé.

**Remarque :** L'étape 1 utilise la AWS CLI. Les étapes 2 et 3 utilisent [awscurl](https://github.com/okigan/awscurl), un outil de ligne de commande qui signe les requêtes HTTP avec SigV4, car les opérations de jeton d'accès ne disposent pas encore de commandes CLI dédiées. AWS 

**Étape 1 : Répertoriez vos espaces d'agent**

```
aws aidevops list-agent-spaces --region us-east-1
```

**Étape 2 : Répertorier les jetons d'accès pour un espace d'agents**

```
awscurl --service aidevops --region us-east-1 \
  -H "Accept: application/json" \
  "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens"
```

**Étape 3 : révoquer un jeton**

```
awscurl --service aidevops --region us-east-1 -X POST \
  -H "Accept: application/json" \
  "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens/{accessTokenId}/revoke"
```

Remplacez `{agentSpaceId}` et `{accessTokenId}` par les valeurs des réponses précédentes.

### Traçabilité
<a name="traceability"></a>

Lorsqu'un jeton d'accès est utilisé, AWS DevOps l'agent assume un rôle en votre nom pour effectuer des actions. Cet `AssumeRole` appel est connecté AWS CloudTrail avec des balises de session qui identifient le jeton et l'appelant :
+ `AgentSpaceId`— Identifiant de l'espace des agents.
+ `UserId`— Identité du créateur du jeton.
+ `AccessTokenId`— Identifiant unique du jeton.
+ `TokenName`— Nom du jeton d'accès utilisé.
+ `ClientType`— Le protocole utilisé (MCP, A2A).
+ `SourceIp`— Adresse IP du client.
+ `UserAgent`— User-Agent Chaîne client (si disponible).

Les appels directs aux points de terminaison MCP et A2A ne sont enregistrés CloudTrail pour aucune des deux méthodes d'authentification. À chaque appel correspond un appel d' AWS API en aval connecté CloudTrail, avec un nom de session de rôle identifiable au format`token_{spaceId}_{timestamp}_{tokenName}`.

### Limitation de la politique des points de terminaison VPC
<a name="vpc-endpoint-policy-limitation"></a>

Les points de terminaison du serveur distant ne prennent pas en charge les politiques de point de terminaison VPC. Les appels utilisant des jetons d'accès ou l'authentification Sigv4 ne peuvent pas être restreints par les politiques de point de terminaison du VPC.

### Désactiver les jetons d'accès
<a name="disabling-access-tokens"></a>

La fonctionnalité des jetons d'accès est désactivée par défaut. Pour le désactiver après l'avoir activé :

1. Ouvrez l'onglet **Configuration** de votre espace agent.

1. Dans la section **Jetons d'accès**, choisissez **Désactiver**.

La désactivation bloque immédiatement tous les accès basés sur des jetons. Les jetons existants ne sont pas supprimés mais ne peuvent pas être utilisés tant que la fonctionnalité n'est pas réactivée.

Pour empêcher les utilisateurs de votre organisation d'activer les jetons d'accès, créez une politique de contrôle des services (SCP) qui refuse les actions de l'API des jetons d'accès et l'`UpdateAgentSpace`action (qui contrôle le basculement des jetons d'accès) :

**Remarque :** le refus empêche `aidevops:UpdateAgentSpace` également d'autres mises à jour de l'espace agent (nom, description, paramètres régionaux). Si cela est trop large, omettez-le dans le SCP. Les refus restants empêchent toujours la création et l'utilisation de jetons, même si quelqu'un active la fonctionnalité.

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessTokenOperations",
      "Effect": "Deny",
      "Action": [
        "aidevops:UpdateAgentSpace",
        "aidevops:CreateAccessToken",
        "aidevops:GetAccessToken",
        "aidevops:ListAccessTokens",
        "aidevops:RotateAccessToken",
        "aidevops:RevokeAccessToken"
      ],
      "Resource": "*"
    }
  ]
}
```

## Résolution des problèmes
<a name="troubleshooting"></a>


| Symptôme | Cause | Résolution | 
| --- | --- | --- | 
| HTTP 401 non autorisé | Le jeton n'est pas valide ou a expiré. | Créez un nouveau jeton ou faites pivoter le jeton existant dans l'application Web. | 
| HTTP 400 « A2A-Version  en-tête requis » | En-tête de version du protocole manquant. Seule la version A2A v1.0 est prise en charge. | Ajoutez un A2A-Version: 1.0 en-tête aux demandes A2A. | 
| Délai d'expiration de la demande | Les réponses initiales prennent de 5 à 30 secondes. Les enquêtes prennent de 5 à 8 minutes. | Définissez le délai d'expiration du client sur au moins 120 secondes. | 
| Connexion refusée | URL ou région du point de terminaison incorrecte. | Vérifiez le format de l'URL : https://connect.aidevops.{region}.api.aws | 