A DevOps engineer at a logistics company needs to link a newly provisioned project, `supply-chain-analytics-prod`, to the corporate Cloud Billing Account. Organizational security policies mandate strict adherence to the principle of least privilege, ensuring the engineer cannot view financial invoices for other projects linked to the billing account or modify billing payment settings. Which combination of IAM roles grants the minimum required permissions to complete this task?
- Billing Account User (`roles/billing.user`) on the Cloud Billing Account and Project Billing Manager (`roles/resourcemanager.projectBillingManager`) on the target projectAnswer
- BBilling Account Administrator (`roles/billing.admin`) on the Cloud Billing Account and Project Owner (`roles/owner`) on the target project
- CProject Billing Manager (`roles/resourcemanager.projectBillingManager`) on the Cloud Billing Account and Project Viewer (`roles/viewer`) on the target project
- DBilling Account User (`roles/billing.user`) on the parent Organization node only, without explicit roles on the project or billing account
Answer
The correct role combination is Billing Account User (`roles/billing.user`) bound on the Cloud Billing Account resource and Project Billing Manager (`roles/resourcemanager.projectBillingManager`) bound on the target project.
Linking a Google Cloud project to a billing account requires permissions on two distinct resources: permission to use the billing account (provided by Billing Account User on the billing account) and permission to change billing configuration on the project (provided by Project Billing Manager on the project). This combination enforces least privilege.
Step-by-Step Solution
Key Concept
Two-Sided Permission Requirement for Project Billing Account Linking