Scentralizowane zarządzanie dostępem SSH przez Warpgate z SSO i IaC
W warunkach wielu izolowanych infrastruktur ze wspólnym zespołem inżynierów tradycyjne podejście z playbookami Ansible do dystrybucji kluczy SSH na ponad 100 maszyn wirtualnych traci efektywność. Dostęp był określany przez posiadanie klucza, a nie przez korporacyjną rolę, co prowadziło do ręcznego onboardingu, opóźnień w odwoływaniu uprawnień i trudności z audytem. Nowy model wykorzystuje Warpgate jako przejrzysty proxy z SSO i RBAC do automatycznego zarządzania dostępem bez agentów na serwerach.
Główne ograniczenia podejścia legacy
Ręczne zarządzanie użytkownikami przez Ansible tworzyło wąskie gardła:
- Brak powiązania z SSO: status w firmie nie wpływał na dostęp.
- Ręczne uruchamianie playbooków w projektach przy zmianach.
- Opóźnienia w odwołaniu: niedostępne hosty zachowywały przestarzałe klucze.
- Decentralizowany audyt logów na każdym serwerze.
Wymagania dotyczące zastąpienia: integracja z korporacyjnym SSO, deklaratywne zarządzanie przez IaC, odporność na awarie w Kubernetes, obsługa SSH/HTTPS/DB/K8s bez agentów klienckich.
Funkcjonalność Warpgate
Warpgate to open-source bastion, który proxyuje połączenia po weryfikacji uwierzytelnienia i ról. Obsługuje OIDC SSO, 2FA, nagrywanie sesji, audyt poleceń. Działa bez modyfikacji docelowych zasobów, zapewniając interfejs webowy do historii połączeń.
Porównanie z alternatywami
| Funkcja | Warpgate | Jump-host | VPN | Teleport |
|------|----------|-----------|-----|----------|
| Dokładne powiązanie z usługami | ✅ | Nie | Nie | ✅ |
| Bez klienta | ✅ | Nie | Nie | ✅ |
| 2FA | ✅ | PAM | Zależy | ✅ |
| SSO | ✅ | PAM | Zależy | Płatne |
| Audyt poleceń | ✅ | Nie | Nie | ✅ |
| Nagrywanie sesji | ✅ | Nie | Nie | ✅ |
| Połączenia nieinteraktywne | ✅ | Ograniczone | ✅ | Wrapper |
| Self-hosted | ✅ | ✅ | Zależy | SaaS |
Zalety dla wielu projektów: brak licencji, konfiguracja IaC, skalowalność.
Architektura z Keycloak i Terraform
Integracja SSO
Dostawca OIDC Keycloak mapuje grupy na role Warpgate. Przykład warpgate.yaml:
sso_providers:
- name: keycloak
label: "Zaloguj się przez 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'
Grupa /teams/devops/project-A daje dostęp do zasobów projektu A. Zmiany w Keycloak natychmiast się odzwierciedlają.
IaC z Terraform Provider
Terraform opisuje role, zasoby, bramy. Struktura: główny Warpgate + foldery według projektów. Dla sieci wewnętrznych — wewnętrzny Warpgate jako brama. To zapewnia deklaratywność przy ponad 100 maszynach wirtualnych, unikając ręcznego interfejsu UI.
Wdrażanie w K8s z replikami eliminuje pojedynczy punkt awarii.
Ograniczenia i kompatybilność
Warpgate nie zastępuje całkowicie Ansible: na maszynach wirtualnych potrzebny jest jeden techniczny użytkownik do połączeń proxy. Uprawnienia inżynierskie są kontrolowane na bastionie, bez osobistych kluczy na hostach. Skaluje się na nowe projekty bez playbooków.
Praktyczne zmiany
- Onboarding: dodanie do grupy Keycloak.
- Odwołanie: usunięcie z grupy.
- Audyt: scentralizowane logi sesji.
- Skala: wielu klientów bez ryzyka osieroconych dostępów.
Zmniejszenie operacyjnego obciążenia o 80% pod względem czasu na dostępy.
Co jest ważne
- Automatyczny dostęp według ról z SSO bez agentów na serwerach.
- Deklaratywna konfiguracja przez Terraform dla ponad 100 zasobów.
- Pełne nagrywanie i audyt sesji z poziomem poleceń.
- Self-hosted bez licencji, gotowe na K8s.
- Proxy dla SSH/HTTPS/DB/K8s z dostępem nieinteraktywnym.
— Editorial Team
Brak komentarzy.