MCP 액세스 제어
Teleport MCP 액세스를 위한 역할 기반 접근 제어(RBAC).
Teleport의 역할 기반 접근 제어(RBAC) 시스템을 사용하여 Teleport에 연결된 MCP 서버에 인증하기 위한 세분화된 권한을 설정할 수 있습니다. 역할 구성 # Teleport의 role 리소스는 MCP 액세스를 제어하기 위한 다음 옵션을 제공합니다: kind: role version: v8 metadata: name: mcp-developer spec: allow: # app_labels: 이 역할을 가진 사용자는 아래와 일치하는 레이블을 가진 # MCP 서버에 연결할 수 있습니다. app_labels: "env": "dev" # app_labels_expression: app_labels 필드와 동일한 목적을 가지는 선택적 필드이지만, # 레이블 매처 대신 술어 표현식을 지원합니다. app_labels_expression: 'labels["env"] == "staging"' # mcp: MCP 서버 관련 권한을 정의합니다. mcp: # tools: 이 역할에 허용된 도구 목록. # # 지정하지 않으면 어떤 도구도 허용되지 않습니다. # 각 항목은 리터럴 문자열, 글로브 패턴, 또는 정규 표현식 # ('^'로 시작하고 '$'로 끝나야 함)일 수 있습니다. 와일드카드 '*'는 # 모든 도구를 허용합니다. # 이 값 필드는 변수 보간도 지원합니다. tools: - search-files - slack_* - ^(get|list|read).*$ - " {{internal.mcp_tools}} " - " {{external.mcp_tools}} " deny: mcp: # tools: 이 역할에 거부된 도구 목록. tools: - slack_post_message Deny Rules 거부 규칙은 탐욕적으로 매칭됩니다. 위 예시에서 role.allow.mcp.tools 가 일치하더라도 slack_post_message 는 거부됩니다. 템플릿 변수 # 다른 역할 필드와 유사하게, app_labels 및 mcp 필드는 템플릿 변수를 지원합니다. external.xyz 특성은 외부 단일 로그인 공급자의 값으로 대체됩니다. OIDC의 경우 "xyz" 클레임 값으로 대체되고, SAML의 경우 "xyz" 어설션 값으로 대체됩니다. Teleport 역할에서 특성이 작동하는 방식에 대한 전체 정보는 액세스 제어 참조 를 참조하세요. 예를 들어, 사용자의 Okta mcp_tools 어설션에서 허용 도구를 할당하려는 경우 역할은 다음과 같이 보일 수 있습니다: spec: allow: mcp: tools: - " {{external.mcp_tools}} " {{internal.mcp_tools}} 변수는 원격 클러스터와 허용된 MCP 도구를 공유하는 것을 허용합니다. 루트 클러스터에서 연결하는 원격 사용자의 해당 속성으로 대체됩니다. 예를 들어, 루트 클러스터의 사용자가 다음과 같은 역할을 가지고 있다고 가정합니다: spec: allow: mcp: tools: - "slack_*" 리프 클러스터의 역할은 루트 클러스터에서 허용된 동일한 도구를 사용하도록
