Google ACE Setting Up a Cloud Solution Environment Practice Question
You are configuring a new project and need to enable the Compute Engine API. However, the command 'gcloud services enable compute.googleapis.com' fails with a permission error. Your user has the role roles/editor on the project. What is the likely cause?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The project does not have a billing account associated.
The role roles/editor includes serviceusage.services.enable permission, so it should work. However, if the organization has an org policy 'constraints/compute.restrictResourceCreation' that restricts API usage, it might block. But the most common issue is that the project is new and the billing account is not associated, preventing API enablement. Editor role has permission, but billing must be active.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The Compute Engine API is already enabled.
Why it's wrong here
If the Compute Engine API were already enabled, the gcloud services enable command would not return a permission or billing error; it is idempotent and would simply output a success message such as "Operation finished successfully" or "Not change service config". An already-enabled service does not block re-enabling, nor does it trigger the underlying billing-account check to fail. Therefore, this state cannot explain the reported error.
- ✗
The user needs to authenticate again.
Why it's wrong here
Failed or expired authentication produces a distinct class of errors like "ERROR: (gcloud.auth.login) You have not performed a login" or a 401/403 authentication error with a login hint, not a "Permission denied" or "Billing is required" message. Re-authenticating only refreshes OAuth credentials and does not alter the project's billing-account association or the IAM roles of the authenticated principal. Thus, re-authentication would not resolve a billing-related constraint.
- ✗
The user does not have the serviceusage.services.enable permission.
Why it's wrong here
The error is not due to missing IAM permission because the user acting on the project holds the roles/editor (or owner) predefined role, which explicitly includes the serviceusage.services.enable permission on the project. If that permission were missing, the Service Usage API would return an error stating "Permission denied on resource" or "Permission serviceusage.services.enable denied for the resource". Moreover, the serviceusage.services.enable permission is separate from billing-related permissions such as billing.resources.linked, which are not required to issue the enable command itself.
- ✓
The project does not have a billing account associated.
Why this is correct
Enabling the Compute Engine API requires the project to have a billing account associated with it, because even though Compute Engine offers a free tier, the service's resource management, quotas, and metering are tied to billing to prevent abuse and allow for usage tracking. When a project has no billing account, the Service Usage API returns an error like "Billing account must be linked to project" or "Billing is required for usage", and this occurs regardless of the user's IAM role or authentication state. Associating a billing account at the project level—through the Cloud Console or the gcloud billing projects link command—is the prerequisite that resolves this error.
Go deeper
Related to this question
Learn chapter
Google Compute Engine
Key term
Billing account
A billing account in Google Cloud is a container for all the charges generated by using cloud resources, linked to a payment method and used to track and pay for your usage.
Key term
Organization
An Organization is a top-level container in Google Cloud that represents your company or entities and serves as the root node for all your cloud resources, policies, and access control.
About these practice questions
This ACE question is part of Courseiva's 769-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This ACE practice question is part of Courseiva's free Google Cloud certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the ACE exam.