Question 347 of 960
hardMultiple ChoiceObjective-mapped
Troubleshooting Dataflow Permission Denied: Granting iam.serviceAccountUser for Cross-Project Access
A company uses multiple GCP projects and wants to allow a service account from Project A to initiate Dataflow jobs in Project B. The service account in Project A has the Dataflow Developer role at the organization level. However, it fails with permission denied when trying to submit a job to Project B. What is the most likely issue?
Quick Answer
The answer is that the service account from Project A needs the Service Account User role (roles/iam.serviceAccountUser) on the Dataflow service account in Project B. This is required because when a Dataflow job is submitted to a target project, the job executes under the identity of a service account in that project, not the caller’s identity. The caller must have the `iam.serviceAccounts.actAs` permission on that target service account to delegate their authority; without it, the API call fails with a “dataflow cross project permission denied” error, even if the caller holds the Dataflow Developer role at the organization level. On the Google Professional Cloud Security Engineer exam, this scenario tests your understanding of the separation between job submission permissions and execution identity permissions—a common trap is assuming that broad roles like Dataflow Developer automatically grant cross-project `actAs` rights. Remember the memory tip: “Developer lets you submit, but Service Account User lets you act as.”
⚠ Common exam trap
Google Cloud often tests the distinction between having a role that grants the ability to create a resource (like Dataflow Developer) versus the need for the Service Account User role to act as the service account that runs the resource, which is a subtle but critical IAM permission requirement.
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 service account needs the Service Account User role on the Dataflow service account in Project B.
The service account from Project A has the Dataflow Developer role at the organization level, which grants permissions to create Dataflow jobs, but it still needs the Service Account User role (roles/iam.serviceAccountUser) on the Dataflow service account in Project B. When a Dataflow job is submitted, the job runs as a service account in the target project (Project B), and the caller must have the iam.serviceAccounts.actAs permission on that service account. Without this role, the API call fails with a permission denied error even though the Dataflow Developer role is present.
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 organization policy restricts cross-project access.
Why it's wrong here
Organization policies would affect all projects, not just cross-project.
- ✗
The service account does not have permission to create Dataflow jobs in Project B because it is not a member of Project B.
Why it's wrong here
Organization-level roles grant access across all projects, so membership isn't the issue.
- ✗
The Dataflow API is not enabled in Project B.
Why it's wrong here
If the API were disabled, the error would be different.
- ✓
The service account needs the Service Account User role on the Dataflow service account in Project B.
Why this is correct
To act as the project's compute service account, the launching service account needs roles/iam.serviceAccountUser.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on PCSE
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A Dataflow job launched by service account 'my-sa@...' fails with permission denied. The audit log shows the above entry. What missing role is causing the failure?
medium- A.roles/iam.workloadIdentityUser on the worker service account
- ✓ B.roles/iam.serviceAccountUser on the worker service account
- C.roles/iam.serviceAccountAdmin on the worker service account
- D.roles/iam.serviceAccountTokenCreator on the worker service account
Why B: When a Dataflow job fails with permission denied and the audit log shows the entry, the missing role is typically roles/iam.serviceAccountUser on the worker service account. This role is required because the Dataflow service (or the service account launching the job) must be able to impersonate the worker service account to execute the pipeline's tasks. Without this role, the job cannot assume the identity of the worker service account, leading to the permission denied error.
Last reviewed: Jun 30, 2026
This PCSE 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 PCSE exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.