I'm working on a project that we will deploy to Google Cloud Platform. The services we want to use include cloud run, SQL, and cloud storage.
We will use several deployments for different phases of development; namely development, staging, and production.
I'm worried about security mostly regarding who can access what. Obviously, we want our developers to have some access to the development environment so that they may tweak things, create temporary databases, and perform other tasks that may be necessary to help in development. However, the production environment is naturally more protected and not everyone should have access to its settings.
One solution I thought of was creating a separate project for each environment. However, I believe this might not be the correct course of action. What is your suggestion for this? Basically what we would like is separate environments with their own firewall and access controls.