View a markdown version of this page

AWS Serveur MCP - AWS Sign-In

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.

AWS Serveur MCP

Présentation de

AWS Le serveur MCP prend en charge l'autorisation OAuth via. AWS Sign-In Avec l'autorisation OAuth, les agents peuvent y accéder AWS en utilisant les mêmes identités, autorisations et modèles de gouvernance que ceux que vous utilisez déjà avec le Console de gestion AWS et. AWS CLI Lorsque vous autorisez un agent, celui-ci peut accéder au serveur AWS MCP en votre nom. L'autorisation n'accorde pas d' AWS autorisations supplémentaires à l'agent.

Utilisez ce guide pour configurer l'accès OAuth au serveur AWS MCP. Il couvre les modèles d'autorisation pris en charge, les autorisations IAM requises et explique comment gérer et surveiller l'accès OAuth.

Pour plus d'informations sur la prise en charge d'OAuth dans AWS Sign-In, consultez. Sign-In avec OAuth 2.0

Conditions préalables

Avant de connecter un agent au serveur AWS MCP, assurez-vous que :

  • Votre identité IAM possède les autorisations requises pour l'autorisation OAuth.

  • Votre agent prend en charge le protocole MCP (Model Context Protocol).

  • Votre agent prend en charge l'autorisation OAuth 2.1.

Accordez les autorisations requises en joignant la politique AWS gérée :

aws iam attach-role-policy \ --role-name MyRole \ --policy-arn arn:aws:iam::aws:policy/AWSMCPSignInOAuthAccessPolicy

Cette politique gérée accorde :

  • signin:AuthorizeOAuth2Access

  • signin:CreateOAuth2Token

Si vous vous authentifiez en tant qu'utilisateur Compte AWS root, aucune autorisation IAM supplémentaire n'est requise.

URI de redirection pris en charge pour le DCR

Les agents peuvent s'enregistrer AWS Sign-In et utiliser un ou plusieurs URI de redirection approuvés pendant le processus d'autorisation OAuth.

client OAuth URI de redirection
Hôte local localhost, 127.0.0.1
Claude https://claude.ai/*
Cursor Desktop cursor://anysphere.cursor-mcp/oauth/callback
Curseur Web https://www.cursor.com/agents/mcp/oauth/callback
Code Visual Studio vscode://*
Code de Visual Studio (Web) https://vscode.dev/*
Chat GPT https://chatgpt.com/*
Connecteurs ChatGPT https://chatgpt.com/connector_platform_oauth_redirect
Répliquer https://replit.com/
Adorable https://lovable.app/*
Développeur adorable https://lovable.dev/*
Vercel v0 https://api.v0.dev/v1/mcp-servers/oauth/callback

Connect un agent à AWS Serveur MCP

Les étapes de configuration d'un OAuth-compatible agent varient en fonction de l'application. Pour obtenir des instructions pour les agents pris en charge, consultez le guide du serveur AWS MCP.

Le flux de travail général est le suivant :

  1. Configurez le point de terminaison du serveur AWS MCP.

  2. Authentifiez-vous via AWS Sign-In ou obtenez un jeton d'accès OAuth par programmation.

  3. Approuvez la demande d'autorisation (flux interactif uniquement).

  4. Commencez à invoquer les outils fournis par le serveur AWS MCP.

Modèles d'autorisation

AWS Le serveur MCP prend en charge les modèles d'autorisation fournis par AWS Sign-In.

Autorisation interactive

L'autorisation interactive est destinée aux développeurs utilisant des agents sur des postes de travail locaux.

Lorsqu'un agent a besoin d'une autorisation :

  1. L'agent redirige l'utilisateur vers. AWS Sign-In

  2. L'utilisateur s'authentifie en utilisant son AWS identité.

  3. L'utilisateur examine et approuve la demande d'autorisation.

  4. AWS Sign-In émet des jetons d'accès et d'actualisation OAuth.

  5. L'agent accède au serveur AWS MCP au nom de l'utilisateur.

Autorisations IAM requises :

  • signin:AuthorizeOAuth2Access

  • signin:CreateOAuth2Token

Non-interactive autorisation

Non-interactive l'autorisation utilise l'attribution des informations d'identification du client OAuth 2.0. Il est destiné aux agents et aux applications qui possèdent déjà des AWS informations d'identification et ne peuvent pas effectuer d'authentification par navigateur.

Les applications s'authentifient à l'aide des informations d'identification SigV4 ( AWS Signature Version 4) existantes et obtiennent des jetons d'accès OAuth via l'API. CreateOAuth2TokenWithIAM

Contrairement au flux interactif, seuls les jetons d'accès sont émis. Les applications demandent un nouveau jeton d'accès lorsque le jeton actuel expire.

Autorisation IAM requise :

  • signin:CreateOAuth2Token

L'exemple suivant montre comment obtenir un jeton d'accès à l'aide de AWS CLI :

aws signin create-oauth2-token-with-iam \ --grant-type client_credentials \ --resource aws-mcp.amazonaws.com \ --region us-east-1

Types de ressources OAuth

AWS Sign-In représente les cibles d'autorisation OAuth et les clients OAuth publics en tant que ressources IAM. Vous référencez ces ressources dans les politiques IAM pour accorder ou contrôler l'autorisation OAuth.

Les types de ressources suivants sont actuellement pris en charge.

Type de ressource Format ARN Description
AWS Serveur MCP arn:aws:signin:region:account-id:service-principal/aws-mcp.amazonaws.com Représente le serveur AWS MCP. Utilisez cette ressource pour accorder ou contrôler l'autorisation OAuth pour les applications qui accèdent au serveur AWS MCP.
Client public OAuth (même appareil) arn:aws:signin:region:account-id:oauth2/public-client/localhost Représente le client OAuth AWS CLI public pour l'autorisation sur le même appareil. Utilisez cette ressource avecaws login, où le navigateur et AWS CLI exécutez sur le même appareil.
Client public OAuth (multi-appareils) arn:aws:signin:region:account-id:oauth2/public-client/remote Représente le client OAuth AWS CLI public pour l'autorisation multi-appareils. Utilisez cette ressource avecaws login --remote, où l'authentification est effectuée sur un appareil distinct.

Cycle de vie des jetons

AWS Sign-In gère le cycle de vie des jetons OAuth émis pour le serveur AWS MCP.

Jeton Description
Jeton d'accès interactif Valable jusqu'à une heure. Actualisé automatiquement tant que le jeton d'actualisation reste valide.
Non-interactive jeton d'accès Valable pour la durée la plus courte d'une heure ou pour la durée restante de la AWS session. Les applications demandent un nouveau jeton après expiration.
Jeton d’actualisation Émis uniquement pour une autorisation interactive. Permet aux applications d'obtenir de nouveaux jetons d'accès sans que l'utilisateur n'ait à se reconnecter. Les jetons d'actualisation sont alternés et à usage unique.

Gestion des jetons OAuth

AWS Sign-In fournit des API pour valider et gérer les autorisations OAuth.

API Objectif
IntrospectOAuth2Token Renvoie des métadonnées décrivant un jeton OAuth.
RevokeOAuth2Token Révoque un jeton d'actualisation.

Surveillance de l'activité OAuth

OAuth-related les activités sont enregistrées dans AWS CloudTrail.

CloudTrail enregistre des événements tels que :

  • Demandes d'autorisation OAuth

  • Émission de jetons OAuth

  • Introspection symbolique

  • Révocation du jeton

CloudTrail enregistre également le client OAuth, l'URI de redirection, le flux d'autorisation, la ressource du serveur AWS MCP et la AWS Sign-In session associée, permettant aux administrateurs de corréler l'activité de l' AWS API avec l'autorisation OAuth d'origine.

CloudTrail Des exemples d'événements sont disponibles pour :

  • AuthorizeOAuth2Access

  • CreateOAuth2Token

Exemple — AuthorizeOAuth2Access événement :

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:testuser", "arn": "arn:aws:sts::111111111111:assumed-role/Admin/testuser", "accountId": "111111111111", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111111111111:role/Admin", "accountId": "111111111111", "userName": "Admin" }, "attributes": { "creationDate": "2026-06-09T05:06:39Z", "mfaAuthenticated": "false" } } }, "eventTime": "2026-06-09T05:09:00Z", "eventSource": "signin.amazonaws.com", "eventName": "AuthorizeOAuth2Access", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...", "requestParameters": { "resource": "https://aws-mcp.us-west-2.api.aws/mcp", "redirect_uri": "http://127.0.0.1:60432/oauth/callback", "code_challenge_method": "S256", "client_id": "arn:aws:signin:us-west-2::external-client/dcr/b3f2c8a1-9d4e-4f7a-8c6b-2e1f5a3d9b7c" }, "responseElements": null, "additionalEventData": { "success": "true" }, "requestID": "4fb4ff7b-6yu7-9090-78i9-9c0088a65134", "eventID": "bb05b222-31ec-4237-b8e7-8eb26d4fd48b", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111111111111", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "us-west-2.oauth.signin.aws" } }

Exemple — CreateOAuth2Token événement :

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:testuser", "arn": "arn:aws:sts::111111111111:assumed-role/Admin/testuser", "accountId": "111111111111", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111111111111:role/Admin", "accountId": "111111111111", "userName": "Admin" }, "attributes": { "creationDate": "2026-06-09T05:06:39Z", "mfaAuthenticated": "false" }, "signInSessionArn": "arn:aws:signin:us-west-2:111111111111:session/daff060f-7871-4ab6-92cd-a07bbdabe61a" } }, "eventTime": "2026-06-09T05:10:04Z", "eventSource": "signin.amazonaws.com", "eventName": "CreateOAuth2Token", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "userAgent": "curl/8.7.1", "requestParameters": { "resource": "https://aws-mcp.us-west-2.api.aws/mcp", "client_id": "arn:aws:signin:us-west-2::external-client/dcr/b3f2c8a1-9d4e-4f7a-8c6b-2e1f5a3d9b7c" }, "responseElements": null, "additionalEventData": { "signInSessionArn": "arn:aws:signin:us-west-2:111111111111:session/daff060f-7871-4ab6-92cd-a07bbdabe61a", "grant_type": "refresh_token", "success": "true" }, "requestID": "44d6d7ce-e4r5-4cbf-0909-bfb8a8295a76", "eventID": "f79cc63f-b383-4e3c-a1e5-97c7db1ab833", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111111111111", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "us-west-2.oauth.signin.aws" } }

Des événements d'audit supplémentaires et des informations de journalisation pour les appels effectués à l'aide de jetons d'accès OAuth vers le serveur AWS MCP sont disponibles dans le guide de journalisation du serveur AWS MCP. CloudTrail

Résolution des problèmes

Autorisation refusée lors de la connexion à AWS Serveur MCP

Vérifiez que votre identité IAM possède les signin:CreateOAuth2Token autorisations signin:AuthorizeOAuth2Access et pour la ressource d'octroi d'autorisation du serveur AWS MCP.

Jeton d'accès expiré

L'autorisation interactive actualise automatiquement les jetons d'accès tant que le jeton d'actualisation associé reste valide. Si le jeton d'actualisation a expiré ou a été révoqué, authentifiez-vous à nouveau par l'intermédiaire de votre agent.

Pour une autorisation non interactive, vous pouvez demander un nouveau jeton d'accès au point de terminaison du jeton.

Ressource cible non valide

Lors de l'appelCreateOAuth2TokenWithIAM, vérifiez que le resource paramètre identifie un service cible pris en charge. Pour le serveur AWS MCP, utilisez le principal de service du serveur AWS MCP.

L'agent ne peut pas s'enregistrer en tant que client OAuth

Seuls les agents agréés peuvent s'inscrire par le biais de l'enregistrement dynamique des clients (DCR). Si vous développez un MCP-compatible agent, contactez le AWS support.

La politique relative à la clé de condition OAuth ne prend pas effet

Vérifiez que la clé de condition s'applique à l'action IAM en cours d'évaluation. Certaines clés de condition ne sont prises en charge que par des actions OAuth spécifiques. Pour de plus amples informations, veuillez consulter Sign-In avec OAuth 2.0.

Session révoquée mais l'agent y a toujours accès

La révocation d'un jeton d'actualisation empêche immédiatement l'émission de nouveaux jetons d'accès. Les jetons d'accès existants restent valides jusqu'à leur expiration (jusqu'à une heure).

Pour un confinement immédiat, appliquez une politique IAM à l'aide de la clé de condition aws:SignInSessionArn globale pour refuser les demandes associées à la session de connexion concernée.