exam questions

Exam Professional Cloud Architect All Questions

View all questions & answers for the Professional Cloud Architect exam

Exam Professional Cloud Architect topic 1 question 57 discussion

Actual exam question from Google's Professional Cloud Architect
Question #: 57
Topic #: 1
[All Professional Cloud Architect Questions]

Your company is using BigQuery as its enterprise data warehouse. Data is distributed over several Google Cloud projects. All queries on BigQuery need to be billed on a single project. You want to make sure that no query costs are incurred on the projects that contain the data. Users should be able to query the datasets, but not edit them.
How should you configure users' access roles?

  • A. Add all users to a group. Grant the group the role of BigQuery user on the billing project and BigQuery dataViewer on the projects that contain the data.
  • B. Add all users to a group. Grant the group the roles of BigQuery dataViewer on the billing project and BigQuery user on the projects that contain the data.
  • C. Add all users to a group. Grant the group the roles of BigQuery jobUser on the billing project and BigQuery dataViewer on the projects that contain the data.
  • D. Add all users to a group. Grant the group the roles of BigQuery dataViewer on the billing project and BigQuery jobUser on the projects that contain the data.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
RitwickKumar
Highly Voted 2 years, 2 months ago
Selected Answer: C
Both A & C are correct but using the principle of least privileges C is the most appropriate. BigQuery User: (roles/bigquery.user) When applied to a dataset, this role provides the ability to read the dataset's metadata and list tables in the dataset. When applied to a project, this role also provides the ability to run jobs, including queries, within the project. A principal with this role can enumerate their own jobs, cancel their own jobs, and enumerate datasets within a project. <b>Additionally, allows the creation of new datasets within the project; the creator is granted the BigQuery Data Owner role(roles/bigquery.dataOwner) on these new datasets.</b> Lowest-level resources where you can grant this role: Dataset BigQuery Job User: (roles/bigquery.jobUser) Provides permissions to run jobs, including queries, within the project. Lowest-level resources where you can grant this role: Project Source: https://cloud.google.com/bigquery/docs/access-control
upvoted 26 times
...
kimharsh
Highly Voted 2 years, 8 months ago
Selected Answer: C
C is the correct Answer , A is wrong because bq User Permission will allow you to edit the dataset, which is something that we don't want in this scenario. B and D is wrong because "You want to make sure that no query costs are incurred on the projects that contain the data" so you don't want users to fire quires on the Project that contains the dataset , hence the "dataViewer" permission https://cloud.google.com/bigquery/docs/access-control
upvoted 21 times
kratosmat
1 year, 7 months ago
It seems that User Permission doesn't allow to edit data, isn't it?
upvoted 1 times
...
...
plumbig11
Most Recent 3 months, 3 weeks ago
Selected Answer: C
BigQuery jobUser on the billing project and BigQuery dataViewer on the projects that contain the data.
upvoted 1 times
...
JonathanSJ
3 months, 4 weeks ago
Selected Answer: C
I will go for C.
upvoted 1 times
...
Edgo97
8 months, 1 week ago
The link to refer here: https://cloud.google.com/bigquery/docs/access-control
upvoted 1 times
...
SidsA
1 year, 7 months ago
Selected Answer: C
The "roles/bigquery.jobUser" role provides the permission to run jobs, including querying, exporting and copying data, and creating views and materialized views. This role does not provide permissions to create, update, or delete BigQuery resources, such as datasets, tables, and models. Users with this role can only interact with BigQuery through jobs. The "roles/bigquery.User" role, on the other hand, provides the permission to create, update, and delete BigQuery resources, as well as run jobs. This role includes all the permissions of the "roles/bigquery.jobUser" role, and in addition allows users to manage BigQuery resources, such as creating datasets, tables, and models, and modifying their schema and access controls.
upvoted 3 times
...
jlambdan
1 year, 7 months ago
Selected Answer: C
A is wrong because https://cloud.google.com/bigquery/docs/access-control#bigquery.user C is correct because https://cloud.google.com/bigquery/docs/access-control#bigquery.jobUser
upvoted 1 times
...
jay9114
1 year, 10 months ago
Selected Answer: C
Important statements from the prompt 1. All queries need to be billed to a single project - one project that queries data stored on other projects. Let's call this our billing project. a. jobUser is the best role to satisfy this need, because it provides permission to run jobs and queries within a project. 2. Other projects is where the data resides. These projects don't need much access besides the ability to be viewed (not edited). a. The dataViewer role provide permission to read all datasets in the project.
upvoted 7 times
...
omermahgoub
1 year, 10 months ago
The correct answer is A: Add all users to a group. Grant the group the role of BigQuery user on the billing project and BigQuery dataViewer on the projects that contain the data. To make sure that no query costs are incurred on the projects that contain the data and allow users to query the datasets but not edit them, you should follow these steps: Add all users to a group. Grant the group the role of BigQuery user on the billing project. This will allow the group to run queries on BigQuery and incur costs on the billing project. Grant the group the role of BigQuery dataViewer on the projects that contain the data. This will allow the group to view the datasets and run queries on them, but not edit them.
upvoted 1 times
omermahgoub
1 year, 10 months ago
The BigQuery Job User role (roles/bigquery.jobUser) and the BigQuery User role (roles/bigquery.user) have similar permissions, but they differ in the scope of their permissions. The BigQuery Job User role grants users the ability to create and modify query jobs, but it does not grant them the ability to run queries or incur costs on the project. This role is intended for users who need to create and manage query jobs, but who should not be able to run queries or incur costs. The BigQuery User role grants users the ability to run queries and incur costs on the project, in addition to the ability to create and modify query jobs. This role is intended for users who need to run queries and incur costs on the project, as well as create and manage query jobs.
upvoted 3 times
omermahgoub
1 year, 10 months ago
Here is a summary of the differences between the BigQuery Job User role and the BigQuery User role: BigQuery Job User role (roles/bigquery.jobUser): Can create and modify query jobs Cannot run queries or incur costs on the project BigQuery User role (roles/bigquery.user): Can create and modify query jobs Can run queries and incur costs on the project If you want to grant users the ability to create and modify query jobs, but not run queries or incur costs on the project, you should use the BigQuery Job User role. If you want to grant users the ability to run queries and incur costs on the project, in addition to the ability to create and modify query jobs, you should use the BigQuery User role.
upvoted 2 times
...
...
omermahgoub
1 year, 10 months ago
Option B: Granting the group the roles of BigQuery dataViewer on the billing project and BigQuery user on the projects that contain the data will not allow the group to incur costs on the billing project and will not meet the requirements of the scenario. Option C: Granting the group the roles of BigQuery jobUser on the billing project and BigQuery dataViewer on the projects that contain the data will not allow the group to incur costs on the billing project and will not meet the requirements of the scenario. Option D: Granting the group the roles of BigQuery dataViewer on the billing project and BigQuery jobUser on the projects that contain the data will not allow the group to incur costs on the billing project and will not meet the requirements of the scenario.
upvoted 1 times
...
Diwz
6 months, 2 weeks ago
BigQuery User (roles/bigquery.user) When applied to a dataset, this role provides the ability to read the dataset's metadata and list tables in the dataset. When applied to a project, this role also provides the ability to run jobs, including queries, within the project. A principal with this role can enumerate their own jobs, cancel their own jobs, and enumerate datasets within a project. Additionally, allows the creation of new datasets within the project; the creator is granted the BigQuery Data Owner role (roles/bigquery.dataOwner) on these new datasets. Bigquery.user has potential to create a dataset inside the project and creates becomes owner of the dataset. This is not the requirement stated in the question scenario. Answer is C
upvoted 1 times
...
...
AzureDP900
2 years ago
C is right Add all users to a group. Grant the group the roles of BigQuery jobUser on the billing project and BigQuery dataViewer on the projects that contain the data.
upvoted 1 times
...
minmin2020
2 years ago
Selected Answer: C
C. Add all users to a group. Grant the group the roles of BigQuery jobUser on the billing project and BigQuery dataViewer on the projects that contain the data.
upvoted 1 times
...
Vedjha
2 years ago
D is the answer: Cloud BigQuery Roles Cloud BigQuery IAM Roles BigQuery Admin - bigquery.* BigQuery Data Owner - bigquery.datasets.*, bigquery.models.*, bigquery.routines.*, bigquery.tables.* (Does NOT have access to Jobs!) BigQuery Data Editor - bigquery.tables.(create/delete/export/get/getData/getIamPolicy/ list/update/updateData/updateTag), bigquery.models.*, bigquery.routines.*, bigquery.datasets.(create/get/getIamPolicy/updateTag) BigQuery Data Viewer - get/list bigquery.(datasets/models/routines/tables) BigQuery Job User - bigquery.jobs.create BigQuery User - BigQuery Data Viewer + get/list (jobs, capacityCommitments, reservations etc) To see data, you need either BigQuery User or BigQuery Data Viewer roles You CANNOT see data with BigQuery Job User roles BigQuery Data Owner or Data Viewer roles do NOT have access to jobs!
upvoted 1 times
...
kimharsh
2 years, 8 months ago
C is the correct Answer , A is wrong because bq User Permission will allow you to edit the dataset, which is something that we don't want in this scenario. B and D is wrong because "You want to make sure that no query costs are incurred on the projects that contain the data" so you don't want users to fire quires on the Project that contains the dataset , hence the "dataViewer" permission https://cloud.google.com/bigquery/docs/access-control
upvoted 1 times
...
victory108
2 years, 9 months ago
C. Add all users to a group. Grant the group the roles of BigQuery jobUser on the billing project and BigQuery dataViewer on the projects that contain the data.
upvoted 4 times
...
LoveT
2 years, 10 months ago
C looks to be the correct answer
upvoted 2 times
...
HenkH
2 years, 10 months ago
Selected Answer: C
JobUser is the correct terminology for bq. Only read access to data sources is required.
upvoted 1 times
...
HenkH
2 years, 10 months ago
bq is using jobs - so "user" isn't specific enough, jobuser is.
upvoted 2 times
elenamatay
2 years, 9 months ago
Hence C
upvoted 1 times
...
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago