머신 및 워크로드 아이덴티티 소개
Teleport 머신 및 워크로드 아이덴티티는 인프라 내 비인간 엔티티를 위한 두 가지 상호 보완적인 기능 집합을 제공합니다: Teleport 클러스터 내에 루트 인증 기관을 구성하여 워크로드에 수명이 짧은 JWT 및 X509 인증서를 발급합니다.
Teleport 머신 및 워크로드 아이덴티티는 인프라 내 비인간 엔티티를 위한 두 가지 상호 보완적인 기능 집합을 제공합니다:
- 머신을 위한 Zero Trust Access: CI/CD 파이프라인과 같은 머신이 Teleport 클러스터에 안전하게 인증하여 보호된 리소스에 액세스하고 클러스터 자체를 구성할 수 있도록 합니다.
- 유연한 Workload Identities: SPIFFE 표준과 호환되는 수명이 짧은 암호화 ID를 워크로드에 발급하여 안전한 워크로드 간 통신 및 서드파티 API 인증을 가능하게 합니다.
서비스 간 안전한 인증#
Teleport 클러스터 내에 루트 인증 기관을 구성하여 워크로드에 수명이 짧은 JWT 및 X509 인증서를 발급합니다. 이러한 ID(SPIFFE Verifiable Identity Documents 또는 SVID)는 URI(SPIFFE ID)로 인코딩된 워크로드의 ID를 포함합니다.
주요 이점:
- 장기 공유 비밀 제거
- 워크로드에 대한 보편적인 ID 형식 확립
- 인증 방법 감소를 통한 인프라 단순화
tbot 에이전트는 ID 요청 및 갱신을 관리하며, 지원되는 조인 방법을 사용하여 Teleport 클러스터에 인증합니다. 워크로드는 파일시스템/Kubernetes 시크릿 또는 SPIFFE Workload API를 통해 ID를 수신합니다.
머신을 위한 Zero Trust Access#
Teleport는 머신에 Teleport 클러스터에 인증할 수 있는 ID("봇")를 제공합니다. 봇은 하나 이상의 Teleport 역할을 보유하고, 인프라 내 리소스에 대한 액세스를 제어하며, Teleport는 감사 로그를 통해 활동을 기록합니다.
봇은 어떤 봇 사용자에게 액세스 권한을 부여하고 어떤 증명(조인 방법)이 필요한지 지정하는 조인 토큰을 사용하여 인증합니다. 각 tbot 클라이언트 연결은 시간에 따라 설치를 추적하기 위한 서버 측 Bot Instance를 생성합니다.
통합 사용 사례#
Zero Trust Access와 유연한 워크로드 아이덴티티는 함께 작동하여 포괄적인 보안 모델을 만들 수 있습니다. 머신은 리소스에 안전하게 액세스하고, 워크로드는 서로 및 외부 서비스와 안전하게 통신하며, 이 모든 것이 Teleport의 통합 액세스 플레인을 통해 관리됩니다.
엔드투엔드 인증을 갖춘 CI/CD 파이프라인#
CI/CD 시스템이 Kubernetes에 서비스를 안전하게 배포하고 서비스 간 안전한 통신 채널을 구축합니다:
- 파이프라인은 프록시를 통해 인증하여 Kubernetes에 배포하고 클라우드 API(예: 컨테이너 이미지 푸시)와 상호 작용하기 위한 자격 증명을 받습니다.
- 파이프라인이 배포한 서비스는 상호 TLS를 위한 SPIFFE ID를 받습니다. 파이프라인은 배포하는 서비스의 ID 수명 주기를 관리합니다.
서드파티 API 액세스가 필요한 클라우드 네이티브 애플리케이션#
Kubernetes 기반 애플리케이션이 내부 서비스와 외부 API 모두에 액세스가 필요합니다:
- 자동화 도구가 클러스터를 안전하게 구성하기 위해 인증합니다.
- 애플리케이션 구성 요소에 SPIFFE ID가 발급됩니다.
- ID는 mTLS를 통해 내부 서비스에 인증합니다.
- JWT 기반 인증이 외부 API 액세스에 사용됩니다.
Zero Trust 보안 구현#
Zero Trust 전략이 워크로드와 자동화 전반에 적용됩니다:
- 자동화 스크립트가 프록시를 통해 인증하여 인프라 작업을 수행합니다.
- 워크로드는 수명이 짧고 암호화적으로 검증 가능한 ID를 사용하여 인증합니다.
- 보안 팀은 Teleport의 통합 감사 로그를 사용하여 모든 ID 활동을 추적합니다.
공유 비밀 없는 ID 기반 통신#
Zero-trust, ID 기반 통신은 인간의 개입 없이 자동으로 교체됩니다.
정적 자격 증명(예: API 키, 데이터베이스 비밀번호) 관리 대신, 워크로드는 SPIFFE/SPIRE 표준과 호환되는 수명이 짧은 X.509 인증서 또는 JWT를 사용하여 인증합니다.
- 서비스는 Teleport의 Auth Service에 의해 동적으로 발급되고 자동으로 교체되는 정기적인 일정에 따라 워크로드에 새 ID를 발급합니다.
- 모든 ID 발급 및 사용이 감사 로그에 기록됩니다.
주요 차이점#
유연한 Workload Identities: 다양한 인증 목적을 위해 SPIFFE 호환 ID를 발급합니다. 워크로드 간 통신에 Teleport Proxy를 사용하지 않습니다.
머신을 위한 Zero Trust Access: Teleport로 보호된 리소스에 액세스하기 위한 Teleport 전용 자격 증명을 발급합니다. Teleport Proxy 사용이 필요합니다.
| 기능 | 유연한 Workload Identities | 머신을 위한 Zero Trust Access |
|---|---|---|
| 목적 | 워크로드를 다른 워크로드 또는 서드파티 API에 인증 | 봇을 Teleport에 인증하여 인프라에 액세스 |
| 표준 | SPIFFE (SVIDs, Workload API, mTLS, JWT) | Teleport 전용 X.509 자격 증명 |
| Proxy 사용 | Teleport Proxy 미사용 | 액세스가 Teleport Proxy를 통해 이루어짐 |
| 활용 사례 | 서비스 간 인증 | 인프라 및 구성 액세스 |
| 자격 증명 전달 | tbot을 통한 파일시스템 또는 SPIFFE API | tbot을 통해 디스크에 작성되는 아티팩트 |
개념#
이 섹션을 읽어 머신 및 워크로드 아이덴티티 설정의 고수준 아키텍처를 이해하세요. 더 심층적인 개요는 아키텍처 페이지를 참조하세요.

봇#
머신 및 워크로드 아이덴티티는 머신에 Teleport 클러스터에 인증할 수 있는 ID를 제공합니다. 이 ID를 봇이라고 합니다. 봇은 인간 사용자와 여러 유사점을 공유합니다:
- Teleport에서 할당된 역할로 제어되는 액세스
- 감사 로그에 기록된 리소스 액세스
- Teleport Auth Service가 서명하고 액세스에 사용할 수 있는 x.509 클라이언트 인증서로 인코딩된 ID
조인 토큰#
인간 Teleport 사용자와 달리, 봇은 정적 사용자 이름과 비밀번호를 사용하여 "로그인"하지 않습니다. 대신, 봇은 조인 토큰으로 Teleport에 인증하는데, 이는 Teleport 내에서 구성되고 어떤 봇 사용자에게 액세스 권한을 부여하고 이 조인 토큰을 사용하는 데 필요한 증명 종류(조인 방법이라고 함)를 지정합니다. 이 증명은 일반적으로 머신이 실행 중인 플랫폼(예: AWS IAM)에서 머신에 발급된 ID입니다.
단일 봇에 대해 여러 조인 토큰을 생성하여 다른 조인 방법으로 조인할 수 있습니다.
Bot Instances#
새 tbot 클라이언트가 처음부터 조인할 때마다 새 서버 측 Bot Instance가 생성됩니다. Bot Instance는 인증서를 갱신하거나 재조인하더라도 시간에 따라 개별 tbot 설치를 추적합니다. 이러한 서버 측 리소스는 가장 최근의 인증 시도와 봇 하트비트도 기록합니다.
조인 방법에 상관없이 하나의 Bot에 대해 여러 Bot Instance가 동시에 존재할 수 있습니다.
Bot Instance는 다음으로 검사할 수 있습니다:
tctl get bot_instance: 모든 인스턴스 나열tctl get bot_instance/$botName: 특정 봇과 연결된 모든 인스턴스 나열tctl get bot_instance/$botName/$id: 봇 이름과 ID로 단일 봇 인스턴스 표시
tbot#
머신 및 워크로드 아이덴티티는 tbot이라는 에이전트를 통해 사용됩니다. tbot은 Teleport 클러스터에 인증한 다음, 봇의 ID를 사용하여 Teleport 리소스에 연결하기 위해 다른 도구가 사용할 자격 증명 및 구성 파일을 생성합니다.
아티팩트#
tbot이 생성한 파일을 아티팩트라고 합니다. 아티팩트는 서명된 인증서와 같은 자격 증명부터 kubectl과 같은 도구가 Teleport를 사용하도록 자동으로 구성하는 구성 파일까지 다양한 것이 될 수 있습니다. 이 동작은 tbot의 서비스를 구성하여 제어합니다. 서비스는 무엇을 생성해야 하고 어디에 저장해야 하는지 지정합니다.
추가 읽기#
머신 및 워크로드 아이덴티티에 대한 비프로덕션 빠른 시작 소개는 시작하기 가이드를 읽으세요.
프로덕션 수준의 머신 및 워크로드 아이덴티티 배포 가이드는 두 부분으로 나뉩니다:
tbot배포: 특정 플랫폼에서tbot을 설치하고 구성하는 방법.tbot을 사용하여 인프라에 액세스:tbot을 사용하여 Teleport를 통해 인프라에 액세스하는 방법.
참조 정보:
