Warpgate, SSO, IaC를 활용한 중앙 집중식 SSH 접근 관리
공유 엔지니어링 팀이 관리하는 여러 고립된 인프라 환경에서, Ansible 플레이북으로 100대 이상의 VM에 SSH 키를 배포하는 전통적인 방식은 병목 현상을 일으킵니다. 접근 권한이 키 소유에 묶여 있어 수동 온보딩, 권한 철회 지연, 감사 작업의 골칫거리가 되었습니다. 새로운 방식은 서버에 에이전트 없이 Warpgate를 투명 프록시로 활용해 SSO와 RBAC로 자동 접근 제어를 구현합니다.
기존 방식의 주요 한계
Ansible을 통한 수동 사용자 관리는 큰 문제점을 초래했습니다:
- SSO 통합 부재: 회사 계정 상태가 접근에 영향을 주지 않음.
- 프로젝트 변경 시 수동 플레이북 실행.
- 권한 철회 지연: 오프라인 호스트에 오래된 키가 남음.
- 분산된 감사 로그: 서버마다 흩어짐.
대체 솔루션 요구사항: 회사 SSO 통합, 선언적 IaC 관리, Kubernetes 탄력성, SSH/HTTPS/DB/K8s를 위한 에이전트리스 지원.
Warpgate 주요 기능
Warpgate는 오픈소스 bastion 호스트로, 사용자 인증과 역할 확인 후 연결을 프록시합니다. OIDC SSO, 2FA, 세션 녹화, 명령어 감사 기능을 지원하며, 대상 리소스를 수정하지 않고 웹 UI로 연결 이력을 제공합니다.
대안 비교
| 기능 | Warpgate | Jump Host | VPN | Teleport |
|------|----------|-----------|-----|----------|
| 정밀 서비스 바인딩 | ✅ | No | No | ✅ |
| 클라이언트 불필요 | ✅ | No | No | ✅ |
| 2FA | ✅ | PAM | Varies | ✅ |
| SSO | ✅ | PAM | Varies | Paid |
| 명령어 감사 | ✅ | No | No | ✅ |
| 세션 녹화 | ✅ | No | No | ✅ |
| 비대화형 연결 | ✅ | Limited | ✅ | Wrapper |
| 자체 호스팅 | ✅ | ✅ | Varies | SaaS |
다중 프로젝트 환경의 장점: 라이선스 비용 없음, IaC 구성, 원활한 확장성.
Keycloak과 Terraform을 활용한 아키텍처
SSO 통합
OIDC 제공자 Keycloak이 그룹을 Warpgate 역할에 매핑합니다. 예시 warpgate.yaml:
sso_providers:
- name: keycloak
label: "Keycloak으로 로그인"
auto_create_users: true
provider:
type: custom
client_id: warpgate
client_secret: $OIDC_CLIENT_SECRET
issuer_url: $ISSUER_URL
scopes: ["openid", "email"]
role_mappings:
'/teams/devops/warpgate-admin': 'warpgate:admin'
'/teams/devops/project-A': 'project-A'
'/teams/devops/project-B': 'project-B'
/teams/devops/project-A 그룹은 프로젝트 A 리소스 접근을 부여합니다. Keycloak 변경 사항이 즉시 반영됩니다.
Terraform Provider를 활용한 IaC
Terraform으로 역할, 리소스, 게이트웨이를 정의합니다. 구조: 루트 Warpgate + 프로젝트별 폴더. 내부 네트워크에는 내부 Warpgate를 게이트웨이로 사용합니다. 100대 이상 VM에서 선언적으로 관리하며 수동 UI 조정 없이 진행합니다.
레플리카를 활용한 Kubernetes 배포로 단일 장애 지점을 제거합니다.
한계와 호환성
Warpgate는 Ansible을 완전히 대체하지 않습니다: VM에는 프록시 연결을 위한 단일 기술 사용자 필요. 엔지니어링 권한은 bastion에서 강제되며, 호스트에 개인 키가 없습니다. 플레이북 없이 신규 프로젝트로 쉽게 확장됩니다.
실무 변화
- 온보딩: Keycloak 그룹 추가.
- 권한 철회: 그룹에서 제거.
- 감사: 중앙 집중 세션 로그.
- 확장: 고아 접근 위험 없는 멀티테넌트.
접근 관리 운영 부하를 80% 줄입니다.
주요 요약
- SSO 기반 역할 접근, 서버 에이전트 불필요.
- 100+ 리소스에 대한 선언적 Terraform 구성.
- 완전한 세션 녹화와 명령어 수준 감사.
- 자체 호스팅, 라이선스 무료, Kubernetes 준비 완료.
- SSH/HTTPS/DB/K8s 프록시, 비대화형 지원.
— Editorial Team
아직 댓글이 없습니다.