InfoGrab Docs

머신 및 워크로드 아이덴티티 소개

요약

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서비스를 구성하여 제어합니다. 서비스는 무엇을 생성해야 하고 어디에 저장해야 하는지 지정합니다.

추가 읽기#

머신 및 워크로드 아이덴티티에 대한 비프로덕션 빠른 시작 소개는 시작하기 가이드를 읽으세요.

프로덕션 수준의 머신 및 워크로드 아이덴티티 배포 가이드는 두 부분으로 나뉩니다:

참조 정보:

머신 및 워크로드 아이덴티티 소개

원문 보기
요약

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서비스를 구성하여 제어합니다. 서비스는 무엇을 생성해야 하고 어디에 저장해야 하는지 지정합니다.

추가 읽기#

머신 및 워크로드 아이덴티티에 대한 비프로덕션 빠른 시작 소개는 시작하기 가이드를 읽으세요.

프로덕션 수준의 머신 및 워크로드 아이덴티티 배포 가이드는 두 부분으로 나뉩니다:

참조 정보: