인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
신뢰할 수 있는 클러스터 아키텍처
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
를 사용하여 리프 클러스터 리소스의 가시성을 필터링 및 제한해야 합니다.
다음 단계
나머지 아키텍처 가이드를 읽어보십시오: