Comprehensive and Detailed Explanation From Exact Extract:
The requirements are met by granting access at the highest point in the resource hierarchy that encompasses all the necessary resources, using the least privileged role required.
Least Privilege Role: The team needs to read data and not modify or delete it. The roles/bigquery.dataViewer role is the correct least privileged role for read-only access to data.
Minimize Operational Overhead: Granting the role at the Folder level ensures that the access is automatically inherited by all current and future projects within that folder, drastically reducing the operational overhead compared to granting the role per project (C) or per dataset (A).
Scope: The Folder scope (Data Warehouse folder) is the container for all BigQuery data in the projects within the folder, making it the ideal single point of granting access.
Extracts:
"IAM roles are inherited down the resource hierarchy... Granting a role at the folder level will grant the principal that role across all projects within that folder, including any projects created in the future." (Source 10.1)
"The BigQuery Data Viewer (roles/bigquery.dataViewer) role grants permission to read data in BigQuery tables and views... It does not grant permissions to modify or delete the data, adhering to the principle of least privilege for read-only tasks." (Source 10.2)
Submit