Refer to the exhibit. A user 'admin@example.com' attempts to create a Compute Engine instance but fails with a permission error. Which permission is missing?
iam.serviceAccounts.actAs is the 'Service Account User' permission, required to delegate the new instance's identity to a specific service account. Even with compute.instanceAdmin.v1, Compute Engine's authorization layer checks whether the caller can 'actAs' the service account on the project; without this, the create request is denied with a permissions error. Granting this on the service account (or project) allows the user to create instances that run as that service account, making it the exact missing permission.
Why this answer
The error occurs because when a user creates a Compute Engine instance with a service account, they need the `iam.serviceAccounts.actAs` permission on that service account. This permission allows the user to impersonate the service account and delegate its identity to the instance. Without it, the creation fails even if the user has `compute.instances.create`.
Exam trap
Google Cloud often tests the `iam.serviceAccounts.actAs` permission as a hidden requirement, trapping candidates who assume that `compute.instances.create` alone is sufficient for instance creation with a service account.
How to eliminate wrong answers
Option A is wrong because `compute.instances.get` is a read-only permission for viewing instance details, not required for creation. Option C is wrong because `compute.instances.create` is necessary but not sufficient; the user likely already has it, as the error is about the service account delegation, not the instance creation itself. Option D is wrong because `compute.instances.setServiceAccount` is used to change the service account on an existing instance, not to authorize the initial attachment during creation.