[Feature Request] 2-networking: add a tfvars-driven IAM map on the shared-VPC host project (parity with Stage 3's kms_keys iam)
Los mantenedores suelen responder en 3 días
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- google-cloud, terraform
- Área
- authorization, cloud, infrastructure
Línea de trabajo
Empieza comparando las líneas 57–63 de 2-networking-a-fedramp-high/branch-net-envs.tf con las líneas 58–62 de 2-networking-b-il5-ngfw/branch-net-envs.tf; después, inspecciona la estructura de IAM de los tfvars de Stage 3 KMS y los bloques delegated-grants comentados. El trabajo estará terminado cuando env-spoke-projects acepte datos IAM adicionales para el proyecto host de shared-VPC en ambas variantes de networking sin editar branch-net-envs.tf por cada grant.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature Description
Stage 3's KMS keys accept an iam map directly in tfvars — granting a new principal a role on a specific key is a pure data change. Stage 2's shared-VPC host project has no equivalent: the iam block in branch-net-envs.tf (lines 57–63) is hardcoded to resolve members from three fixed service_accounts keys (gke-dev, project-factory-dev, project-factory-prod), all bound to roles/dns.admin. A delegated-grants pattern exists directly below but is commented out (lines 64+). Add a tfvars-driven additional-IAM map to env-spoke-projects.
Use Case
Onboarding any workload whose deploy identity needs a scoped grant on the host project — e.g., a blueprint that creates a firewall rule in the shared-VPC host project under an impersonated, least-privilege deploy identity — currently requires editing branch-net-envs.tf. modules/project's factories_config doesn't cover IAM bindings (only custom roles, observability, org policies, quotas), so there is no file-drop alternative either. The Stage 3 KMS pattern proves the tfvars-driven shape already works in this repo.
Proposed Solution
Add a tfvars-driven iam_bindings_additive-style map on env-spoke-projects (or finish and expose the existing commented-out delegated-grant pattern), mirroring Stage 3's kms_keys.<key>.iam.
Compliance & Deployment Context
- Target Deployment Type(s):
- US Region Restricted (e.g., Access Policy constraint)
- FedRAMP Medium
- FedRAMP High
- DoD IL5
- DoD IL4
- All / General
- Relevant NIST 800-53r5 Controls: AC-6 (least privilege) — enables scoped host-project grants for workload deploy identities instead of broadly-privileged ones.
Reusability Check
Stellar Engine prioritizes reusability.
- I have checked if this functionality can be achieved by extending an existing module or blueprint. (
modules/projectfactories don't cover IAM; the commented-out delegated-grant block is unfinished.) - I have verified that this does not duplicate existing functionality.
Alternatives Considered
Editing branch-net-envs.tf per grant (current state — a stage source edit for a routine operational need); granting broader roles to avoid repeat edits (worse for least privilege).
Additional Context
Verified at main @ 3728fc98. This is the concrete reason a least-privilege deployment-identity design can be done with a tfvars-only change on the Stage 3/KMS side but not on the Stage 2 side. Regime applicability (verified): the identical hardcoded roles/dns.admin block exists in both networking variants (2-networking-a-fedramp-high/branch-net-envs.tf:57-63 and 2-networking-b-il5-ngfw/branch-net-envs.tf:58-62, same commented-out delegated-grants pattern), so FedRAMP High, IL4, and IL5 deployments are all affected.
- Lenguaje dominante
- HCL
- Estrellas
- 55
- Forks
- 21
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 24
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de google/stellar-engine
-
[Feature Request] No research blueprint family — the README names universities as a target audience, every blueprint is FedRAMP High, FedRAMP Moderate or IL5Quizá libre de nuevo @Calvin-Cheng1 la tomó hace 29 días y no hay ningún pull request abierto. AbiertoEnhancement Level of Effort - High Priority - Low Scope - Blueprint
google/stellar-engine#239 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 3 días
-
[Feature Request] Remove Source Repo references and modules and replace with SSMPosiblemente ocupada @Calvin-Cheng1 la tomó hace 10 días. AbiertoEnhancement Level of Effort - High Priority - High Scope - Blueprint Scope - Fast Scope - Module
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
google/stellar-engine#198 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 3 días
-
[Feature Request]Customize Org Policy Enforcement Based on Regime SettingPosiblemente ocupada @aghassemlouei la tomó hace 7 días. Abiertocompliance Enhancement Framework - FedRAMP High Framework - IL5 Level of Effort - Low Priority - Medium Scope - Fast Scope - Stage 0
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
google/stellar-engine#197 ·
Los mantenedores suelen responder en 3 días
-
compliance Enhancement Framework - FedRAMP Moderate Level of Effort - High Priority - Medium Scope - Blueprint
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
google/stellar-engine#192 ·
Los mantenedores suelen responder en 3 días
-
compliance Enhancement Level of Effort - Medium Priority - Medium Scope - Blueprint Security
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
google/stellar-engine#188 ·
Los mantenedores suelen responder en 3 días
Todos los issues de google/stellar-engine
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Uuriko/project-room#3637 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
jbacalso24/mimry#291 ·
Los mantenedores suelen responder en 1 día
-
ci-cd from-review-extraction python security severity:suggested
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
LearningCircuit/local-deep-research#7454 ·
Los mantenedores suelen responder en 2 días
-
fix(connectors): preserve critical severity for active Tines casesPosiblemente ocupada @meshreyy la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Change oauth client name?Posiblemente ocupada @nealrichardson la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
posit-dev/rsconnect-python#870 ·
Los mantenedores suelen responder en 1 día