InfoGrab DocsInfoGrab Docs

Amazon Bedrock AgentCore Gateway를 Teleport에 연결

요약

Teleport는 Teleport Application Service를 통해 MCP 서버에 대한 보안 액세스를 제공할 수 있습니다. Amazon Bedrock AgentCore Gateway는 Teleport를 인바운드 자격 증명 공급자로 신뢰하도록 구성됩니다.

Teleport는 Teleport Application Service를 통해 MCP 서버에 대한 보안 액세스를 제공할 수 있습니다.

이 가이드에서는 다음을 수행합니다:

  1. MCP 서버가 액세스할 수 있도록 Amazon Bedrock AgentCore Gateway 서비스를 구성합니다.
  2. Amazon Bedrock AgentCore Gateway MCP Server를 실행합니다.
  3. MCP 서버를 Teleport 클러스터에 등록하고 연결합니다.

작동 방식#

Amazon Bedrock AgentCore Gateway는 Teleport를 인바운드 자격 증명 공급자로 신뢰하도록 구성됩니다. Teleport는 클라이언트 요청을 인증하고 AgentCore Gateway로 프록시하며, Gateway는 요청을 대상 MCP 서버로 전달합니다.

사전 요구사항#

  • 실행 중인 Teleport (v18.7.0 or higher) 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.

  • `tsh` client.

    Installing \`tsh\` client
    1. Teleport 클러스터의 버전을 확인합니다. `tsh` client는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의 /v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다. teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:

      $ TELEPORT_DOMAIN=teleport.example.com:443
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. 사용 중인 플랫폼에 대한 지침에 따라 `tsh` client를 설치합니다:

Mac

     \`tsh\` client가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
     ```

     Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
 
     
Warning
       Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
       Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
       보장할 수 없습니다.
     

Windows - Powershell

     ```code
     $ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
     # Unzip the archive and move the \`tsh\` client to your %PATH%
     # NOTE: Do not place the \`tsh\` client in the System32 directory, as this can cause issues when using WinSCP.
     # Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
     ```
 
   

 
   

Linux

     Linux 설치판의 모든 Teleport 바이너리에는 \`tsh\` client가 포함되어 있습니다.  RPM/DEB
     패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
     [설치 페이지](../installation/installation.mdx)를 참조하세요.
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ cd teleport
     $ sudo ./install
     # Teleport binaries have been copied to /usr/local/bin
     ```
   

 
  • Amazon Bedrock AgentCore Gateway를 구성할 수 있는 권한
  • Teleport 애플리케이션 서비스를 실행하는 에이전트. 아직 설정하지 않았다면 시작하기 가이드를 따르세요.
  • MCP 서버에 접근할 수 있는 충분한 권한을 가진 Teleport 사용자(예: mcp-user 역할).

1/2단계. Amazon Bedrock AgentCore Gateway 구성#

Amazon Bedrock AgentCore 게이트웨이의 인바운드 인증 구성을 변경하려면 AWS 관리 콘솔에서 게이트웨이로 이동합니다. 인바운드 ID 섹션에서 편집 버튼을 클릭합니다.

인바운드 인증 유형으로 JSON Web Tokens (JWT) 사용을 선택하고 JWT 스키마 구성으로 기존 ID 공급자 구성 사용을 선택합니다. 게이트웨이 생성 후 수정할 수 없는 경우 새 게이트웨이를 생성해야 할 수 있습니다.

다음을 Discovery URL로 사용합니다:

https://teleport.example.com/.well-known/openid-configuration

teleport.example.com을 Teleport 클러스터 이름으로 교체합니다.

JWT 인증 구성의 **허용된 대상(Allowed audiences)**에 다음을 사용합니다:

mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp

https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp을 게이트웨이가 생성된 후 사용 가능한 게이트웨이 리소스 URL로 교체합니다. 이 값은 Teleport 애플리케이션을 생성하는 데 사용할 애플리케이션 URI이기도 합니다.

JWT 인증 구성허용된 클라이언트(Allowed clients) 등 다른 모든 설정은 선택하지 않아야 합니다.

게이트웨이 인바운드 ID

2/2단계. Teleport를 통한 연결#

Teleport 애플리케이션 서비스 구성에서 MCP 애플리케이션을 정의하거나 tctl 또는 Terraform을 사용하여 동적 등록으로 Teleport에 MCP 애플리케이션을 등록할 수 있습니다:

app_service:
  enabled: "yes"
  apps:
  - name: "bedrock-mcp"
    uri: "mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
    labels:
      env: dev
      service: "bedrock"
    rewrite:
      headers:
      - "Authorization: Bearer {{internal.id_token}}"

애플리케이션 서비스를 재시작합니다.

app-bedrock-mcp.yaml이라는 app 리소스 정의 파일을 생성합니다:

# app-bedrock-mcp.yaml
kind: app
version: v3
metadata:
  name: "bedrock-mcp"
  labels:
    env: dev
    service: "bedrock"
spec:
  uri: "mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
  rewrite:
    headers:
    - name: "Authorization"
      value: "Bearer {{internal.id_token}}"

다음으로 app 리소스를 생성합니다:

$ tctl create -f app-bedrock-app.yaml

terraform에서 teleport_app 리소스를 생성합니다:

resource "teleport_app" "bedrock" {
  version = "v3"
  metadata = {
    name = "bedrock-mcp"
    labels = {
      "teleport.dev/origin" = "dynamic"
      "env"                 = "dev"
      "service"             = "bedrock"
    }
  }

  spec = {
    uri = "mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
    rewrite = {
      headers = [{
        name  = "Authorization"
        value = "Bearer {{internal.id_token}}"
      }]
    }
  }
}

구성을 적용합니다:

$ terraform apply

MCP 서버와 모든 도구에 대한 액세스를 부여하려면 사전 설정된 mcp-user 역할을 Teleport 사용자에게 할당합니다.

선택적으로, 역할의 mcp.tools 목록을 조정하여 사용자가 액세스할 수 있는 MCP 도구를 제한할 수 있습니다. 예를 들어:

kind: role
version: v8
metadata:
  name: bedrock-mcp-readonly
spec:
  allow:
    app_labels:
      'service': 'bedrock'
    mcp:
      # 게이트웨이 대상에서 노출하는 MCP 도구를 기반으로 이 목록을 조정합니다.
      tools:
      - ^(get|query|list|search|find)_.*$

이제 애플리케이션이 tsh mcp ls에 나타날 때까지 기다린 다음, MCP 서버에 접근하도록 MCP 클라이언트를 구성하십시오. 예를 들면:

$ tsh mcp config bedrock-mcp --client-config claude

MCP 클라이언트를 구성한 후에는 teleport-mcp-bedrock-mcp에서 Amazon Bedrock AgentCore Gateway 관련 도구를 찾을 수 있습니다. 이제 이 도구들을 사용하여 MCP 클라이언트에서 Teleport를 통해 Amazon Bedrock AgentCore Gateway와 상호작용할 수 있습니다:

다음 단계#

Amazon Bedrock AgentCore Gateway를 Teleport에 연결

Teleport v18.9
원문 보기
요약

Teleport는 Teleport Application Service를 통해 MCP 서버에 대한 보안 액세스를 제공할 수 있습니다. Amazon Bedrock AgentCore Gateway는 Teleport를 인바운드 자격 증명 공급자로 신뢰하도록 구성됩니다.

Teleport는 Teleport Application Service를 통해 MCP 서버에 대한 보안 액세스를 제공할 수 있습니다.

이 가이드에서는 다음을 수행합니다:

  1. MCP 서버가 액세스할 수 있도록 Amazon Bedrock AgentCore Gateway 서비스를 구성합니다.
  2. Amazon Bedrock AgentCore Gateway MCP Server를 실행합니다.
  3. MCP 서버를 Teleport 클러스터에 등록하고 연결합니다.

작동 방식#

Amazon Bedrock AgentCore Gateway는 Teleport를 인바운드 자격 증명 공급자로 신뢰하도록 구성됩니다. Teleport는 클라이언트 요청을 인증하고 AgentCore Gateway로 프록시하며, Gateway는 요청을 대상 MCP 서버로 전달합니다.

사전 요구사항#

  • 실행 중인 Teleport (v18.7.0 or higher) 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.

  • `tsh` client.

    Installing \`tsh\` client
    1. Teleport 클러스터의 버전을 확인합니다. `tsh` client는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의 /v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다. teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:

      $ TELEPORT_DOMAIN=teleport.example.com:443
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. 사용 중인 플랫폼에 대한 지침에 따라 `tsh` client를 설치합니다:

Mac

     \`tsh\` client가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
     ```

     Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
 
     
Warning
       Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
       Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
       보장할 수 없습니다.
     

Windows - Powershell

     ```code
     $ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
     # Unzip the archive and move the \`tsh\` client to your %PATH%
     # NOTE: Do not place the \`tsh\` client in the System32 directory, as this can cause issues when using WinSCP.
     # Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
     ```
 
   

 
   

Linux

     Linux 설치판의 모든 Teleport 바이너리에는 \`tsh\` client가 포함되어 있습니다.  RPM/DEB
     패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
     [설치 페이지](../installation/installation.mdx)를 참조하세요.
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ cd teleport
     $ sudo ./install
     # Teleport binaries have been copied to /usr/local/bin
     ```
   

 
  • Amazon Bedrock AgentCore Gateway를 구성할 수 있는 권한
  • Teleport 애플리케이션 서비스를 실행하는 에이전트. 아직 설정하지 않았다면 시작하기 가이드를 따르세요.
  • MCP 서버에 접근할 수 있는 충분한 권한을 가진 Teleport 사용자(예: mcp-user 역할).

1/2단계. Amazon Bedrock AgentCore Gateway 구성#

Amazon Bedrock AgentCore 게이트웨이의 인바운드 인증 구성을 변경하려면 AWS 관리 콘솔에서 게이트웨이로 이동합니다. 인바운드 ID 섹션에서 편집 버튼을 클릭합니다.

인바운드 인증 유형으로 JSON Web Tokens (JWT) 사용을 선택하고 JWT 스키마 구성으로 기존 ID 공급자 구성 사용을 선택합니다. 게이트웨이 생성 후 수정할 수 없는 경우 새 게이트웨이를 생성해야 할 수 있습니다.

다음을 Discovery URL로 사용합니다:

https://teleport.example.com/.well-known/openid-configuration

teleport.example.com을 Teleport 클러스터 이름으로 교체합니다.

JWT 인증 구성의 **허용된 대상(Allowed audiences)**에 다음을 사용합니다:

mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp

https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp을 게이트웨이가 생성된 후 사용 가능한 게이트웨이 리소스 URL로 교체합니다. 이 값은 Teleport 애플리케이션을 생성하는 데 사용할 애플리케이션 URI이기도 합니다.

JWT 인증 구성허용된 클라이언트(Allowed clients) 등 다른 모든 설정은 선택하지 않아야 합니다.

게이트웨이 인바운드 ID

2/2단계. Teleport를 통한 연결#

Teleport 애플리케이션 서비스 구성에서 MCP 애플리케이션을 정의하거나 tctl 또는 Terraform을 사용하여 동적 등록으로 Teleport에 MCP 애플리케이션을 등록할 수 있습니다:

app_service:
  enabled: "yes"
  apps:
  - name: "bedrock-mcp"
    uri: "mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
    labels:
      env: dev
      service: "bedrock"
    rewrite:
      headers:
      - "Authorization: Bearer {{internal.id_token}}"

애플리케이션 서비스를 재시작합니다.

app-bedrock-mcp.yaml이라는 app 리소스 정의 파일을 생성합니다:

# app-bedrock-mcp.yaml
kind: app
version: v3
metadata:
  name: "bedrock-mcp"
  labels:
    env: dev
    service: "bedrock"
spec:
  uri: "mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
  rewrite:
    headers:
    - name: "Authorization"
      value: "Bearer {{internal.id_token}}"

다음으로 app 리소스를 생성합니다:

$ tctl create -f app-bedrock-app.yaml

terraform에서 teleport_app 리소스를 생성합니다:

resource "teleport_app" "bedrock" {
  version = "v3"
  metadata = {
    name = "bedrock-mcp"
    labels = {
      "teleport.dev/origin" = "dynamic"
      "env"                 = "dev"
      "service"             = "bedrock"
    }
  }

  spec = {
    uri = "mcp+https://your-mcp-gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp"
    rewrite = {
      headers = [{
        name  = "Authorization"
        value = "Bearer {{internal.id_token}}"
      }]
    }
  }
}

구성을 적용합니다:

$ terraform apply

MCP 서버와 모든 도구에 대한 액세스를 부여하려면 사전 설정된 mcp-user 역할을 Teleport 사용자에게 할당합니다.

선택적으로, 역할의 mcp.tools 목록을 조정하여 사용자가 액세스할 수 있는 MCP 도구를 제한할 수 있습니다. 예를 들어:

kind: role
version: v8
metadata:
  name: bedrock-mcp-readonly
spec:
  allow:
    app_labels:
      'service': 'bedrock'
    mcp:
      # 게이트웨이 대상에서 노출하는 MCP 도구를 기반으로 이 목록을 조정합니다.
      tools:
      - ^(get|query|list|search|find)_.*$

이제 애플리케이션이 tsh mcp ls에 나타날 때까지 기다린 다음, MCP 서버에 접근하도록 MCP 클라이언트를 구성하십시오. 예를 들면:

$ tsh mcp config bedrock-mcp --client-config claude

MCP 클라이언트를 구성한 후에는 teleport-mcp-bedrock-mcp에서 Amazon Bedrock AgentCore Gateway 관련 도구를 찾을 수 있습니다. 이제 이 도구들을 사용하여 MCP 클라이언트에서 Teleport를 통해 Amazon Bedrock AgentCore Gateway와 상호작용할 수 있습니다:

다음 단계#