Google Cloud MCP 서버와 Model Armor의 통합

이 문서에서는 모델 컨텍스트 프로토콜 (MCP) 도구와 서버를 노출하는 Google Cloud서비스에 요청을 보낼 때 데이터를 보호하고 콘텐츠를 안전하게 유지하도록 Model Armor를 구성하는 방법을 보여줍니다.

Model Armor는 MCP 도구 호출과 응답을 정리하여 에이전트 AI 애플리케이션을 보호합니다. 이 프로세스는 프롬프트 인젝션 및 민감한 정보 공개와 같은 위험을 완화합니다.

시작하기 전에

  1. 사용하려는 MCP 서버를 사용 설정합니다. 자세한 내용은 MCP 서버 사용 설정 또는 중지를 참고하세요.
  2. 프로젝트에서 Model Armor API를 사용 설정합니다. 자세한 내용은 API 사용 설정을 참고하세요.
  3. 데이터 상주 요구사항이 있는 경우 다음 절차에서 Cloud Logging을 사용 설정하기 전에 규정을 준수하는 스토리지 위치로 로그를 라우팅하도록 로그 싱크를 구성해야 합니다. 로그 싱크를 구성하면 Model Armor 로그가 적절한 리전 버킷에 저장됩니다. 자세한 내용은 로그 리전화를 참고하세요.

Google 및 Google Cloud 원격 MCP 서버 보호 구성

MCP 도구 호출과 응답을 보호하려면 Model Armor 최소 기준 설정을 만든 다음 프로젝트에 MCP 콘텐츠 보안을 사용 설정합니다. 최소 기준 설정은 프로젝트 전체에 적용되는 최소 보안 필터를 정의합니다. 이 구성은 프로젝트 내의 모든 MCP 도구 호출 및 응답에 일관된 필터 집합을 적용합니다.

  1. MCP 삭제가 사용 설정된 Model Armor 최소 기준 설정을 설정합니다. 자세한 내용은 Model Armor 최소 기준 설정 구성을 참고하세요.

    다음 명령어 예를 참고하세요.

    gcloud model-armor floorsettings update \
    --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
    --enable-floor-setting-enforcement=TRUE \
    --add-integrated-services=GOOGLE_MCP_SERVER \
    --google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
    --enable-google-mcp-server-cloud-logging \
    --malicious-uri-filter-settings-enforcement=ENABLED \
    --add-rai-settings-filters='[{"confidenceLevel": "HIGH", "filterType": "DANGEROUS"}]'

    PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

    다음 설정을 참고하세요.

    • INSPECT_AND_BLOCK: Google MCP 서버의 콘텐츠를 검사하고 필터와 일치하는 프롬프트와 대답을 차단하는 적용 유형입니다.
    • ENABLED: 필터 또는 시행을 사용 설정하는 설정입니다.
    • HIGH: 책임감 있는 AI - 위험 필터 설정의 신뢰 수준입니다. 이 설정을 수정할 수 있지만 값이 낮으면 거짓양성이 더 많이 발생할 수 있습니다. 자세한 내용은 최소 기준 설정 구성을 참고하세요.
  2. 프로젝트에서 원격 MCP 서버에 Model Armor 보호를 사용 설정합니다.

    gcloud beta services mcp content-security add modelarmor.googleapis.com --project=PROJECT_ID

    PROJECT_ID를 Google Cloud프로젝트 ID로 바꿉니다. 이 명령어를 실행하면 호출과 응답이 어디에서 시작되는지와 관계없이 Model Armor가 프로젝트의 모든 MCP 도구 호출과 응답을 정리합니다.

  3. Google MCP 트래픽이 Model Armor로 전송되는지 확인하려면 다음 명령어를 실행합니다.

    gcloud beta services mcp content-security get --project=PROJECT_ID
    

    PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

Model Armor 보호 확인

MCP 서버에 Model Armor 보호를 구성한 후 차단되어야 하는 콘텐츠가 포함된 요청을 보내고 Model Armor가 이를 차단하는지 확인하여 작동하는지 확인할 수 있습니다. 다음 단계에서는 Google 및 Google Cloud 원격 MCP 서버 보호 구성에 설명된 대로 모델 아머의 로깅을 사용 설정했다고 가정합니다.

  1. Model Armor 보호를 사용 설정한 프로젝트에서 매개변수 중 하나에 유해한 값이 있는 MCP 도구를 호출합니다. 예를 들어 악성 URI 필터를 사용 설정한 경우 http://testsafebrowsing.appspot.com/s/phishing.html과 같은 매개변수에 피싱 테스트 URL을 포함합니다.
  2. MCP 도구 호출이 차단되었는지 확인합니다. MCP 서버와 클라이언트에 따라 보안 정책에 의해 요청이 차단되었음을 나타내는 오류 또는 빈 응답이 표시될 수 있습니다.
  3. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  4. 쿼리 창에 다음 쿼리를 입력합니다.

    resource.type="model-armor_managed_service"
    logName="projects/PROJECT_ID/logs/modelarmor.googleapis.com%2Fdetection"
    

    PROJECT_ID를 프로젝트 ID로 바꿉니다.

  5. 쿼리 실행을 클릭합니다.

  6. 쿼리 결과 섹션에서 결과를 검토합니다. 모델 아머가 요청을 차단한 경우 감지된 위협(예: MALICIOUS_URI_DETECTED)을 자세히 설명하는 로그 항목이 표시됩니다.

프로젝트에서 Model Armor 사용 중지

Google Cloud 프로젝트에서 Model Armor를 사용 중지하려면 다음 명령어를 실행합니다.

gcloud beta services mcp content-security remove modelarmor.googleapis.com \
    --project=PROJECT_ID

PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

지정된 프로젝트의 Google MCP 트래픽은 Model Armor에서 스캔하지 않습니다.

Model Armor로 MCP 트래픽 스캔 사용 중지

프로젝트에서 Model Armor를 사용하고 Model Armor로 Google MCP 트래픽 스캔을 중지하려면 다음 명령어를 실행하세요.

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

Model Armor는 프로젝트에서 MCP 트래픽을 스캔하지 않습니다.

다음 단계