App V3 참조
Kind: app Version: v3 app 리소스는 Teleport에 동적으로 등록된 애플리케이션을 나타냅니다. Teleport Application Service를 동적 리소스 감시자로 구성하면, 해당 서비스는 구성된 필터와 일치하는 app 리소스를 Teleport 백엔드에서 조회합니다.
Kind: app
Version: v3
app 리소스는 Teleport에 동적으로 등록된 애플리케이션을 나타냅니다.
Teleport Application Service를 동적 리소스 감시자로 구성하면, 해당 서비스는 구성된 필터와 일치하는 app 리소스를 Teleport 백엔드에서 조회합니다. 일치하는 각 app에 대해 Application Service는 대상 애플리케이션을 프록시하도록 구성된 app_server 리소스를 생성합니다.
app 리소스 사용에 대한 자세한 내용은 동적 앱 등록을 참조하세요.
app_server 리소스에 대한 자세한 내용은 레퍼런스 가이드를 참조하세요.
최상위 필드#
예시:
kind: "string"
sub_kind: "string"
version: "string"
metadata: # [...]
spec: # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| kind | 앱 리소스 종류. 항상 "app"입니다. | string |
| metadata | 앱 리소스 메타데이터. | Metadata |
| spec | 앱 리소스 스펙. | App Spec V3 |
| sub_kind | 선택적 리소스 서브 종류. | string |
| version | 리소스 버전. 반드시 지정해야 합니다. 지원 값: v3. |
string |
App AWS#
AWS 애플리케이션의 추가 옵션을 포함합니다.
예시:
external_id: "string"
roles_anywhere_profile: # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| external_id | 이 앱에서 역할을 수임할 때 사용하는 AWS External ID. | string |
| roles_anywhere_profile | 이 애플리케이션과 연관된 IAM Roles Anywhere 필드를 포함합니다. AWS IAM Roles Anywhere 프로파일을 Teleport 앱으로 동기화할 때 설정됩니다. | App AWS Roles Anywhere Profile |
App AWS Roles Anywhere Profile#
AWS IAM Roles Anywhere 프로파일을 나타내는 필드를 포함합니다.
예시:
profile_arn: "string"
accept_role_session_name: true
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| accept_role_session_name | 이 Roles Anywhere 프로파일이 사용자 정의 역할 세션 이름을 허용하는지 여부. 지원하지 않으면 AWS 세션 이름은 X.509 인증서의 일련번호가 됩니다. 지원하면 AWS 세션 이름은 ID의 사용자 이름이 됩니다. 출처: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_ProfileDetail.html / acceptRoleSessionName | Boolean |
| profile_arn | 이 Teleport 앱을 생성한 AWS IAM Roles Anywhere 프로파일 ARN. | string |
App Identity Center#
AWS Identity Center 계정 애플리케이션에 대한 정보를 캡슐화합니다.
예시:
account_id: "string"
permission_sets:
- # [...]
- # [...]
- # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| account_id | AWS가 할당한 계정 ID. | string |
| permission_sets | 주어진 계정에서 사용 가능한 권한 세트 목록. | []Identity Center Permission Set |
App Spec V3#
AppV3 리소스 스펙.
예시:
uri: "string"
public_addr: "string"
dynamic_labels:
"string": # [...]
"string": # [...]
"string": # [...]
insecure_skip_verify: true
rewrite: # [...]
aws: # [...]
cloud: "string"
UserGroups:
- "string"
- "string"
- "string"
integration: "string"
required_app_names:
- "string"
- "string"
- "string"
cors: # [...]
identity_center: # [...]
tcp_ports:
- # [...]
- # [...]
- # [...]
use_any_proxy_public_addr: true
mcp: # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| UserGroups | 이 앱과 연관된 사용자 그룹 ID 목록. | []string |
| aws | AWS 애플리케이션의 추가 옵션 포함. | App AWS |
| cloud | 앱이 나타내는 클라우드 인스턴스 식별. | string |
| cors | 앱의 Cross-Origin Resource Sharing 설정 정의. | CORS Policy |
| dynamic_labels | 앱의 명령 레이블. | map[string]Command Label V2 |
| identity_center | AWS IAM Identity Center에 특화된 정보를 캡슐화합니다. Identity Center 계정 앱에만 유효합니다. | App Identity Center |
| insecure_skip_verify | 앱의 TLS 인증서 검증을 비활성화합니다. | Boolean |
| integration | 이 애플리케이션에 접근하기 위해 사용해야 하는 통합 이름. AWS 앱 접근에만 적용됩니다. 설정된 경우 클라우드 API 접근 시 주변 자격 증명 대신 Integration의 자격 증명을 사용해야 합니다. | string |
| mcp | MCP 서버 관련 구성 포함. | MCP |
| public_addr | 애플리케이션에 접근할 수 있는 공개 주소. | string |
| required_app_names | 이 앱이 작동하기 위해 필요한 앱 이름 목록. 여기에 나열된 앱은 인증 리디렉션 흐름의 일부가 되어 이 앱과 함께 인증됩니다. | []string |
| rewrite | 요청 및 응답에 적용할 재작성 규칙 목록. | Rewrite |
| tcp_ports | 앱 에이전트가 연결을 전달할 수 있는 포트 및 포트 범위 목록. TCP 앱 접근에만 적용됩니다. 이 필드가 비어 있지 않으면 URI에 포트 번호가 없고 tcp 프로토콜로 시작해야 합니다. | []Port Range |
| uri | 웹 앱 엔드포인트. | string |
| use_any_proxy_public_addr | 요청이 시작된 프록시 공개 주소를 기반으로 이 앱의 fqdn을 재구성합니다. 프록시에 여러 공개 주소가 있고 그 중 어느 것에서도 앱에 접근하려면 true로 설정하세요. 앱 스펙에 public_addr이 명시적으로 설정된 경우, 이 값을 true로 설정하면 웹 UI에서 해당 공개 주소가 덮어써집니다. |
Boolean |
CORS Policy#
AppSpecV3의 CORS 정책을 정의합니다.
예시:
allowed_origins:
- "string"
- "string"
- "string"
allowed_methods:
- "string"
- "string"
- "string"
allowed_headers:
- "string"
- "string"
- "string"
allow_credentials: true
max_age: 1
exposed_headers:
- "string"
- "string"
- "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| allow_credentials | 자격 증명 허용 여부를 나타냅니다. | Boolean |
| allowed_headers | 앱에 접근할 때 사용할 수 있는 헤더를 지정합니다. | []string |
| allowed_methods | 앱에 접근할 때 허용되는 메서드를 지정합니다. | []string |
| allowed_origins | 앱에 접근할 수 있는 출처를 지정합니다. | []string |
| exposed_headers | 브라우저를 통해 스크립트에 제공되는 헤더를 나타냅니다. | []string |
| max_age | 사전 요청(preflight request)의 결과를 캐시할 수 있는 시간(초)을 나타냅니다. | number |
Command Label V2#
명령 실행으로 생성된 출력 결과를 값으로 갖는 레이블(예: hostname)
예시:
period: # [...]
command:
- "string"
- "string"
- "string"
result: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| command | 실행할 명령 | []string |
| period | 명령 실행 사이의 시간 | Duration |
| result | 표준 출력을 캡처 | string |
Duration#
사용자 정의 marshal/unmarshal을 설정하기 위한 duration 래퍼
Header#
프록시된 애플리케이션으로 전달되는 단일 HTTP 헤더를 나타냅니다.
예시:
name: "string"
value: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| name | HTTP 헤더 이름. | string |
| value | HTTP 헤더 값. | string |
Identity Center Permission Set#
IdentityCenter 계정 앱에서 사용 가능한 권한 세트를 정의합니다.
예시:
arn: "string"
name: "string"
assignment_name: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| arn | 권한 세트의 완전한 형태의 ARN. | string |
| assignment_name | 포함된 계정에 이 권한이 할당됨을 나타내는 Teleport 계정 할당 리소스의 ID. | string |
| name | 권한 세트의 사람이 읽을 수 있는 이름. | string |
MCP#
MCP 서버 관련 구성을 포함합니다.
예시:
command: "string"
args:
- "string"
- "string"
- "string"
run_as_host_user: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| args | 명령과 함께 실행할 인수. | []string |
| command | stdio 기반 MCP 서버를 시작하기 위한 명령. | string |
| run_as_host_user | 명령이 실행될 호스트 사용자 계정. stdio 기반 MCP 서버에 필요합니다. | string |
Metadata#
리소스 메타데이터
예시:
name: "string"
description: "string"
labels:
"string": "string"
"string": "string"
"string": "string"
expires: # See description
revision: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| description | 객체 설명 | string |
| expires | 시스템의 모든 리소스에 설정할 수 있는 전역 만료 시간 헤더. | |
| labels | 레이블 세트 | map[string]string |
| name | 객체 이름 | string |
| revision | 시간에 따른 리소스 버전을 추적하는 불투명 식별자. 클라이언트는 이 값을 무시하고 변경하지 말아야 하지만, 리소스를 업데이트할 때 revision을 반환해야 합니다. | string |
Port Range#
TCP 앱의 포트 범위를 설명합니다. 범위는 Port에서 시작하여 EndPort에서 끝납니다. PortRange는 Port 필드가 포트이고 EndPort 필드가 0인 단일 포트를 설명하는 데 사용할 수 있습니다.
예시:
port: 1
end_port: 1
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| end_port | 범위의 끝(포함)을 설명합니다. 설정된 경우 2에서 65535 사이여야 하며, 포트 범위를 설명할 때 Port보다 커야 합니다. 생략되거나 0으로 설정되면 포트 범위가 단일 포트를 정의함을 의미합니다. | number |
| port | 범위의 시작을 설명합니다. 1에서 65535 사이여야 합니다. | number |
Rewrite#
요청 및 응답에 적용할 재작성 규칙 목록.
예시:
redirect:
- "string"
- "string"
- "string"
headers:
- # [...]
- # [...]
- # [...]
jwt_claims: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| headers | 요청을 애플리케이션으로 전달할 때 주입할 헤더 목록. | []Header |
| jwt_claims | JWT 토큰에 역할/트레이트 포함 여부를 구성합니다. | string |
| redirect | "Location" 헤더에 나타나는 경우 애플리케이션의 공개 주소로 재작성될 호스트 목록을 정의합니다. | []string |
