Centrální správa SSH přístupů přes Warpgate s SSO a IaC
V podmínkách několika izolovaných infrastruktur se společným týmem inženýrů tradiční schéma s Ansible playbooky pro šíření SSH klíčů na 100+ VM ztrácí efektivitu. Přístup byl určen přítomností klíče, nikoli firemní rolí, což vedlo k ručnímu onboardingu, zpožděním při odvolávání práv a obtížím s auditem. Nový model využívá Warpgate jako transparentní proxy s SSO a RBAC pro automatickou správu přístupů bez agentů na serverech.
Hlavní omezení legacy přístupu
Ruční správa uživatelů přes Ansible vytvářela úzká místa:
- Absence propojení s SSO: status ve firmě neovlivňoval přístup.
- Ruční spouštění playbooků podle projektů při změnách.
- Zpoždění v odvolávání: nedostupné hosty zachovávaly zastaralé klíče.
- Decentralizovaný audit logů na každém serveru.
Požadavky na náhradu: integrace s firemním SSO, deklarativní správa přes IaC, odolnost proti poruchám v Kubernetes, podpora SSH/HTTPS/DB/K8s bez klientských agentů.
Funkcionalita Warpgate
Warpgate je open-source bastion, který proxy připojení po ověření autentizace a rolí. Podporuje OIDC SSO, 2FA, záznam sezení, audit příkazů. Funguje bez úprav cílových zdrojů, poskytuje webové rozhraní pro historii připojení.
Srovnání s alternativami
| Funkce | Warpgate | Jump-host | VPN | Teleport |
|--------|----------|-----------|-----|----------|
| Přesná vazba na služby | ✅ | Ne | Ne | ✅ |
| Bez klienta | ✅ | Ne | Ne | ✅ |
| 2FA | ✅ | PAM | Závisí | ✅ |
| SSO | ✅ | PAM | Závisí | Placeně |
| Audit příkazů | ✅ | Ne | Ne | ✅ |
| Záznam sezení | ✅ | Ne | Ne | ✅ |
| Neinteraktivní připojení | ✅ | Omezeně | ✅ | Wrapper |
| Self-hosted | ✅ | ✅ | Závisí | SaaS |
Výhody pro multi-project: absence licencí, IaC konfigurace, škálovatelnost.
Architektura s Keycloak a Terraform
Integrace SSO
OIDC poskytovatel Keycloak mapuje skupiny na role Warpgate. Příklad warpgate.yaml:
sso_providers:
- name: keycloak
label: "Přihlášení přes 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'
Skupina '/teams/devops/project-A' poskytuje přístup ke zdrojům projektu A. Změny v Keycloaku se okamžitě projeví.
IaC s Terraform Provider
Terraform popisuje role, zdroje, brány. Struktura: kořenový Warpgate + složky podle projektů. Pro vnitřní sítě — inner Warpgate jako brána. To zajišťuje deklarativnost pro 100+ VM, bez ručního UI.
Nasazení v K8s s replikami eliminuje single point of failure.
Omezení a kompatibilita
Warpgate nenahrazuje Ansible úplně: na VM je potřeba jeden technický uživatel pro proxy připojení. Inženýrská práva jsou řízena na bastionu, bez osobních klíčů na hostech. Škáluje se na nové projekty bez playbooků.
Praktické změny
- Onboarding: přidání do skupiny Keycloak.
- Odvolání: odstranění ze skupiny.
- Audit: centralizované logy sezení.
- Měřítko: multi-client bez rizika orphan přístupů.
Snížení operační zátěže o 80 % podle času na přístupy.
Co je důležité
- Automatický přístup podle rolí z SSO bez agentů na serverech.
- Deklarativní konfigurace přes Terraform pro 100+ zdrojů.
- Úplný záznam a audit sezení s úrovní příkazů.
- Self-hosted bez licencí, připraveno pro K8s.
- Proxy pro SSH/HTTPS/DB/K8s s neinteraktivním přístupem.
— Editorial Team
Zatím žádné komentáře.