View a markdown version of this page

Connexion aux serveurs distants des DevOps agents - AWS DevOps Agent

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.

Connexion aux serveurs distants des DevOps agents

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

Protocoles pris en charge

  • MCP (Model Context Protocol)  : connectez des 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 d'agent à agent.

Points de terminaison

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

https://connect.aidevops.{region}.api.aws
Protocole Chemin Méthode
MCP /mcp POST
A2A /a2a/* POST
Carte d'agent A2A /.well-known/agent-card.json GET

Pour la liste des régions disponibles, consultezRégions prises en charge.

Authentification

Deux méthodes d'authentification sont disponibles pour les terminaux 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. Supporte plusieurs espaces d'agents et s'intègre à la gouvernance des AWS identités existante. Géré automatiquement par 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

Conditions préalables

  • 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 des agents.

Activer les jetons d'accès

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

  2. Choisissez votre espace d'agent.

  3. Cliquez sur l’onglet Configuration.

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

  5. Confirmez l’action.

Création d'un jeton

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

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

  3. Entrez un nom pour le jeton.

  4. Choisissez un scope :

    • read— Consultez les enquêtes, les recommandations, les discussions et les ressources de l'espace agent.

    • operate— Accès complet. Inclut toutread, y compris l'envoi de messages, la création de discussions et la gestion des tâches et des recommandations du backlog.

  5. 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.

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

  7. Copiez la valeur du jeton et stockez-la dans un endroit sûr et sécurisé, tel que AWS Secrets Manager. 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.

Communiquez avec Kiro

Pour les utilisateurs de Kiro, une puissance d'AWS DevOps agent dédiée est disponible depuis l'IDE ou sur la place de marché Kiro Powers.

Étape 1 : Installation de l'alimentation

Installez aws-devops-agent power depuis la place de marché Powers.

É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 > Variables d'environnement approuvées par MCP, puis 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émarrez Kiro

Redémarrez Kiro pour appliquer les modifications.

L'alimentation Kiro est incluse aws-mcp comme solution de secours, qui fournit un accès direct à AWS l'API lorsque le point de terminaison du serveur distant n'est pas disponible.

Communiquez avec Claude Code

Pour les utilisateurs de Claude Code, AWS DevOps Agent est disponible à partir du plugin Claude aws-agents-for-devsecops, qui intègre les fonctionnalités d'agent et AWS DevOps d'agent de sécurité dans Claude. AWS Installez-le depuis les plugins Claude ou depuis le dépôt des sources.

  1. Installez le plug-in aws-agents-for-devsecops.

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

Connectez-vous à d'autres clients MCP

Pour n'importe quel 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 plutôt que d'utiliser l'alimentation ou le plug-in dédiés.

Exemple de configuration MCP :

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

{region}Remplacez-la par la région de votre espace d'agent (par exempleus-east-1) et <your-access-token> par la valeur du jeton.

Utiliser l'authentification Sigv4

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é viamcp-proxy-for-aws, qui signe les demandes à l'aide de vos informations d'identification locales AWS .

Quand SIGv4 est utilisé

  • Comme solution de repli 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 les acheminer agent_space_id par appel d'outil.

  • Au 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

  • AWS informations d'identification disponibles dans l'environnement (via le SSO, les variables d'environnement ou le 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 des agents.

  • uvxinstallé (le proxy fonctionneuvx mcp-proxy-for-aws@latest).

Exemple de configuration

Pour configurer un client MCP afin qu'il utilise SIGv4 au lieu d'un jeton d'accès, exécutez le serveur via. mcp-proxy-for-aws Remplacez {region} par la région de votre espace 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

En mode SIGv4, agent_space_id transmettez chaque appel d'outil pour spécifier l'espace d'agent à utiliser. Cela permet d'acheminer vers plusieurs espaces d'agent à partir d'un seul client.

Intégration A2A

Le point de terminaison A2A implémente la spécification A2A v1.0 à l'aide de la liaison HTTP+JSON.

En-têtes de demandes

Transmettez les en-têtes suivants aux requêtes A2A.

En-tête Obligatoire Description
A2A-Version Oui Doit indiquer 1.0. Le serveur rejette les requêtes qui l'omettent ou qui envoient une autre valeur via HTTP 400.
Authorization Oui Jeton d'accès (Bearer <access-token>) ou signature AWS SIGv4. Le mcp-proxy-for-aws proxy ajoute la signature SIGv4 pour vous.
X-Agent-Space-Id SigV4 uniquement ID de l'espace de l'agent cible. Avec Sigv4, le serveur résout l'espace d'agent à partir de cet en-tête. Avec un jeton Bearer, le jeton identifie l'espace agent et le serveur ignore cet en-tête.
Content-Type Boîtier uniquement application/jsonpour les demandes qui envoient un corps, tel quemessage:send.

Découverte des cartes d'agent

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

  • 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érifiez l'état d'une tâche asynchrone.

  • ListTasks— Répertoriez les tâches d'un espace d'agent.

  • CancelTask— Annule une tâche en cours.

  • SubscribeToTask— Abonnez-vous aux mises à jour des tâches par le biais d'événements envoyés par le serveur.

Compétences

  • investigation — 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é

Définition de la portée des jetons

  • 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 (maximum 60 jours).

  • Stockez les jetons dans des variables d'environnement ou des gestionnaires de secrets. Ne codez pas les 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

Lors de la création d'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 une erreur d'accès refusé.

Rotation et révocation des jetons

  • Rotation  : faites pivoter un jeton pour générer une nouvelle valeur de jeton tout en préservant le nom, l'étendue et la liste d'adresses IP autorisées du jeton. 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éagir à un jeton compromis

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 choisissez Désactiver dans la section Jetons d'accès. Cela bloque immédiatement tout accès basé sur des jetons à l'espace agent.

  2. 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.

  3. 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 de jetons par programmation

Vous pouvez également révoquer des jetons par programmation à 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éé.

É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 à un espace d'agent

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é

AWS DevOps L'agent enregistre l'activité du serveur distant dans AWS CloudTrail. Utilisez ces enregistrements pour savoir qui a appelé un serveur distant et ce que l'agent a fait en conséquence. AWS DevOps L'agent transmet les CloudTrail événements au AWS compte qui héberge l'espace agent.

Événements d'authentification par jeton d'accès

Chaque fois que AWS DevOps l'agent authentifie un jeton d'accès pour un point de terminaison MCP ou A2A, il envoie un événement à. AuthenticateAccessToken CloudTrail AWS DevOps L'agent enregistre les authentifications réussies et les échecs. Utilisez ces enregistrements pour auditer les utilisations légitimes et détecter les tentatives rejetées. Les exemples incluent les jetons expirés ou révoqués et les demandes bloquées par une liste d'adresses IP autorisées.

L'événement présente les caractéristiques suivantes :

  • Source de l'événement aidevops.amazonaws.com

  • Nom de l’événementAuthenticateAccessToken

  • Événement de gestion  : l'événement est un événement de gestion qui n'est pas en lecture seule. Il reste donc visible lorsque vous filtrez les événements en lecture seule.

L'événement inclut les domaines clés suivants :

Champ Description
userIdentity.principalId L'ID du jeton d'accès qui a été présenté.
userName Le nom du jeton d'accès.
requestParameters.agentSpaceId L'espace d'agent auprès duquel le jeton s'authentifie.
requestParameters.accessTokenId L'ID du jeton d'accès.
requestParameters.tokenName Le nom du jeton d'accès.
requestParameters.protocol Le protocole qui a été utilisé... MCP ouA2A.
responseElements.AuthenticateAccessToken Le résultat... Success ouFailure.
resources La ressource Agent Space (AWS::AIDevOps::AgentSpace) auprès de laquelle le jeton s'authentifie, identifiée par son ARN.
additionalEventData.roleSessionName Pour des authentifications réussies, le nom de session du rôle en aval, au formattoken_{spaceId}_{timestamp}_{tokenName}. Utilisez-le pour corréler l'authentification aux actions effectuées par l'agent.
sourceIPAddress Adresse IP du client.
userAgent La User-Agent chaîne du client, si elle est disponible.
errorCode, errorMessage En cas d'échec des authentifications, raison pour laquelle l'authentification a été rejetée.
Note

AWS DevOps L'agent n'enregistre jamais la valeur brute du jeton du porteur. Seul l'ID du jeton d'accès opaque apparaît dans l'événement.

Événements d'action en aval

Lorsque vous utilisez un jeton d'accès, AWS DevOps l'agent joue un rôle en votre nom pour effectuer des actions. AWS DevOps L'agent enregistre cet AssumeRole appel à l' CloudTrail aide de balises de session qui identifient le jeton et l'appelant :

  • AgentSpaceId— Identifiant de l'espace agent.

  • 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).

Chaque action que l'agent effectue en votre nom est associée à un appel d' AWS API en aval correspondant qui est CloudTrail enregistré. Le nom de la session de rôle utilise ce formattoken_{spaceId}_{timestamp}_{tokenName}. Le nom de cette session correspond roleSessionName à celui de l'AuthenticateAccessTokenévénement. Utilisez-le pour effectuer le suivi d'une authentification jusqu'aux actions spécifiques qui l'ont suivie.

Invocations SigV4

Les appels qui utilisent l'authentification AWS SIGv4 au lieu d'un jeton d'accès ne produisent AuthenticateAccessToken aucun événement. AWS DevOps L'agent attribue les requêtes SIGv4 à votre AWS identité de gestion des identités et des accès (IAM). Vous pouvez suivre les actions que l'agent effectue via les appels d' AWS API en aval qu'il déclenche.

Limitation de la politique relative aux terminaux VPC

Les points de terminaison des serveurs distants ne prennent pas en charge les politiques relatives aux terminaux VPC. Les appels utilisant des jetons d'accès ou une authentification Sigv4 ne peuvent pas être limités par les politiques relatives aux terminaux VPC.

Désactivation des jetons d'accès

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.

  2. 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'UpdateAgentSpaceaction (qui contrôle le basculement des jetons d'accès) :

{ "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

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.
A2A-Version En-tête HTTP 400 « obligatoire » En-tête de version de protocole manquant. Seul le format A2A v1.0 est pris en charge. Ajoutez un A2A-Version: 1.0 en-tête aux requêtes A2A.
HTTP 400 « L'espace de l'agent n'est pas résolu à partir des informations d'identification » Une requête A2A + SIGv4 n'inclut pas l'X-Agent-Space-Iden-tête. Ajoutez X-Agent-Space-Id: <agentSpaceId> à la demande.
Délai d'expiration de la demande Les premières réponses prennent de 5 à 30 secondes. Les enquêtes durent de 5 à 8 minutes. Réglez le délai d'expiration du client à au moins 120 secondes.
Connexion refusée URL ou région de point de terminaison incorrecte. Vérifiez le format de l'URL : https://connect.aidevops.{region}.api.aws