ASSOCIATE-CLOUD-ENGINEER practice question 30 of 35

You are managing a project for the Business Intelligence (BI) department in your company. A data pipeline ingests data into BigQuery via streaming. You want the users in the BI department to be able to run the custom SQL queries against the latest data in BigQuery. What should you do?

Full set: 332 questions
Answer options
A: Create a Data Studio dashboard that uses the related BigQuery tables as a source and give the BI team view access to the Data Studio dashboard.
B: Create a Service Account for the BI team and distribute a new private key to each member of the BI team.
C: Use Cloud Scheduler to schedule a batch Dataflow job to copy the data from BigQuery to the BI team's internal data warehouse.
D: Assign the IAM role of BigQuery User to a Google Group that contains the members of the BI team. Correct answer
Correct Answer:
D. Assign the IAM role of BigQuery User to a Google Group that contains the members of the BI team.
Explanation

The roles/bigquery.user IAM role contains the bigquery.jobs.create permission, which is required to run query jobs. Assigning this role to a Google Group is the recommended best practice for managing access for a team. This approach allows for centralized and scalable management of permissions; when a user joins or leaves the BI department, an administrator only needs to update the Google Group membership, rather than modifying multiple individual IAM policies. This directly and securely fulfills the requirement for the BI team to run custom SQL queries.

Why Incorrect

A. Data Studio is a visualization and reporting tool. It does not provide an interface for users to write and execute their own ad-hoc, custom SQL queries.
B. Service accounts are intended for applications and services, not individual users. Sharing a service account and its keys among multiple people is a significant security anti-pattern that breaks the principle of individual accountability.
C. Copying data to another data warehouse is inefficient, introduces data latency, and incurs extra cost. The requirement is to query the latest data directly within BigQuery.

References

1. Google Cloud Documentation, BigQuery access control, "Predefined roles and permissions": The roles/bigquery.user role is described as providing permissions to run jobs, including queries, on behalf of the user. It specifically includes the bigquery.jobs.create permission.

2. Google Cloud Documentation, Identity and Access Management, "Best practices for using IAM": Under the section "Use Google Groups to manage users," the documentation states, "We recommend that you use Google Groups to manage users... Using groups makes it easy to add and remove team members in one place instead of updating multiple IAM policies."

3. Google Cloud Documentation, Identity and Access Management, "Understanding service accounts": The documentation clarifies, "A service account is a special kind of account typically used by an application or a virtual machine (VM) instance, not a person. Applications use service accounts to make authorized API calls." This highlights why they are inappropriate for direct user access.

Scroll to Top