개요
Teleport는 컴퓨팅 인프라를 여러 클러스터로 분할할 수 있습니다. 클러스터는 Teleport에 연결된 리소스 그룹입니다. 각 클러스터는 자신의 사용자 및 리소스를 위한 인증 기관(CA) 집합을 관리합니다.
신뢰할 수 있는 클러스터는 하나의 클러스터인 루트 클러스터의 사용자가 다른 클러스터인 리프 클러스터에 등록된 리소스에 접근할 수 있도록 하면서 단일 인증 서비스로만 인증된 상태를 유지할 수 있게 합니다. 리프 클러스터는 방화벽 뒤에서 실행되며 수신 포트를 열지 않을 수 있습니다.
신뢰할 수 있는 클러스터의 사용 사례에는 다음이 포함됩니다:
- 관리 서비스 제공업체(MSP)가 고객 인프라를 원격으로 관리하는 경우.
- 장치 제조업체가 현장에서 배포된 컴퓨팅 장비를 원격으로 유지 관리하는 경우.
- 대형 클라우드 소프트웨어 공급업체가 여러 데이터 센터를 관리하는 경우.
개별 노드와 프록시는 새로운 클러스터를 생성하지 않고도 프록시 서비스로 역 터널을 생성할 수 있습니다. 방화벽 뒤에 있는 몇 개의 서버, Kubernetes 클러스터 또는 데이터베이스에 연결하기 위해 신뢰할 수 있는 클러스터를 설정할 필요는 없습니다.
다중 데이터 센터 클러스터
아래 예시에는 세 개의 독립적인 클러스터가 있습니다:
- 클러스터
sso.example.com
은 루트 클러스터입니다. 이 클러스터는 당신의 조직을 위한 단일 로그인 진입점으로 사용될 수 있습니다. 자신의 독립적인 리소스를 연결할 수도 있고, 감사 로그 수집 및 단일 로그인만을 위해 사용될 수 있습니다. - 클러스터
us-east-1a
및us-east-1b
는 다른 가용성 영역에 있는 두 개의 독립적인 클러스터입니다.
역할 매핑
Teleport에서는 리프 클러스터가 자율적입니다 - 자체의 상태, 역할 및 로컬 사용자를 갖고 있습니다. 리프 클러스터는 외부 사용자의 신원을 어떻게 로컬 역할로 매핑할지를 결정할 자율성을 가집니다. 이 과정을 역할 매핑이라고 합니다. 아래 흐름을 살펴보세요:
역할 매핑 및 클러스터 수준 레이블
루트 클러스터에서 발급된 인증서를 사용하여 직접 리프 클러스터에 연결할 수 있다는 점에 유의해야 합니다. 왜냐하면 리프 클러스터는 본질적으로 루트 클러스터를 신뢰하기 때문입니다. 대부분의 경우, 루트와 리프 클러스터 간의 신뢰 관계는 원하는 동작을 제공합니다.
그러나 클러스터 레이블을 사용하여 권한 부여 제한을 시행할 경우
이 신뢰 관계는 악용될 수 있습니다. 리프 클러스터가 루트 클러스터의 인증 기관을 신뢰하기 때문에,
그 인증서를 사용하여 리프 클러스터에 대한 접근을 제한하려고 의도된
리프 전용 cluster_labels
설정을 우회할 수 있습니다. 예를 들어, 다음 명령어를 사용하여 리프 클러스터에 레이블을 할당한다고 가정해 보겠습니다:
tctl update rc/leaf --set-labels=env=prod
사용자가 루트 클러스터에 의해 서명된 인증서를 가지고 있다면
이 레이블이 리프 클러스터에 대한 직접 접근을 방지할 수는 없습니다.
리프 클러스터에 대한 접근 제어의 주요 방법으로 역할 매핑을 사용하고
리프 클러스터 리소스의 가시성을 필터링하고 제한하기 위해 cluster_labels
를 사용해야 합니다.
다음 단계
아키텍처 가이드를 계속 읽어보세요: