View a markdown version of this page

AWS MCP 서버에 대한 OAuth 액세스 구성 - AWS 로그인

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS MCP 서버에 대한 OAuth 액세스 구성

개요

AWS MCP 서버는 AWS 로그인을 통해 OAuth 인증을 지원합니다. OAuth 권한 부여를 통해 에이전트는 AWS Management Console 및에서 이미 사용하고 있는 것과 동일한 자격 증명, 권한 및 거버넌스 모델을 AWS 사용하여에 액세스할 수 있습니다 AWS CLI. 에이전트를 승인하면 에이전트가 사용자를 대신하여 AWS MCP 서버에 액세스할 수 있습니다. 권한 부여는 에이전트에게 추가 AWS 권한을 부여하지 않습니다.

이 가이드를 사용하여 AWS MCP 서버에 대한 OAuth 액세스를 구성합니다. 지원되는 권한 부여 모델, 필수 IAM 권한, OAuth 액세스를 제어하고 모니터링하는 방법을 다룹니다.

AWS 로그인 시 OAuth 지원에 대한 자세한 내용은 섹션을 참조하세요OAuth 2.0으로 로그인.

사전 조건

에이전트를 AWS MCP 서버에 연결하기 전에 다음을 확인합니다.

  • IAM 자격 증명에는 OAuth 권한 부여에 필요한 권한이 있습니다.

  • 에이전트는 모델 컨텍스트 프로토콜(MCP)을 지원합니다.

  • 에이전트는 OAuth 2.1 인증을 지원합니다.

AWS 관리형 정책을 연결하여 필요한 권한을 부여합니다.

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

이 관리형 정책은 다음을 부여합니다.

  • signin:AuthorizeOAuth2Access

  • signin:CreateOAuth2Token

AWS 계정 루트 사용자로 인증하는 경우 추가 IAM 권한이 필요하지 않습니다.

DCR에 지원되는 리디렉션 URIs

에이전트는 OAuth 권한 부여 프로세스 중에 AWS Sign-In에 등록하고 하나 이상의 승인된 리디렉션 URIs를 사용할 수 있습니다.

OAuth 클라이언트 리디렉션 URI(들)
Localhost localhost, 127.0.0.1
Claude https://claude.ai/*
커서 데스크톱 cursor://anysphere.cursor-mcp/oauth/callback
커서 웹 https://www.cursor.com/agents/mcp/oauth/callback
Visual Studio Code vscode://*
Visual Studio 코드(웹) https://vscode.dev/*
ChatGPT https://chatgpt.com/*
ChatGPT 커넥터 https://chatgpt.com/connector_platform_oauth_redirect
복제본 https://replit.com/
좋아요 https://lovable.app/*
매력적인 개발자 https://lovable.dev/*
Vercel v0 https://api.v0.dev/v1/mcp-servers/oauth/callback

에이전트를 AWS MCP 서버에 연결

OAuth 호환 에이전트를 구성하는 단계는 애플리케이션에 따라 다릅니다. 지원되는 에이전트에 대한 지침은 AWS MCP 서버 안내서를 참조하세요.

일반적인 워크플로는 다음과 같습니다.

  1. AWS MCP Server 엔드포인트를 구성합니다.

  2. AWS 로그인을 통해 인증하거나 프로그래밍 방식으로 OAuth 액세스 토큰을 얻습니다.

  3. 권한 부여 요청을 승인합니다(대화형 흐름만 해당).

  4. AWS MCP Server에서 제공하는 도구 호출을 시작합니다.

권한 부여 모델

AWS MCP Server는 AWS Sign-In에서 제공하는 권한 부여 모델을 지원합니다.

대화형 권한 부여

대화형 권한 부여는 로컬 워크스테이션에서 에이전트를 사용하는 개발자를 위한 것입니다.

에이전트에게 권한 부여가 필요한 경우:

  1. 에이전트는 사용자를 AWS 로그인으로 리디렉션합니다.

  2. 사용자는 자격 AWS 증명을 사용하여 인증합니다.

  3. 사용자가 권한 부여 요청을 검토하고 승인합니다.

  4. AWS 로그인은 OAuth 액세스 및 새로 고침 토큰을 발급합니다.

  5. 에이전트는 사용자를 대신하여 AWS MCP 서버에 액세스합니다.

필수 IAM 권한:

  • signin:AuthorizeOAuth2Access

  • signin:CreateOAuth2Token

비대화형 권한 부여

비대화형 권한 부여는 OAuth 2.0 클라이언트 자격 증명 부여를 사용합니다. 자격 AWS 증명이 이미 있고 브라우저 기반 인증을 수행할 수 없는 에이전트 및 애플리케이션을 위한 것입니다.

애플리케이션은 기존 AWS 서명 버전 4(SigV4) 자격 증명을 사용하여 인증하고 CreateOAuth2TokenWithIAM API를 통해 OAuth 액세스 토큰을 얻습니다.

대화형 흐름과 달리 액세스 토큰만 발급됩니다. 현재 토큰이 만료되면 애플리케이션이 새 액세스 토큰을 요청합니다.

필수 IAM 권한:

  • signin:CreateOAuth2Token

다음 예제에서는를 사용하여 액세스 토큰을 얻는 방법을 보여줍니다 AWS CLI.

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

OAuth 리소스 유형

AWS 로그인은 OAuth 권한 부여 대상 및 퍼블릭 OAuth 클라이언트를 IAM 리소스로 나타냅니다. IAM 정책에서 이러한 리소스를 참조하여 OAuth 권한을 부여하거나 제어합니다.

현재 지원되는 리소스 유형은 다음과 같습니다.

리소스 유형 ARN 형식 설명
AWS MCP 서버 arn:aws:signin:region:account-id:service-principal/aws-mcp.amazonaws.com AWS MCP 서버를 나타냅니다. 이 리소스를 사용하여 AWS MCP 서버에 액세스하는 애플리케이션에 대한 OAuth 권한을 부여하거나 제어합니다.
OAuth 퍼블릭 클라이언트(동일한 디바이스) arn:aws:signin:region:account-id:oauth2/public-client/localhost 동일한 디바이스 권한 부여를 위한 AWS CLI 퍼블릭 OAuth 클라이언트를 나타냅니다. 브라우저와가 동일한 디바이스에서 AWS CLI 실행되는 aws login에서이 리소스를 사용합니다.
OAuth 퍼블릭 클라이언트(교차 디바이스) arn:aws:signin:region:account-id:oauth2/public-client/remote 디바이스 간 권한 부여를 위한 AWS CLI 퍼블릭 OAuth 클라이언트를 나타냅니다. 별도의 디바이스에서 인증이 완료aws login --remote되는에서이 리소스를 사용합니다.

토큰 수명 주기

AWS 로그인은 AWS MCP 서버에 대해 발급된 OAuth 토큰의 수명 주기를 관리합니다.

토큰 설명
대화형 액세스 토큰 최대 1시간 동안 유효합니다. 새로 고침 토큰이 유효한 상태로 유지되는 동안 자동으로 새로 고쳐집니다.
비대화형 액세스 토큰 1시간 또는 나머지 AWS 세션 기간 중 더 짧은 시간에 유효합니다. 애플리케이션은 만료 후 새 토큰을 요청합니다.
새로 고침 토큰 대화형 권한 부여를 위해서만 발급됩니다. 사용자가 다시 로그인할 필요 없이 애플리케이션이 새 액세스 토큰을 얻을 수 있도록 허용합니다. 새로 고침 토큰은 교체되고 일회용입니다.

OAuth 토큰 관리

AWS Sign-In은 OAuth 권한 부여를 검증하고 관리하기 위한 APIs를 제공합니다.

API 용도
IntrospectOAuth2Token OAuth 토큰을 설명하는 메타데이터를 반환합니다.
RevokeOAuth2Token 새로 고침 토큰을 취소합니다.

OAuth 활동 모니터링

OAuth 관련 활동은에 기록됩니다 AWS CloudTrail.

CloudTrail은 다음을 포함한 이벤트를 기록합니다.

  • OAuth 권한 부여 요청

  • OAuth 토큰 발급

  • 토큰 내부 검사

  • 토큰 해지

또한 CloudTrail은 OAuth 클라이언트, 리디렉션 URI, 권한 부여 흐름, AWS MCP 서버 리소스 및 관련 AWS 로그인 세션을 기록하므로 관리자가 AWS API 활동을 원래 OAuth 권한 부여와 연관시킬 수 있습니다.

CloudTrail 이벤트 예제는 다음과 같은 경우에 사용할 수 있습니다.

  • AuthorizeOAuth2Access

  • CreateOAuth2Token

예 - AuthorizeOAuth2Access 이벤트:

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

예 - CreateOAuth2Token 이벤트:

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

OAuth 액세스 토큰을 사용하여 AWS MCP 서버에 수행한 호출에 대한 추가 감사 이벤트 및 로깅 세부 정보는 AWS MCP Server CloudTrail 로깅 가이드에서 확인할 수 있습니다.

문제 해결

AWS MCP 서버에 연결할 때 권한이 거부됨

IAM 자격 증명에 AWS MCP Server 권한 부여 리소스에 대한 signin:AuthorizeOAuth2Accesssignin:CreateOAuth2Token 권한이 있는지 확인합니다.

액세스 토큰 만료

대화형 권한 부여는 연결된 새로 고침 토큰이 유효한 상태로 유지되는 동안 액세스 토큰을 자동으로 새로 고칩니다. 새로 고침 토큰이 만료되었거나 취소된 경우 에이전트를 통해 다시 인증합니다.

비대화형 권한 부여의 경우 토큰 엔드포인트에서 새 액세스 토큰을 요청할 수 있습니다.

잘못된 대상 리소스

를 호출할 때 resource 파라미터가 지원되는 대상 서비스를 식별하는지 CreateOAuth2TokenWithIAM확인합니다. MCP Server의 경우 AWS AWS MCP Server 서비스 보안 주체를 사용합니다.

에이전트가 OAuth 클라이언트로 등록할 수 없음

승인된 에이전트만 동적 클라이언트 등록(DCR)을 통해 등록할 수 있습니다. MCP 호환 에이전트를 개발하는 경우 AWS 지원팀에 문의하십시오.

OAuth 조건 키 정책이 적용되지 않음

조건 키가 평가 중인 IAM 작업에 적용되는지 확인합니다. 일부 조건 키는 특정 OAuth 작업에서만 지원됩니다. 자세한 내용은 OAuth 2.0으로 로그인 단원을 참조하십시오.

세션이 취소되었지만 에이전트가 여전히 액세스할 수 있음

새로 고침 토큰을 즉시 취소하면 새 액세스 토큰이 발급되지 않습니다. 기존 액세스 토큰은 만료될 때까지 유효합니다(최대 1시간).

즉시 격리하려면 aws:SignInSessionArn 전역 조건 키를 사용하여 영향을 받는 로그인 세션과 연결된 요청을 거부하는 IAM 정책을 적용합니다.