SPIFFE Federation
Federation은 Teleport 워크로드 아이덴티티 신뢰 도메인과 다른 신뢰 도메인 간의 관계를 설정하여 두 신뢰 도메인 내의 워크로드가 서로의 아이덴티티를 검증할 수 있도록 합니다. SPIFFE는 서로 다른 구현에 의해 관리되는 신뢰 도메인이 서로 페더레이션할 수 있도록 하는 federation 표준을 설정합니다.
Federation은 Teleport 워크로드 아이덴티티 신뢰 도메인과 다른 신뢰 도메인 간의 관계를 설정하여 두 신뢰 도메인 내의 워크로드가 서로의 아이덴티티를 검증할 수 있도록 합니다. 이를 통해 다른 환경이나 다른 조직 내의 워크로드가 안전하게 통신할 수 있습니다.
SPIFFE는 서로 다른 구현에 의해 관리되는 신뢰 도메인이 서로 페더레이션할 수 있도록 하는 federation 표준을 설정합니다. 예를 들어 Teleport 워크로드 아이덴티티가 관리하는 신뢰 도메인은 SPIRE가 관리하는 신뢰 도메인과 페더레이션할 수 있습니다.
SPIFFE Federation 프로세스는 신뢰 도메인 간의 신뢰 번들 교환에 의존합니다. 이러한 신뢰 번들에는 발급한 아이덴티티를 검증하는 데 필요한 신뢰 도메인 발급자의 인증서와 공개 키가 포함됩니다.
Federation 관계는 "단방향"이며, 이는 한 신뢰 도메인 내의 워크로드가 다른 신뢰 도메인 내의 워크로드 아이덴티티를 검증할 수 있지만 다른 신뢰 도메인 내의 워크로드는 첫 번째 신뢰 도메인 내의 워크로드 아이덴티티를 검증할 수 없다는 것을 의미합니다. 따라서 federation 관계를 양방향으로 설정하는 것이 일반적입니다.
Teleport 워크로드 아이덴티티의 federation 기능을 사용하려면 유효한 Teleport Enterprise 라이선스가 필요합니다.
Teleport 워크로드 아이덴티티로의 Federation#
이 섹션은 다른 신뢰 도메인이 Teleport 워크로드 아이덴티티가 호스팅하는 신뢰 도메인을 신뢰하도록 구성하는 방법을 설명합니다.
신뢰 도메인이 Teleport 워크로드 아이덴티티를 신뢰하도록 구성하려면 신뢰 도메인의 컨트롤 플레인이 Teleport Proxy Service에 노출된 SPIFFE 번들 엔드포인트에 접근할 수 있어야 합니다.
Teleport 워크로드 아이덴티티 SPIFFE 번들 엔드포인트는 SPIFFE Federation 사양에 정의된 "https_web" 프로필을 구현합니다. 이는 엔드포인트가 Teleport Proxy에 구성된 표준 웹 TLS 인증서를 사용하여 제공된다는 것을 의미합니다.
SPIFFE 번들 엔드포인트는 Teleport Proxy Service에서 /webapi/spiffe/bundle.json 경로로 노출됩니다.
Teleport 워크로드 아이덴티티에서의 Federation#
이 섹션은 Teleport 워크로드 아이덴티티가 호스팅하는 신뢰 도메인이 다른 신뢰 도메인을 신뢰하도록 구성하는 방법을 설명합니다.
Teleport 워크로드 아이덴티티는 SPIFFE Federation 사양에 정의된 "https_web" 프로필을 준수하는 SPIFFE 번들 엔드포인트를 제공하는 신뢰 도메인과의 페더레이션만 지원합니다.
spiffe_federation 리소스는 Teleport 워크로드 아이덴티티 신뢰 도메인과 원격 신뢰 도메인 간의 신뢰 관계를 구성합니다.
예를 들어 https://example.com/spiffe/bundle.json에 SPIFFE 번들 엔드포인트가 있는 example.com이라는 신뢰 도메인과 페더레이션하려면 다음과 같이 spiffe_federation 리소스를 생성합니다:
kind: spiffe_federation
version: v1
metadata:
name: example.com
spec:
bundle_source:
https_web:
bundle_endpoint_url: https://example.com/spiffe/bundle.json
백그라운드 프로세스가 원격 신뢰 도메인이 제공하는 새로 고침 힌트에 따라 원격 신뢰 도메인에서 신뢰 번들을 주기적으로 가져옵니다.
tctl CLI를 사용하여 federation 관계 상태를 확인할 수 있습니다:
$ tctl get spiffe_federation/example.com
이것은 마지막으로 가져온 번들, 가져온 시간 및 다음 가져오기가 예약된 시간을 표시합니다.
리소스가 생성되고 성공적으로 동기화되면 tbot이 Workload API를 통해 워크로드에 페더레이션된 신뢰 번들을 제공하기 시작합니다.
다음 단계#
- 워크로드 아이덴티티 개요: Teleport 워크로드 아이덴티티 개요.
- 모범 사례: 프로덕션에서 워크로드 아이덴티티 사용에 대한 모범 사례.
- 구성 참조를 읽어 사용 가능한 모든 구성 옵션을 탐색하세요.
- SPIFFE Federation 사양을 읽어 SPIFFE Federation의 기술적 세부 사항을 이해하세요.
