View a markdown version of this page

Connexion de serveurs MCP - 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 de serveurs MCP

Les serveurs MCP (Model Context Protocol) étendent les capacités d'investigation de l' AWS DevOps Agent en fournissant un accès aux données provenant de vos outils d'observabilité externes, de vos systèmes de surveillance personnalisés et de vos sources de données opérationnelles. Ce guide explique comment connecter un serveur MCP à l' AWS DevOps agent.

Exigences

Avant de connecter un serveur MCP, assurez-vous que votre serveur répond aux exigences suivantes :

  • Protocole de transport HTTP Streamable  : seuls les serveurs MCP qui implémentent le protocole de transport HTTP Streamable sont pris en charge.

  • Prise en charge de l'authentification  : votre serveur MCP doit prendre en charge l'une des méthodes d'authentification suivantes : OAuth 2.0 (informations d'identification du client ou 3LO), authentification key/token basée sur une API, un ou plusieurs secrets envoyés dans des en-têtes HTTP que vous nommez, ou AWS Signature Version 4 (SigV4).

Considérations sur la sécurité

Lorsque vous connectez des serveurs MCP à l' AWS DevOps Agent, tenez compte des aspects de sécurité suivants :

  • Liste des outils autorisés : vous ne devez mettre en liste que les outils spécifiques dont votre espace d'agent a besoin, plutôt que d'exposer tous les outils de votre serveur MCP. Consultez Configuration des outils MCP dans un espace d'agent pour savoir comment autoriser les outils de liste par espace d'agent.

Veuillez noter que la longueur maximale du nom d'outil de tout outil MCP est de 64 caractères. Pour connaître le nombre maximum d'outils MCP autorisés par espace d'agent, consultezQuotas.

  • Risques d'injection rapide — Les serveurs MCP personnalisés peuvent introduire un risque supplémentaire d'attaques par injection rapide. Consultez Protection rapide contre les injections : sécurité des AWS DevOps agents pour plus d'informations.

  • Read-only outils et accès : autorisez uniquement les outils MCP en lecture seule sur la liste et assurez-vous que les informations d'authentification ne sont autorisées qu'en lecture seule.

Voir AWS DevOps Sécurité des agents pour plus d'informations sur l'injection rapide et le modèle de responsabilité partagée.

Note

Si votre serveur MCP se trouve sur un réseau privé, consultez Connexion à des outils hébergés en privé

Serveurs MCP communautaires

Le référentiel AWS DevOps Agent Tools comprend des serveurs MCP déployables qui fournissent à l'agent des outils personnalisés pour des diagnostics approfondis de l'infrastructure, tels que la collecte des journaux des nœuds Amazon Elastic Kubernetes Service (Amazon EKS), l'analyse de la résolution DNS Amazon Virtual Private Cloud (Amazon VPC) et les contrôles de santé des bases de données Amazon Relational Database Service (Amazon RDS). Le référentiel est géré par l'équipe de service des AWS DevOps agents, et toutes les contributions passent par la même barre de vérification de sécurité avant d'être ajoutées. Pour découvrir ce qui est disponible, consultez le catalogue des serveurs MCP sur le GitHub site Web.

Pour utiliser un serveur MCP communautaire :

  1. Déployez le serveur MCP sur votre AWS compte en suivant les instructions de déploiement figurant dans le fichier README du serveur.

  2. Enregistrez le serveur déployé auprès de votre espace d'agent en tant que fournisseur de fonctionnalités en suivant les étapes décrites dans la section Enregistrement d'un serveur MCP ci-dessous.

Enregistrement d'un serveur MCP (au niveau du compte)

Les serveurs MCP sont enregistrés au niveau du AWS compte et partagés entre tous les espaces d'agent de ce compte. Chaque espace d'agent peut ensuite choisir les outils spécifiques dont il a besoin pour chaque serveur MCP.

Étape 1 : détails du serveur MCP

  1. Connectez-vous à la console AWS de gestion

  2. Accédez à la console de AWS DevOps l'agent

  3. Accédez à la page Capability Providers (accessible depuis la navigation latérale)

  4. Trouvez le serveur MCP dans la section Fournisseurs disponibles et choisissez Enregistrer

  5. Sur la page de détails du serveur MCP, entrez les informations suivantes :

    • Nom  : entrez un nom descriptif pour votre serveur MCP

    • URL du point de terminaison  : entrez l'URL HTTPS complète du point de terminaison de votre serveur MCP

    • Description (facultatif) — Ajoutez une description pour aider à identifier l'objectif du serveur

    • Activer l'enregistrement dynamique des clients  : cochez cette case si vous souhaitez autoriser l' AWS DevOps agent à s'enregistrer automatiquement auprès du serveur d'autorisation de votre serveur MCP.

    • Connectez-vous au terminal via une connexion privée  : cochez cette case si vous souhaitez que AWS DevOps l'agent envoie des demandes à votre serveur MCP en privé. Vous pouvez sélectionner une connexion privée existante ou en créer une nouvelle. Si vous utilisez l'authentification OAuth, la connexion privée s'applique à la fois au point de terminaison du serveur MCP et au point de terminaison d'échange de jetons. Assurez-vous que la connexion privée est configurée avec une adresse hôte capable d'acheminer le trafic vers les deux terminaux. L'adresse hôte de la connexion et l'URL de ce point de terminaison sont deux valeurs différentes, et les plages de ports de la connexion doivent inclure le port de l'URL du point de terminaison. Pour plus d'informations sur les adresses d'hôte et les URL de point de terminaison, voir Adresse de l'hôte et URL du point de terminaison etConnexion à des outils hébergés en privé.

  6. Choisissez Next (Suivant)

Note

L'URL du point de terminaison du serveur MCP sera affichée dans AWS CloudTrail les journaux de votre compte.

Étape 2 : flux d'autorisation

Sélectionnez la méthode d'authentification pour votre serveur MCP :

Informations d'identification du client OAuth — Si votre serveur MCP utilise le flux d'informations d'identification du client OAuth :

  1. Sélectionnez les informations d'identification du client OAuth

  2. Choisissez Next (Suivant)

OAuth 3LO (Three-Legged OAuth) — Si votre serveur MCP utilise OAuth 3LO pour l'authentification :

  1. Sélectionnez OAuth 3LO

  2. Choisissez Next (Suivant)

Clé API — Si votre serveur MCP utilise l'authentification par clé API :

  1. Sélectionnez la clé API

  2. Choisissez Next (Suivant)

En-têtes multi-authentification  : si votre serveur MCP attend un ou plusieurs secrets dans les en-têtes HTTP que vous nommez :

  1. Sélectionnez En-têtes d'authentification multiple.

  2. Choisissez Suivant.

AWS SIGv4 — Si votre serveur MCP utilise l'authentification AWS Signature Version 4 :

  1. Sélectionnez AWS SIGv4

  2. Choisissez Next (Suivant)

Étape 3 : Configuration de l'autorisation

Configurez des paramètres d'autorisation supplémentaires en fonction de la méthode d'authentification sélectionnée :

Pour les informations d'identification du client OAuth :

  1. ID client — Entrez l'ID client du client OAuth

  2. Secret du client  : entrez le code secret du client OAuth

  3. URL Exchange  : entrez l'URL du point de terminaison d'échange de jetons OAuth

  4. Paramètres d'échange  : entrez les paramètres d'échange de jetons OAuth pour vous authentifier auprès du service

  5. Ajouter une étendue  : ajoutez des étendues OAuth pour l'authentification

  6. Choisissez Next (Suivant)

Pour OAuth 3LO :

  1. ID client — Entrez l'ID client du client OAuth

  2. Secret du client  : entrez le code secret du client OAuth s'il est requis par votre client OAuth

  3. URL Exchange  : entrez l'URL du point de terminaison d'échange de jetons OAuth

  4. URL d'autorisation  : entrez l'URL du point de terminaison d'autorisation OAuth

  5. Support Code Challenge - Cochez cette case si votre client OAuth prend en charge le code Challenge

  6. Ajouter une étendue  : ajoutez des étendues OAuth pour l'authentification

  7. Choisissez Next (Suivant)

Pour la clé API :

  1. Entrez un nom de clé d'API

  2. Entrez le nom de l'en-tête qui contiendra la clé API dans la demande

  3. Entrez la valeur de votre clé API

  4. Choisissez Next (Suivant)

Pour les en-têtes Multi Auth :

L'authentification multi-authentification envoie jusqu'à trois secrets à votre serveur MCP, chacun dans un en-tête que vous nommez. Utilisez-le pour les serveurs nécessitant plusieurs informations d'identification. Datadog, par exemple, attend une clé d'API DD-API-KEY et une clé d'application. DD-APPLICATION-KEY Un serveur qui a besoin d'un secret unique dans l'en-tête de votre choix fonctionne également.

  1. Sous En-têtes d'authentification, choisissez Ajouter un en-tête.

  2. Entrez les informations suivantes pour chaque en-tête attendu par votre serveur MCP :

    • Nom de l'en-tête  : nom de l'en-tête, par exempleDD-API-KEY. Les noms peuvent contenir des lettres, des chiffres, des traits d'union et des traits de soulignement, jusqu'à 256 caractères.

    • Secret  : valeur à envoyer dans cet en-tête, jusqu'à 4 096 caractères ASCII imprimables. La console masque la valeur au fur et à mesure que vous la saisissez.

  3. Répétez l'opération pour chaque en-tête, jusqu'à trois. Les noms d'en-tête doivent être uniques. Les noms qui ne diffèrent que par leur majuscule sont considérés comme identiques. Vous ne pouvez donc pas ajouter à la fois X-Api-Key etx-api-key.

  4. Choisissez Suivant.

AWS DevOps L'agent rejette les noms d'en-tête réservés par l'infrastructure HTTP ou le protocole MCP. Les noms réservés incluent Host Content-TypeContent-Length,Cookie, User-AgentAccept, etMcp-Session-Id. Les noms commençant parx-amz-,x-amzn-, x-forwarded-Proxy-, ou qui Sec- sont également rejetés. Authorizationest autorisé, vous pouvez donc enregistrer un serveur qui attend un jeton Authorization et un second secret dans un autre en-tête.

AWS DevOps L'agent stocke chaque secret chiffré et ne l'affiche plus une fois que vous avez enregistré le serveur. Conservez votre propre copie si vous avez besoin des valeurs ultérieurement. Cela diffère du champ facultatif d'en-têtes personnalisés de l'étape de configuration AWS SIGv4, qui envoie des valeurs en texte brut avec chaque demande signée.

Pour AWS SigV4 :

AWS L'authentification Sigv4 permet à AWS DevOps l'agent de se connecter aux serveurs MCP qui utilisent AWS Signature Version 4 pour la signature des demandes. Cela est utile pour les serveurs MCP hébergés sur Amazon API Gateway ou d'autres AWS services prenant en charge l'authentification SIGv4.

  1. Configurer le rôle IAM — Choisissez l'une des options suivantes :

    • Utiliser un rôle existant  : sélectionnez un rôle IAM existant dans la liste déroulante. Le rôle doit disposer d'une politique de confiance permettant au principal du service de l' AWS DevOps agent de l'assumer (voir Création d'un rôle IAM pour l'authentification Sigv4).

    • Créer un nouveau rôle manuellement  : suivez les instructions détaillées affichées dans la console pour créer un nouveau rôle IAM avec la politique de confiance appropriée.

    • Inscrivez-vous sans rôle dédié  : enregistrez le serveur MCP sans fournir de rôle IAM. AWS DevOps L'agent signe plutôt les demandes à l'aide d'un rôle IAM à partir d'un AWS compte associé à votre espace d'agent et reporte la validation de la connexion jusqu'à ce que vous associiez le serveur. Choisissez cette option pour accéder à tous les AWS comptes connectés à votre espace d'agent. Pour plus de détails, consultez la section Cross-account Accès sans rôle dédié.

  2. AWS Région  : entrez la AWS région pour la signature SIGv4 (par exemple,us-east-1). Pour utiliser la signature multirégionale SigV4a, entrez. *

  3. Nom du service  : entrez le nom du AWS service pour la signature SIGv4 (par exemple, execute-api pour API Gateway).

  4. En-têtes personnalisés (facultatif) : ajoutez jusqu'à 10 paires d'en-têtes clé-valeur personnalisées à inclure dans chaque demande signée.

  5. Choisissez Next (Suivant)

Étape 4 : Réviser et soumettre

  1. Passez en revue tous les détails de configuration du serveur MCP. Si vous avez choisi l'authentification multi-authentification des en-têtes, l'étape de révision répertorie les noms de vos en-têtes avec leurs secrets masqués.

  2. Choisissez Soumettre pour terminer l'inscription

  3. AWS DevOps L'agent validera la connexion à votre serveur MCP

  4. Une fois la validation réussie, votre serveur MCP sera enregistré au niveau du compte

Configuration des outils MCP dans un espace d'agent

Après avoir enregistré un serveur MCP au niveau du compte, vous pouvez configurer les outils de ce serveur qui sont disponibles pour des espaces d'agent spécifiques :

  1. Dans la console de l' AWS DevOps agent, sélectionnez votre espace d'agent

  2. Accédez à l'onglet Capacités

  3. Dans la section Serveurs MCP, choisissez Ajouter

  4. Sélectionnez le serveur MCP enregistré auquel vous souhaitez vous connecter à cet espace d'agent

  5. Configurez les outils de ce serveur MCP qui doivent être disponibles dans l'espace agent :

    • Autoriser tous les outils — Rend tous les outils disponibles sur le serveur MCP

    • Sélectionnez des outils spécifiques — Vous permet de choisir les outils à autoriser

  6. Choisissez Ajouter pour connecter le serveur MCP à votre espace d'agent

AWS DevOps L'agent pourra désormais utiliser les outils autorisés de votre serveur MCP lors des enquêtes dans cet espace d'agent.

Pour contrôler si l'agent peut invoquer un outil MCP en tant qu'action en lecture seule ou en mode mutation, vous devez classer chaque outil. Les outils que vous enregistrez par programmation sans définir toolDetails par défaut en lecture seule, et l'agent les exécute sans demander d'approbation. Pour plus d'informations sur la classification des outils MCP en lecture seule ou en mutation, consultez. Travailler avec des actions dirigées

Gestion des connexions au serveur MCP

Mise à jour des informations d'authentification  : vous pouvez mettre à jour les informations d'authentification d'un serveur MCP enregistré sans le désenregistrer. Accédez à la page Capability Providers dans la console de l' AWS DevOps agent, sélectionnez votre serveur MCP et choisissez Mettre à jour dans le menu Actions. Vos associations d'espace d'agent sont préservées. Ce que vous pouvez mettre à jour dépend de la méthode d'authentification :

  • Clé API  : entrez une nouvelle valeur de clé API et un nouveau nom d'en-tête pour alterner les informations d'identification. Le point de terminaison ne peut pas être modifié lors d'une mise à jour.

  • OAuth 3LO (Three-Legged OAuth) — le flux d'autorisation pour Re-run actualiser le jeton stocké. Vous ne devez pas saisir à nouveau les informations d'identification du client. Lorsque vous soumettez, AWS DevOps l'agent vous redirige vers la page de consentement du fournisseur pour terminer la réautorisation. Vous pouvez éventuellement remplacer l'URL d'autorisation. Si vous laissez ce champ vide, AWS DevOps l'agent le découvre à partir des métadonnées de votre serveur MCP.

  • AWS Sigv4  : mettez à jour le nom du serveur, le point de terminaison, la description, AWS la région, le service, le rôle IAM et les en-têtes personnalisés.

Les serveurs MCP qui utilisent des informations d'identification client OAuth ou des en-têtes multi-authentification ne peuvent pas être mis à jour sur place. L'authentification multi-authentification des en-têtes est disponible uniquement lors de l'enregistrement. Il n'existe donc aucun chemin permettant de faire pivoter un secret ou de renommer un en-tête sur un serveur enregistré. Pour modifier ces informations d'identification, supprimez toutes les associations actives, désenregistrez le serveur MCP et réenregistrez-le avec les nouvelles valeurs.

Affichage des serveurs MCP connectés — Pour voir tous les serveurs MCP connectés à votre espace d'agent, sélectionnez votre espace d'agent, accédez à l'onglet Fonctionnalités et consultez la section Serveurs MCP. Vous pouvez également mettre à jour certains outils ici.

Suppression des connexions au serveur MCP — Pour déconnecter un serveur MCP d'un espace d'agents, sélectionnez le serveur dans la section Serveurs MCP et choisissez Supprimer. Pour supprimer complètement un enregistrement de serveur MCP, supprimez-le d'abord de tous les espaces d'agent, puis supprimez l'enregistrement au niveau du compte.

Création d'un rôle IAM pour l'authentification Sigv4

Lorsque vous utilisez l'authentification AWS Sigv4, AWS DevOps l'agent assume un rôle IAM dans votre compte pour signer les demandes adressées à votre serveur MCP. Ce rôle doit être doté d'une politique de confiance qui permet au principal du service de l' AWS DevOps agent (aidevops.amazonaws.com) de l'assumer, avec une protection adjointe confuse.

Politique d’approbation

Créez un rôle IAM avec la politique de confiance suivante. REGIONRemplacez-la par votre AWS région (par exempleus-east-1) et ACCOUNT_ID par votre identifiant de AWS compte.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:REGION:ACCOUNT_ID:service/*" } } } ] }

La politique de confiance inclut les conditions suivantes pour éviter le problème de confusion entre les députés  :

  • aws:SourceAccount— Limite l'attribution du rôle aux demandes provenant de votre AWS compte.

  • aws:SourceArn— Limite l'attribution du rôle aux demandes provenant des ressources du service d' AWS DevOps agent de votre compte.

Politique d’autorisations

Associez une politique d'autorisations au rôle qui accorde les autorisations minimales requises pour appeler votre serveur MCP. Par exemple, si votre serveur MCP est hébergé derrière Amazon API Gateway, le rôle doit disposer d'une execute-api:Invoke autorisation sur la ressource API Gateway.

Multi-region signature (SigV4a)

Si votre serveur MCP est déployé dans plusieurs AWS régions, vous pouvez utiliser SIGv4a (Signature Version 4a) pour la signature multirégionale. Pour activer cela, entrez * comme AWS région lors de la configuration de l'autorisation SIGv4. SigV4a utilise une signature asymétrique, qui permet à une seule demande signée d'être valide dans plusieurs régions.

Cross-account accès sans rôle dédié

Au lieu d'enregistrer un rôle IAM dédié pour votre serveur MCP, vous pouvez utiliser l'enregistrement sans rôle  : enregistrez le serveur sans rôle et demandez à l' AWS DevOps agent de signer les demandes à l'aide d'un rôle IAM provenant d'un AWS compte déjà associé à votre espace agent. Cela est utile lorsque votre serveur MCP doit accéder à des ressources couvrant les AWS comptes principal et secondaire connectés à un espace d'agents, plutôt qu'un rôle unique limité à un seul compte.

Comment ça marche

Cross-account l'accès sans rôle dédié fonctionne comme suit :

  1. Enregistrez le serveur MCP sans rôle — À l'étape de configuration de l'autorisation SIGv4, choisissez Enregistrer sans rôle dédié. AWS DevOps L'agent enregistre le serveur mais ne valide pas encore la connexion, car il n'existe aucun rôle avec lequel signer une demande de validation.

  2. Associer le serveur MCP à un espace d'agent — Lorsque vous ajoutez le serveur MCP à un espace d'agent, AWS DevOps l'agent le valide à l'aide du rôle de AWS compte principal (moniteur). Il suppose ce rôle et appelle listTools pour confirmer que le serveur est accessible et que la configuration est valide. L'espace agent doit être associé à un AWS compte principal. Le rôle de ce compte doit être en mesure d'invoquer votre serveur MCP.

  3. Pendant les enquêtes  : lorsque l'agent utilise le serveur MCP alors qu'il fonctionne sur un compte spécifique, il signe les demandes avec le rôle de ce compte, le rôle de compte principal pour le compte principal et le rôle de compte secondaire correspondant pour chaque compte secondaire. Chaque rôle de compte principal ou secondaire que l'agent utilisera avec ce serveur MCP doit pouvoir l'invoquer.

Exigences

Avant d'associer un serveur MCP SIGv4 sans rôle à un espace d'agent :

  • L'espace agent doit être associé à un AWS compte principal. Sans compte principal, l'association échoue car le rôle du compte principal effectue la listTools validation. Le message d'erreur est le suivant : « Le serveur MCP SigV4 enregistré sans rôle dédié nécessite une association de compte principal dans l'espace agent. »

  • Le rôle du compte principal doit autoriser l'appel de votre serveur MCP (par exemple, execute-api:Invoke pour un Gateway-hosted serveur API). Chaque rôle de compte secondaire que vous souhaitez que l'agent utilise avec ce serveur MCP doit également accorder cette autorisation. Pour plus d'informations, consultez la section Politique d'autorisations. AWS DevOps L'agent utilise le rôle principal au moment de l'association et les rôles secondaires lors des enquêtes sur ces comptes.

Résolution des problèmes

L'association d'un serveur MCP sans rôle échoue : « nécessite une association de compte principal »

Si vous avez enregistré un serveur MCP sans rôle dédié et que l'association échoue, vérifiez le message d'erreur. Si l'erreur indique que le serveur nécessite une association de compte principal dans l'espace agent, aucun AWS compte principal n'est connecté à l'espace agent.

AWS DevOps L'agent valide un serveur MCP SIGv4 sans rôle lorsque vous l'associez, en utilisant le rôle IAM du compte principal AWS de l'espace agent. Pour résoudre ce problème :

  1. Ajoutez un AWS compte principal à l'espace agent, s'il n'en possède pas déjà un.

  2. Assurez-vous que le rôle IAM de ce compte est autorisé à invoquer votre serveur MCP (par exemple, execute-api:Invoke pour un serveur hébergé sur Amazon API Gateway).

  3. Associez de nouveau le serveur MCP.

  • Sécurité dans AWS DevOps Agent

  • Configuration d'un espace d'agent

  • Protection rapide contre les injections