App Server V3 참조
Kind: app_server Version: v3 app_server 리소스는 Teleport에 등록된 애플리케이션을 나타냅니다. Teleport 애플리케이션 서비스는 두 가지 상황에서 app_server를 생성합니다:
Kind: app_server
Version: v3
app_server 리소스는 Teleport에 등록된 애플리케이션을 나타냅니다.
Teleport 애플리케이션 서비스는 두 가지 상황에서 app_server를 생성합니다:
- 처음 시작할 때 구성 파일에서 대상 애플리케이션에 관한 정보를 읽을 때.
- 동적 리소스 감시자와 일치하는 Teleport 백엔드에서 동적으로 등록된
app리소스를 가져올 때.
단일 애플리케이션에 대해 여러 app_server 인스턴스가 있을 수 있으며, 각각은 애플리케이션을 프록시하는 다른 Teleport 애플리케이션 서비스 인스턴스에 해당합니다. Teleport 애플리케이션 서비스의 고가용성에 대한 자세한 내용을 읽어보세요. app 리소스의 참조 가이드를 읽어보세요.
최상위 필드#
예시:
kind: "string"
sub_kind: "string"
version: "string"
metadata: # [...]
spec: # [...]
scope: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| kind | 앱 서버 리소스 종류입니다. 항상 "app_server"입니다. | string |
| metadata | 앱 서버 메타데이터입니다. | Metadata |
| scope | 할당된 이후 변경할 수 없는 서버의 광고 범위입니다. | string |
| spec | 앱 서버 spec입니다. | App Server Spec V3 |
| sub_kind | 선택적 리소스 하위 종류입니다. | string |
| version | 리소스 버전입니다. | 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 세션 이름이 아이덴티티의 사용자 이름이 됩니다. 이 값은 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 | Account ID는 AWS가 계정에 할당한 ID입니다. | string |
| permission_sets | 지정된 계정에서 사용 가능한 권한 집합을 나열합니다. | []Identity Center Permission Set |
App Server Spec V3#
앱 액세스 서버 spec입니다.
예시:
version: "string"
hostname: "string"
host_id: "string"
rotation: # [...]
app: # [...]
proxy_ids:
- "string"
- "string"
- "string"
relay_group: "string"
relay_ids:
- "string"
- "string"
- "string"
component_features: # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| app | 이 앱 서버가 프록시하는 앱입니다. | App V3 |
| component_features | Component_features는 이 앱 서버가 지원하는 기능을 포함합니다. | Component Features |
| host_id | 앱 서버 호스트 uuid입니다. | string |
| hostname | 앱 서버 호스트 이름입니다. | string |
| proxy_ids | 이 서버가 연결될 것으로 예상되는 프록시 ID 목록입니다. | []string |
| relay_group | 서버가 연결된 Relay 그룹의 이름입니다. | string |
| relay_ids | 서버가 연결된 Relay 호스트 ID 목록입니다. | []string |
| rotation | 앱 서버 CA 교체 정보를 포함합니다. | Rotation |
| version | 서버가 실행 중인 Teleport 버전입니다. | string |
App Spec V3#
AppV3 리소스 spec입니다.
예시:
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 | 앱의 교차 출처 리소스 공유(CORS) 정책을 정의합니다. | 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 앱 액세스에만 해당됩니다. 있는 경우 애플리케이션은 Cloud API에 액세스하기 위해 앰비언트 자격 증명 대신 통합의 자격 증명을 사용해야 합니다. | 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이 앱 spec에 명시적으로 설정된 경우 이 값을 true로 설정하면 웹 UI에서 해당 공개 주소가 덮어씌워집니다. |
Boolean |
App V3#
앱 리소스를 나타냅니다.
예시:
kind: "string"
sub_kind: "string"
version: "string"
metadata: # [...]
spec: # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| kind | 앱 리소스 종류입니다. 항상 "app"입니다. | string |
| metadata | 앱 리소스 메타데이터입니다. | Metadata |
| spec | 앱 리소스 spec입니다. | App Spec V3 |
| sub_kind | 선택적 리소스 하위 종류입니다. | string |
| version | 리소스 버전입니다. 반드시 지정해야 합니다. 지원되는 값: v3. |
string |
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 | Allow_credentials는 자격 증명이 허용되는지 여부를 나타냅니다. | Boolean |
| allowed_headers | Allowed_headers는 앱에 액세스할 때 사용할 수 있는 헤더를 지정합니다. | []string |
| allowed_methods | Allowed_methods는 앱에 액세스할 때 허용되는 메서드를 지정합니다. | []string |
| allowed_origins | Allowed_origins는 앱에 액세스할 수 있는 출처를 지정합니다. | []string |
| exposed_headers | Exposed_headers는 브라우저의 스크립트에서 사용할 수 있는 헤더를 나타냅니다. | []string |
| max_age | Max_age는 사전 요청 결과를 캐시할 수 있는 기간(초)을 나타냅니다. | number |
Command Label V2#
호스트 이름 등 명령을 실행하여 생성된 출력을 값으로 갖는 레이블입니다.
예시:
period: # [...]
command:
- "string"
- "string"
- "string"
result: "string"
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| command | 실행할 명령입니다. | []string |
| period | 명령 실행 간격입니다. | Duration |
| result | 표준 출력을 캡처합니다. | string |
Component Feature ID#
Teleport 컴포넌트가 지원하는 특정 기능의 식별자입니다.
Component Features#
특정 Teleport 컴포넌트가 지원하는 기능 집합을 나타냅니다.
예시:
features:
- # [...]
- # [...]
- # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| features | Features는 지원되는 기능 식별자 목록입니다. | []Component Feature ID |
Duration#
사용자 지정 마샬/언마샬을 설정하기 위한 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: # 설명 참조
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 |
Rotation#
인증 기관 교체 상태입니다.
예시:
state: "string"
phase: "string"
mode: "string"
current_id: "string"
started: # 설명 참조
grace_period: # [...]
last_rotated: # 설명 참조
schedule: # [...]
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| current_id | 교체 시도를 구분하기 위한 교체 작업의 ID입니다. | string |
| grace_period | 이전 CA와 새 CA 모두 확인 목적으로 유효하지만 새 CA만 인증서를 발급하는 기간입니다. | Duration |
| last_rotated | 완료된 교체의 마지막 시간을 지정합니다. | |
| mode | 수동 또는 자동 교체 모드를 설정합니다. | string |
| phase | 현재 교체 단계입니다. | string |
| schedule | 교체 일정 - 자동 모드에서 단계를 전환하는 데 사용됩니다. | Rotation Schedule |
| started | 교체 상태가 "in_progress"인 경우 교체가 시작된 시간으로 설정됩니다. | |
| state | "init" 또는 "in_progress" 중 하나일 수 있습니다. | string |
Rotation Schedule#
여러 단계에 대한 시간 전환을 설정하는 교체 일정입니다.
예시:
update_clients: # 설명 참조
update_servers: # 설명 참조
standby: # 설명 참조
| 필드 이름 | 설명 | 타입 |
|---|---|---|
| standby | "Standby" 단계로 전환하는 시간을 지정합니다. | |
| update_clients | "Update clients" 단계로 전환하는 시간을 지정합니다. | |
| update_servers | "Update servers" 단계로 전환하는 시간을 지정합니다. |
