Setting up a Shared VPC allows you to create a centrally managed network that spans multiple projects. Here's how you can achieve this while ensuring separation of duties:
Create a Host Project:
Create a project that will act as the host project for your Shared VPC.
Configure Shared VPC:
In the host project, enable the Shared VPC feature.
Create Service Projects:
Create separate service projects for different teams, such as developers and other stakeholders.
Assign Roles:
Security Team: Grant the Compute Network Admin role. This allows the security team to manage network resources, such as firewall rules, subnets, and routes.
Developers: Share the host project’s network with the service projects. Assign roles like Compute Instance Admin to developers in the service projects, enabling them to create and manage VM instances without altering network configurations.
Firewall Management:
The security team will define and manage firewall rules within the host project, ensuring consistent and secure network policies.
Benefits:
Separation of Duties: Security teams handle networking, and developers focus on application deployment and management.
Centralized Control: Network policies are centrally managed, ensuring compliance and security.
Scalability: Easy to add new projects and teams without compromising the overall network security.
References
Google Cloud VPC Documentation
Managing Resources with Shared VPC