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-nameMyRole\ --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 :
-
Configurez le point de terminaison du serveur AWS MCP.
-
Authentifiez-vous via AWS Sign-In ou obtenez un jeton d'accès OAuth par programmation.
-
Approuvez la demande d'autorisation (flux interactif uniquement).
-
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 :
-
L'agent redirige l'utilisateur vers. AWS Sign-In
-
L'utilisateur s'authentifie en utilisant son AWS identité.
-
L'utilisateur examine et approuve la demande d'autorisation.
-
AWS Sign-In émet des jetons d'accès et d'actualisation OAuth.
-
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: |
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: |
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: |
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.