인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
워크로드 아이덴티티 소개
디자인 파트너십
우리는 Teleport Workload Identity의 미래를 함께 만들어 나갈 디자인 파트너를 적극적으로 찾고 있으며, 귀하의 피드백을 듣고 싶습니다.
Teleport 워크로드 아이덴티티는 워크로드에 짧은 생애의 암호화 아이덴티티를 안전하게 발급합니다. 이는 인프라 전반에 걸쳐 워크로드 아이덴티티를 위한 유연한 기반을 제공하여, 실행 위치에 관계없이 워크로드가 인증할 수 있는 통합된 방법을 만듭니다.
Teleport 워크로드 아이덴티티의 유연한 특성 덕분에 여러 목적에 사용될 수 있습니다. 그 예는 다음과 같습니다:
- AWS, GCP 및 Azure와 같은 클라우드 플랫폼의 타사 API에 대한 워크로드 인증.
- 제로 트러스트 전략의 일환으로, 인프라 내 워크로드 간 상호 TLS 인증을 위한 X.509 인증서 제공.
- 인프라 내 서비스 간의 워크로드 인증.
Teleport 워크로드 아이덴티티는 오픈 소스 모든 사람을 위한 안전한 생산 아이덴티티 프레임워크(SPIFFE) 표준과 호환됩니다. 이는 워크로드 아이덴티티 구현 간의 상호 운용성을 가능하게 하며, 워크로드와의 통합을 단순화하기 위한 다양한 기성 도구 및 SDK를 제공합니다.
Teleport 워크로드 아이덴티티를 채택하는 데는 많은 이점이 있지만, 주요 이점은 다음과 같습니다:
- 인프라 내에서 장기적으로 공유 비밀을 사용하는 것을 없애고, 유출 위험을 줄이며 이 비밀을 생성하고 회전시키는 데 시간을 줄입니다.
- 워크로드에 대한 보편적 형태의 아이덴티티를 사실상 제공하여, 엔지니어들이 인증 방법에 대해 고민하지 않고 새로운 서비스를 구축하는 데 집중할 수 있게 합니다.
- 워크로드에 대한 일급 아이덴티티 형태를 수렴하여, 인증 방법의 종류를 줄여 인프라를 단순화합니다.
작동 원리
Teleport 워크로드 아이덴티티는 짧은 생애의 JWT와 X509 인증서를 워크로드에 발급할 책임이 있는 루트 증명서 권한을 Teleport 클러스터 내에서 설정합니다.
이 아이덴티티는 SPIFFE 검증 가능한 아이덴티티 문서(SVID)로도 알려져 있으며, URI로 인코딩된 워크로드의 아이덴티티를 포함하는데, 이를 SPIFFE ID라고도 합니다. 이 SPIFFE ID의 구조는 귀하에게 달려 있으며, 워크로드를 고유하게 식별하는 데 필요한 정보를 인코딩할 수 있습니다.
이 아이덴티티를 요청하는 기능은 Teleport의 역할 기반 접근 제어 시스템에 의해 제어됩니다. 사용자와 봇은 특정 SPIFFE ID로 아이덴티티를 요청할 수 있도록 역할이 부여됩니다.
tbot
에이전트는 아이덴티티가 필요한 워크로드와 가까운 곳에 설치됩니다. 이 에이전트는 워크로드에 대한 아이덴티티 요청 및 갱신 프로세스를 관리합니다. tbot
에이전트는 지원하는 조인 메서드 중 하나를 사용하여 Teleport 클러스터에 인증합니다. 이 경우, 장기적인 비밀 대신 연합 신뢰를 기반으로 인증할 수 있게 됩니다.
워크로드는 다음 두 가지 방법 중 하나로 아이덴티티를 받을 수 있습니다:
tbot
에이전트가 이 아이덴티티를 로컬 파일 시스템의 디렉터리 또는 Kubernetes 비밀에 기록할 수 있습니다.tbot
에이전트가 SPIFFE 워크로드 API를 노출할 수 있습니다. 이는 워크로드가tbot
에이전트로부터 직접 아이덴티티를 요청할 수 있게 해주는 표준화된 gRPC API입니다.
워크로드 API를 사용할 때, tbot
에이전트는 워크로드 인증이라는 추가 프로세스를 수행할 수 있습니다. 이는 특정 워크로드에 대해서만 아이덴티티 발급을 제한하는 것을 허용합니다. 예를 들어, 특정 UID 또는 GID를 가진 Linux 프로세스에 대해서만 아이덴티티를 발급하도록 제한하거나, 특정 Kubernetes 파드에 대해서만 아이덴티티를 발급하도록 제한할 수 있습니다. 워크로드 인증 프로세스는 워크로드에 제공해야 하는 "부트스트래핑" 비밀의 필요성을 없앱니다.
워크로드가 아이덴티티를 가진 후, 이를 다양한 목적에 사용할 수 있습니다. X.509 인증서는 상호 TLS를 설정하는 데 사용할 수 있으며, JWT는 다양한 타사 API와 인증하는 데 사용할 수 있습니다.
Teleport 작업 부하 ID vs 머신 ID
Teleport 머신 ID는 작업 부하에 대해 짧은 수명의 자격 증명을 발급하여 Teleport 클러스터에 의해 보호되는 리소스에 접근할 수 있게 합니다. 발급된 자격 증명은 Teleport 자체와만 호환되며, 리소스 접근은 Teleport Proxy를 통해 이루어져야 합니다.
Teleport 작업 부하 ID는 상호 운용 가능한 작업 부하 ID를 위한 인기 있는 SPIFFE 표준과 호환되는 암호화된 ID를 발급합니다. 이러한 ID는 다양한 용도로 사용될 수 있을 만큼 유연합니다. 작업 부하 간 통신을 보호하기 위해 Teleport Proxy는 사용되지 않습니다.
다음 단계
Teleport 작업 부하 ID에 대해 더 알아보세요:
- SPIFFE: SPIFFE 사양 및 Teleport 작업 부하 ID에서 어떻게 구현되는지 알아보세요.
- 작업 부하 인증: 특정 작업 부하에 SVID(서비스 식별자)를 안전하게 발급하기 위해 작업 부하 인증을 사용하는 방법에 대해 알아보세요.
- 연합: 다른 신뢰 도메인에서 작업 부하를 신뢰하도록 허용하기 위해 연합을 사용하는 방법에 대해 알아보세요.
- JWT SVIDs: 작업 부하 ID에서 발급한 단기 JWT에 대해 알아보세요.
- 모범 사례: 운영 환경에서 작업 부하 ID를 사용하기 위한 모범 사례.
특정 용도에 맞게 Teleport 작업 부하 ID를 구성하는 방법을 알아보세요:
- 시작하기: 작업 부하 ID를 위한 Teleport를 구성하는 방법.
- TSH 지원: 사용자에게 SVID를 발급하기 위해 작업 부하 ID와 함께
tsh
를 사용하는 방법. - AWS Roles Anywhere: AWS Roles Anywhere를 사용하여 작업 부하 ID 인증서를 인증으로 수용하도록 AWS를 구성하는 방법.
- AWS OIDC 연합: AWS OIDC 연합을 사용하여 작업 부하 ID JWT를 인증으로 수용하도록 AWS를 구성하는 방법.
- GCP 작업 부하 ID 연합: GCP 작업 부하 ID 연합을 사용하여 작업 부하 ID JWT를 인증으로 수용하도록 GCP를 구성하는 방법.
기타 리소스
- SPIFFE 사양: 공식 SPIFFE 사양. SPIFFE ID 및 SVID 형식을 이해하는 데 유용합니다.
- 하단 거북이 문제 해결: SPIFFE의 기본 사항과 세부 사항을 다룬 책입니다.