Gestion centralisée des accès SSH avec Warpgate, SSO et IaC
Dans des environnements avec plusieurs infrastructures isolées gérées par une équipe d'ingénierie partagée, l'approche traditionnelle consistant à distribuer des clés SSH via des playbooks Ansible sur plus de 100 machines virtuelles devient un goulet d'étranglement. L'accès était lié à la possession de clés plutôt qu'aux rôles d'entreprise, entraînant un onboarding manuel, des retards dans la révocation des permissions et des maux de tête pour les audits. La nouvelle configuration exploite Warpgate comme proxy transparent avec SSO et RBAC pour un contrôle d'accès automatisé — sans agents sur les serveurs.
Limites principales de l'approche legacy
La gestion manuelle des utilisateurs via Ansible créait des points de douleur majeurs :
- Pas d'intégration SSO : le statut d'entreprise n'influençait pas l'accès.
- Exécutions manuelles de playbooks pour les changements de projet.
- Retards dans la révocation : les hôtes hors ligne gardaient des clés obsolètes.
- Journaux d'audit décentralisés dispersés sur les serveurs.
Exigences pour un remplaçant : intégration SSO d'entreprise, gestion déclarative IaC, résilience Kubernetes et support sans agent pour SSH/HTTPS/DB/K8s.
Fonctionnalités de Warpgate
Warpgate est un bastion host open source qui proxyfie les connexions après authentification des utilisateurs et vérification des rôles. Il supporte OIDC SSO, 2FA, enregistrement de sessions et audit de commandes. Il fonctionne sans modifier les ressources cibles et propose une interface web pour l'historique des connexions.
Comparaison avec les alternatives
| Fonctionnalité | Warpgate | Jump Host | VPN | Teleport |
|---------|----------|-----------|-----|----------|
| Liaison précise aux services | ✅ | Non | Non | ✅ |
| Pas de client requis | ✅ | Non | Non | ✅ |
| 2FA | ✅ | PAM | Variable | ✅ |
| SSO | ✅ | PAM | Variable | Payant |
| Audit de commandes | ✅ | Non | Non | ✅ |
| Enregistrement de sessions | ✅ | Non | Non | ✅ |
| Connexions non interactives | ✅ | Limité | ✅ | Wrapper |
| Auto-hébergé | ✅ | ✅ | Variable | SaaS |
Avantages pour les setups multi-projets : pas de coûts de licence, configuration IaC et scalabilité fluide.
Architecture avec Keycloak et Terraform
Intégration SSO
Le fournisseur OIDC Keycloak mappe les groupes aux rôles Warpgate. Exemple warpgate.yaml :
sso_providers:
- name: keycloak
label: "Connexion avec 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'
Le groupe /teams/devops/project-A donne accès aux ressources du Projet A. Les changements Keycloak prennent effet instantanément.
IaC avec le provider Terraform
Terraform définit les rôles, ressources et gateways. Structure : Warpgate racine + dossiers par projet. Pour les réseaux internes, utilisez un Warpgate interne comme gateway. Cela reste déclarative pour plus de 100 VMs, sans ajustements manuels dans l'UI.
Déploiement Kubernetes avec replicas élimine les points de défaillance uniques.
Limites et compatibilité
Warpgate ne remplace pas totalement Ansible : les VMs ont besoin d'un utilisateur technique unique pour les connexions proxyfiées. Les permissions d'ingénierie sont appliquées au bastion — pas de clés personnelles sur les hôtes. Il scale sans effort vers de nouveaux projets sans playbooks.
Changements pratiques
- Onboarding : Ajout au groupe Keycloak.
- Révocation : Suppression du groupe.
- Audit : Journaux de sessions centralisés.
- Scaling : Multi-tenant sans risques d'accès orphelins.
Réduit la charge opérationnelle de 80 % sur la gestion d'accès.
Points clés à retenir
- Accès basé sur rôles via SSO, sans agents sur serveurs.
- Config Terraform déclarative pour 100+ ressources.
- Enregistrement complet de sessions et audit au niveau commande.
- Auto-hébergé, sans licence, prêt pour Kubernetes.
- Proxy pour SSH/HTTPS/DB/K8s avec support non interactif.
— Editorial Team
Aucun commentaire pour le moment.