View a markdown version of this page

MCP 거버넌스 전략 - AWS 권장 가이드

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

MCP 거버넌스 전략

MCP가 조직에 제공하는 또 다른 중요한 기능은 중앙 집중식 거버넌스를 지원하는 것입니다. MCP 거버넌스 전략은 MCP 서버와 MCP 서버가 액세스하는 리소스 모두에 대한 인증 및 권한 부여를 해결해야 합니다. 또한 다운스트림 리소스를 보호하기 위한 속도 제한, 도구 사용 및 성능을 모니터링하기 위한 운영 지표, MCP 서버의 배포 및 배포 관리를 해결해야 합니다.

인증 및 권한 부여

인증 및 권한 부여 전략에서 가장 중요한 부분 중 하나는 MCP 서버에서 다운스트림 리소스 액세스를 관리하는 것입니다. 사용자가 에이전트를 호출하면 인증 및 권한 부여가 수행되어 사용자에게 에이전트를 호출할 권한이 있는지 확인합니다. 그런 다음 에이전트는 MCP 서버에서 특정 도구를 호출하도록 오케스트레이션합니다. 도구별로 액세스를 승인하는 방법을 결정해야 합니다.

한 가지 옵션은 사용자 동의 또는 상호 작용이 필요하지 않은 machine-to-machine 권한 부여입니다. 예를 들어 시간 기반 에이전트 호출은 MCP 서버를 사용하여 애플리케이션에서 로그를 수집하고 분석합니다. 이 시나리오에서 에이전트는 지정된 데이터에 액세스할 수 있는 사전 권한이 있습니다. 두 번째 옵션은 사용자가 사용자별 데이터 및 리소스에 액세스하는 데 동의하는 사용자 위임 액세스입니다.

다음 표에는 인증 및 권한 부여 패턴이 나와 있습니다.

팩터

사용자 위임 액세스

Machine-to-machine

데이터 소유권

데이터에 대한 사용자별 권한 부여

시스템 또는 조직 전체의 데이터

사용자 상호 작용

사용자가 있고 동의할 수 있음

사용자 상호 작용 없음

작업 타이밍

대화형 또는 실시간

배경, 예약 또는 배치

권한 범위

권한은 사용자마다 다릅니다.

에이전트 수준에서 일관된 권한

사용자 위임 액세스에는 신중한 구현이 필요하며 보안 팀과 함께 개발해야 합니다. 에이전트는 LLM이 선택한 도구와 추가 권한이 필요한지 여부를 평가할 수 있어야 합니다. MCP 도구에는 인증 및 권한 부여 요구 사항과 액세스 토큰을 검색할 위치를 나타내는 설명이 포함되어야 합니다. 클라이언트 애플리케이션은 중간 인증 요청을 지원해야 하며, MCP 클라이언트는 각 도구 호출에 대해 검색된 자격 증명을 에이전트에 다시 제공해야 합니다.

MCP 도구에 항상 외부 기능에 액세스하기 위한 자체 토큰이 있고 액세스가 로깅 및 감사되는지 확인해야 합니다. 사용자 자격 증명은 에이전트 시스템을 통해 전파되어서는 안 됩니다. 예를 들어 MCP 서버는 에이전트를 호출하는 데 사용된 데이터에 액세스하는 데 동일한 토큰을 사용해서는 안 됩니다. 다운스트림 호출은 명시적으로 범위가 지정되고 용도에 따라 생성된 토큰을 사용해야 합니다. 이렇게 하면 작업을 대신하여 의도하지 않은 데이터 액세스를 방지하는 추가 가드레일을 제공할 수 있습니다. 또한 할루시네이션이 의도하지 않은 결과를 생성하는 것을 방지하는 데 도움이 될 수 있습니다. 전체 관리자 권한이 있는 사용자가 에이전트에게 사전 프로덕션에 사용할 프로덕션 데이터베이스를 복제하도록 요청한다고 가정해 보겠습니다. 이렇게 하려면 사용자에게 READCREATE 권한만 필요합니다. LLM이이 요청의 일부로 이전 데이터베이스를 정리해야 한다고 생각한다고 가정해 보겠습니다. 사용자의 자격 증명을 재사용하면 사용자의 원래 자격 증명에 DELETE 권한이 있기 때문에 성공할 수 있습니다. 대신 MCP 서버가 READCREATE 권한만 있는 요청에 의도적으로 범위가 지정된 토큰을 사용하는 경우 프로덕션 데이터베이스를 삭제하려는 시도가 실패합니다.

Amazon Bedrock AgentCore 자격 증명을 사용하여 이러한 패턴을 구현할 수 있습니다. MCP 서버에서 호스팅하는 도구를 나열하고 호출할 수 있는 권한이 MCP 서버가 노출하는 외부 기능에 대한 권한을 암시하는지 여부를 의도적으로 선택해야 합니다. 이 자격 증명 흐름은 MCP 서버에서 리소스로, 그리고 다시 사용자에게 사용 중인 인증 및 권한 부여 서비스의 유형에 따라 달라집니다. MCP 서버의 대규모 처리 방법을 결정해야 합니다.

인증 및 권한 부여 패턴을 설계할 때 액세스 중인 각 도구에 대해 서로 다른 액세스 토큰을 검색하는 토큰 격리 메커니즘을 구현합니다. 도구와 서버 간에 토큰을 재사용하지 마십시오. AgentCore 자격 증명은이 토큰 격리 기능을 제공합니다. 워크로드 토큰(machine-to-machine 인증용)과 사용자 토큰(사용자 위임 액세스용)을 모두 자동으로 관리하여 적절한 분리를 보장하고 권한 에스컬레이션을 방지합니다. 이는 원격 MCP 서버 또는 MCP 게이트웨이를 통합할 때 특히 중요합니다.

MCP 인증 및 권한 부여 모범 사례

  • 토큰 분리 - 호출자의 보유자 토큰을 다운스트림 서비스에 전달하지 마십시오. aud(대상) 필드가 토큰을 수신하는 서버와 일치하는지 확인합니다. 대상 클레임은 토큰이 의도한 서비스를 지정하여 여러 MCP 서버에서 무단 토큰 재사용을 방지합니다.

  • 액세스 접근 방식 선택 - MCP 서버가 제공하는 각 도구에 대해 machine-to-machine 액세스와 사용자 위임 액세스 중에서 선택합니다. 동일한 인증 패턴을 사용하는 동일한 MCP 서버에서 도구를 그룹화하는 것이 좋습니다.

로드 제어

분산 시스템과 마찬가지로 MCP 서버 플릿의 부하를 제어하는 방법을 고려해야 합니다. 먼저 MCP 서버에서 속도 제한을 구현할지 여부와 제한을 구현할 위치를 고려합니다. 속도 제한을 구현하지 않기로 선택한 경우 다운스트림 리소스에서 수행하는 속도 제한을 전달합니다. 많은 시스템은 사용자 또는 계정 ID와 같은 요청 속성을 기반으로 제한을 평가하도록 선택합니다. 다운스트림 서비스로 전송된 요청이 동일한 속성을 포함하는지 확인하여 여러 사용자가 다른 사용자의 부하로 인해 영향을 받지 않도록 합니다.

속도 제한을 구현하기로 선택한 경우 권장되는 접근 방식은 MCP 서버 수준에서 기본 속도 제한을 구현하는 것입니다. 백엔드 서비스는 보조 보호를 제공하고 에이전트는 속도 제한 피드백을 기반으로 동작을 조정합니다. 속도 제한이 MCP 서버당인지 도구당인지 고려합니다. MCP당 서버 속도 제한은 다중 테넌트 환경에서 MCP 서버 플릿 및 서비스를 보호하는 데 도움이 됩니다. 그러나 이는 매우 거칠 수 있습니다. 도구당 속도 제한은 충분히 속도를 제한하지 않을 수 있는 압도적인 다운스트림 리소스를 방지하도록 설계되었습니다. 도구가 여러 APIs를 호출하는 경우 해당 APIs에서 허용하는 최저 속도에 맞게 속도 제한을 설정해야 합니다.

HTTP 헤더의 전달 속도 제한 정보는 사용자와 자동화된 시스템이 자체 요청 속도 및 재시도 전략을 관리하는 데 도움이 되는 유용한 지표일 수도 있습니다. 예를 들어 다음 예제와 같이 이러한 헤더를 MCP 서버에서 에이전트로 다시 보낼 수 있습니다.

X-RateLimit-Limit: 100 X-RateLimit-Remaining: 45 X-RateLimit-Reset: 1640995200

또한 단일 고객이 속도 제한을 초과하지 않지만 로드가 시스템 성능에 영향을 미치는 경우 전체 서비스를 보호하기 위해 로드 셰딩을 고려합니다.

로드 제어 모범 사례

  • 속도 제한 접근 방식 선택 - 다운스트림 리소스 사용 또는 MCP 서버 및 도구 사용을 기반으로 개별 사용자의 속도를 제한하도록 계획합니다.

  • 로드 셰딩 고려 - 단일 또는 소수의 고객이 구동하지 않는 일반적인 오버로드로부터 MCP 서버 플릿을 보호합니다.

운영 지표

MCP 구현을 위해 캡처할 주요 지표는 고객이 제공하는 고객 경험에 초점을 맞춰야 합니다. 이러한 지표에는 일반적으로 토큰 사용, 도구 선택 정확도, 에이전트에 등록된 도구 수, 도구 지연 시간이 포함됩니다. 예를 들어 각 도구에서 반환된 출력 토큰을 모니터링하면 도구가 컨텍스트 기간 사용에 대한 임계값을 초과할 때 경보를 설정할 수 있습니다. 도구가 해당 임계값을 초과하면 도구의 동작을 검토하는 것이 좋습니다. 이는 MCP 도구 설계 전략과도 관련이 있습니다. 도구 선택 정확도 지표는 에이전트가 지정된 작업에 적합한 도구를 얼마나 잘 선택하는지 나타내는 반면, 실행 속도와 성공률은 성능 병목 현상과 신뢰성 문제를 강조합니다.

예를 들어 도구 선택 및 도구 사용 정확도 지표를 평가하기 위해 AWS 팀은 회귀 테스트를 위한 골든 데이터 세트를 생성했습니다. 데이터 세트는 사용자 쿼리 시 과거 API 호출 로그의 LLMs 사용하여 합성 방식으로 생성되었습니다. 사전 정의된 도구 선택 및 도구 사용 지표(예: 도구 선택 정확도, 도구 파라미터 정확도, 다중 턴 함수 호출 정확도)를 사용하여 AWS 팀은 AI 에이전트가 적절한 도구를 올바르게 식별하고, 파라미터를 정확한 값으로 채우고, 대화형 턴 전반에 걸쳐 일관된 도구 호출 시퀀스를 유지하는 능력을 객관적으로 평가할 수 있습니다.

에이전트에 등록된 도구 수에 대한 지표를 측정하면 MCP 서버에서 제공하는 사용 가능한 도구의 변경 사항뿐만 아니라 잠재적인 컨텍스트 기간 관리 문제를 식별하는 데 도움이 될 수 있습니다. MCP 서버 및 도구에 대한 사용자 경험을 나타내는 운영 지표를 정기적으로 검토해야 합니다.