An enterprise architecture team is conducting an operational and security audit of their automated deployment pipeline. The current system utilizes Cloud Build to execute Terraform scripts for infrastructure provisioning and deploy microservices to Google Kubernetes Engine (GKE) clusters. The audit revealed that build executions currently rely on broad primitive roles, pipeline state is maintained locally on temporary build agent disks leading to state corruption, and team members use exported long-lived service account JSON keys to authenticate pipeline triggers from external developer environments. Which TWO architectural modifications should be implemented to align the software delivery lifecycle with Google Cloud security and operational best practices?
- Configure a dedicated user-managed service account for Cloud Build restricted to fine-grained predefined roles, and implement Workload Identity Federation for authenticating external developer triggers.Answer
- Migrate the Terraform state storage to a Cloud Storage backend configured with object versioning and state locking enabled.Answer
- CAssign the primitive Owner role to the Cloud Build service account across the organization hierarchy to ensure uninterrupted resource provisioning.
- DStore Terraform state files within the local ephemeral disk cache of the build worker instances to maximize pipeline execution performance.
- EGrant developers the Service Account Admin role so they can generate fresh short-lived JSON keys locally whenever triggering pipeline builds.