Closed jonrau1 closed 9 months ago
Adding the following GCP Services/Components to the Auditors Firebase: do not use default firebase service account AlloyDB: do not use default alloy service account, ensure continuous backup & recovery is enabled, ensured automated backups are enabled BigQuery: do not use default bq service account, use policy tags for column level access BigTable: do not use default service account Cloud Spanner: do not use default service account Cloud Functions: do not use default service account, good to require auth depending on use case, require HTTPS, depending on use case only allow internal traffic so traffic is routed through VPC, place in a VPC network so egress traffic is routed through VPC, enable HTTP/2 and session affinity, enforce binary authorization for deployment Cloud Run - do not use default service account, best to force internal access so traffic has to flow through VPC depening on use case, require authentication depending on use case GKE (GKE Autopilot will enable a lot of these by default): Binary Auth, CPANs, NetPol, no use GKE default svc acct, PSP controller, Shield GKE, Release Channel K8s, Secure Boot, GCE legacy metadata api disabled, Legacy Auth disabled, IntegMon enabled GCS: enable bucket logging, depending on use case do not allow public access, enable versioning, enable retention policy, do not use default service account IAM Service Accounts: should be rotated on some recurring schedule, do not use primitive roles
Story
As the maintainer of ElectricEye, I want to add more GCP auditors so that I can have coverage parity with AWS, additionally I want to support GCP Organization-level Service Accounts so that I can assess multiple GCP Projects at once.
Definition of Done
Add to the existing GCP coverage and refactor the GCP target workflow to either support multiple Projects or an entire Organization via Service Accounts or otherwise. Multi-project coverage is a stretch goal.
Nice to Have
Multi-project / GCP Orgs Support: adding list of Projects into TOML or accepting a Comma-sep value input fromCOMPLETE!click
Additional Information
For GCP cross-Project / APIs info...all seems to be the same of creating one SA and then adding the SA email into all other Projects. Holy shit, there has to be a faster way...
TOML Arrays (list)