Stellar Engine은 종속 항목 격리, 보안 컨테인먼트, 반복 가능한 배포를 구현하기 위해 계층화된 단계로 설계되었습니다. 저장소는 4개의 순차적 단계로 나뉘며 각 단계는 방문 페이지의 특정 도메인을 담당합니다.
0단계: 부트스트랩
부트스트랩 단계는 배포 프로세스 자체를 관리하는 데 필요한 최소 실행 가능한 인프라를 초기화하여 IaC 파이프라인의 신뢰할 수 있는 루트 역할을 합니다.
이 단계에서는 초기 배포자 서비스 계정에 최소 권한의 원칙을 사용하고 관리 계층 구조를 엄격하게 분리합니다.
이 단계의 목표는 다음을 만드는 것입니다.
- 관리 기반
- 원격 상태 관리
- 초기 보안 경계
다음 리소스가 생성됩니다.
- 핵심 결제 계정 연결 및 예산 알림
- 배포 서비스 계정을 호스팅하는 전용 관리 IaC 프로젝트
- 객체 버전 관리가 사용 설정된 Terraform 원격 상태를 위한 잠긴 Cloud Storage 버킷
- 중앙 Cloud Logging 버킷과 통합된 전역 감사 로그 싱크
- 보안, 기술, 결제 알림이 승인된 대행사 도메인으로만 라우팅되도록 하는 필수 연락처 구성
1단계: 리소스 관리
리소스 관리 단계 에서는 조직 계층 구조, 액세스 경계, 테넌트 격리를 만듭니다.
이 단계의 목표는 특정 규제 프레임워크에 필요한 폴더, 프로젝트, 커스텀 Identity and Access Management 역할을 정의하는 것입니다.
이 단계에서는 다양한 관리 도메인과 엄격한 리소스 격리에 걸쳐 업무 분리 원칙을 사용합니다.
다음 리소스가 생성됩니다.
- 규정 준수와 일치하는 폴더 계층 구조 (예:
Prod,Non-Prod,Security,Shared) - 환경 및 기능별로 격리된 전용 테넌트 프로젝트
- 최소 권한을 적용하는 세분화된 IAM 역할 바인딩 및 커스텀 역할
2단계: 네트워킹
네트워킹 단계에서는 통신 경로, 경계 보안 제어, 하이브리드 연결을 프로비저닝합니다. Stellar Engine은 FedRAMP 높음 및 IL5 NGFW를 비롯한 여러 네트워킹 모듈을 지원합니다.
이 단계의 목표는 보안 연결 패턴, 패킷 필터링, 인그레스 또는 이그레스 제어를 설정하는 것입니다.
이 단계에서는 엄격한 경계 보호, 중앙 집중식 트래픽 검사, 심층 패킷 필터링에 중점을 둡니다. 이 단계를 실행한 후에는 SIEM 솔루션을 통합하여 리소스를 모니터링합니다. 데이터를 수집하는 위치와 별도의 Google Cloud 프로젝트 및 별도의 VPC에서 SIEM을 분할합니다.
다음 리소스가 생성됩니다.
- 공개 노출을 최소화하는 허브 및 스포크 공유 VPC 토폴로지 또는 Network Connectivity Center 아키텍처
- 하이브리드 워크로드용 VPC 피어링, Cloud VPN 또는 Dedicated Interconnect 연결
- 특수 검사 VPC의 표준 VPC 라우팅 또는 Palo Alto VM-Series 차세대 방화벽 (NGFW)을 사용하는 고급 서비스 체이닝(DoD IL5 엔클레이브에 필요)
3단계: 보안 및 감사
보안 및 감사 단계 에서는 암호화 적용, 최종 잠금, 서비스 책임을 적용합니다.
이 단계의 목표는 데이터 보호, 감사 추적 가능성, 암호화 주권을 개선하는 것입니다.
이 단계에서는 저장 시 주권, 사용 시 주권, 데이터의 엄격한 암호화 격리에 중점을 둡니다.
다음 리소스가 생성됩니다.
- Cloud Key Management Service (Cloud KMS) 키 링 및 키를 사용하여 모든 스토리지 서비스의 고객 관리 암호화 키 (CMEK) 요구사항을 충족합니다.
- 배포 중에 사용되는 서비스 계정에 적용되는 보안 잠금 스크립트 및 조직 정책 서비스 제약 조건
- 실패한 감사 로그 수집을 위한 데드 레터 주제 및 알림
배포 원칙
다음 표에서는 Stellar Engine이 배포 프로세스에 사용하는 원칙을 설명합니다.
| 원칙 | 설명 |
|---|---|
| 상태 격리 |
Terraform 상태 파일은 단계별로 엄격하게 분리됩니다. 예를 들어, 2단계의 버그 또는 상태 손상은 0단계 또는 1단계의 핵심 상태 또는 사용자 인증 정보에 액세스하거나 손상시킬 수 없습니다. |
| 모듈 버전 고정 |
청사진은 고정된 Git 태그 또는 커밋 해시를 사용하여 모듈식 종속 항목을 참조합니다. 고정은 명시적 검토 없이 모듈 레지스트리의 업스트림 변경사항이 대상 환경에 자동으로 도입되지 않도록 합니다. |
| 영향 억제 |
업데이트는 단계 디렉터리 내에서 로컬로 실행됩니다. 영향 억제는 2단계의 방화벽 규칙에 대한 코드 변경사항이 3단계의 Cloud KMS 키에 영향을 미치지 않도록 합니다. |
| 실패 컨테인먼트 |
Cloud Storage 상태 버킷은 객체 버전 관리가 사용 설정된 상태로 구성됩니다. 잘못된 코드 변경 또는 수동 상태 수정으로 인해 상태 파일이 손상되면 파일을 이전 버전으로 즉시 복원할 수 있습니다. |