Stellar Engine est conçu avec des étapes superposées pour implémenter l'isolation des dépendances, le confinement de la sécurité et les déploiements reproductibles. Le dépôt est divisé en quatre étapes séquentielles, et chaque étape est responsable d'un domaine spécifique de la zone de destination.
Étape 0 : Amorçage
L'étape d'amorçage initialise l'infrastructure viable minimale requise pour gérer le processus de déploiement lui-même, en agissant comme la racine de confiance pour le pipeline IaC.
Cette étape utilise le principe du moindre privilège pour le compte de service du déployeur initial et une séparation stricte de la hiérarchie administrative.
L'objectif de cette étape est de créer les éléments suivants :
- Fondation administrative
- Gestion de l'état à distance
- Périmètre de sécurité initial
Les ressources suivantes sont créées :
- Connexions au compte de facturation principal et alertes de budget
- Projet IaC administratif dédié pour héberger les comptes de service de déploiement
- Buckets Cloud Storage verrouillés pour l'état distant Terraform avec la gestion des versions d'objets activée
- Récepteurs de journaux d'audit globaux intégrés à un bucket Cloud Logging central
- Configuration des contacts essentiels pour s'assurer que les notifications de sécurité, techniques et de facturation ne sont acheminées que vers les domaines d'agence autorisés
Étape 1 : Gestion des ressources
L'étape de gestion des ressources crée la hiérarchie de l'organisation, les limites d'accès et l'isolation des locataires.
L'objectif de cette étape est de définir les dossiers, les projets et les rôles Identity and Access Management personnalisés requis pour des cadres réglementaires spécifiques.
Cette étape utilise le principe de séparation des tâches dans différents domaines administratifs et une isolation stricte des ressources.
Les ressources suivantes sont créées :
- Hiérarchie de dossiers conforme (par exemple,
Prod,Non-Prod,Security, etShared) - Projets de locataires dédiés isolés par environnement et par fonction
- Liaisons de rôles IAM précises et rôles personnalisés pour appliquer le moindre privilège
Étape 2 : Mise en réseau
L'étape de mise en réseau provisionne les chemins de communication, les contrôles de sécurité des limites et la connectivité hybride. Stellar Engine est compatible avec plusieurs modules de mise en réseau, y compris les pare-feu nouvelle génération FedRAMP High et IL5.
L'objectif de cette étape est d'établir des modèles de connectivité sécurisés, le filtrage des paquets et les contrôles d'entrée ou de sortie.
Cette étape se concentre sur la protection stricte des limites, l'inspection centralisée du trafic et le filtrage approfondi des paquets. Une fois cette étape terminée, intégrez une solution SIEM pour surveiller les ressources. Segmentez votre SIEM dans un projet distinct Google Cloud et sur un VPC distinct de celui où il collecte des données.
Les ressources suivantes sont créées :
- Topologie VPC partagé en étoile ou architectures Network Connectivity Center qui minimisent l'exposition publique
- Connexions d'appairage VPC, Cloud VPN, ou Interconnexion dédiée pour les charges de travail hybrides
- Routage VPC standard ou chaînage de services avancé à l'aide de pare-feu nouvelle génération (NGFW) Palo Alto VM-Series (requis pour les enclaves DoD IL5) dans un VPC d'inspection spécialisé
Étape 3 : Sécurité et audit
L'objectif de cette étape est d'améliorer la protection des données, la traçabilité des audits et la souveraineté cryptographique.
Cette étape se concentre sur la souveraineté au repos, la souveraineté en cours d'utilisation et l'isolation cryptographique stricte des données.
Les ressources suivantes sont créées :
- Trousseaux et clés Cloud Key Management Service (Cloud KMS) pour répondre aux exigences des clés de chiffrement gérées par le client (CMEK) pour tous les services de stockage
- Scripts de verrouillage de sécurité et contraintes du service de règles d'administration appliqués aux comptes de service utilisés lors du déploiement
- Sujets de lettres mortes et alertes pour l'ingestion de journaux d'audit ayant échoué
Principes de déploiement
Le tableau suivant décrit les principes utilisés par Stellar Engine pour son processus de déploiement.
| Principe | Description |
|---|---|
| Isolation de l'état |
Les fichiers d'état Terraform sont strictement séparés par étape. Par exemple, un bug ou une corruption d'état à l'étape 2 ne peut pas accéder à l'état ni aux identifiants principaux des étapes 0 ou 1, ni les corrompre. |
| Épinglage de la version du module |
Les plans de base référencent les dépendances modulaires à l'aide de tags Git épinglés ou hachages de commit. L'épinglage permet de s'assurer que les modifications en amont dans le registre de modules ne sont pas automatiquement introduites dans les environnements cibles sans examen explicite. |
| Confinement de l'impact |
Les mises à jour sont exécutées localement dans les répertoires d'étape. Le confinement de l'impact permet de s'assurer qu'une modification de code apportée aux règles de pare-feu à l'étape 2 n'affecte pas les clés Cloud KMS à l'étape 3. |
| Confinement des défaillances |
Les buckets d'état Cloud Storage sont configurés avec la gestion des versions d'objets activée. Si une modification de code incorrecte ou une modification manuelle de l'état corrompt le fichier d'état, celui-ci peut être immédiatement restauré à une version précédente. |