真题实战
Scenario: Your company utilizes BigQuery as the enterprise data warehouse, with data spread across multiple Google Cloud projects. Queries on BigQuery must be billed to a specific project, separate from where the data resides. Users should have query access to datasets without the ability to modify them. (您的公司利用BigQuery作为企业数据仓库,数据分布在多个谷歌云项目中。BigQuery上的查询必须指向一个特定的项目,与数据所在的地方分开。用户应该有对数据集的查询访问权限,而无需修改它们。)
Question: How should you set up users' access roles to achieve this configuration?
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.
—— By assigning the role of BigQuery jobUser on the billing project, users can submit queries that will be billed to the billing project. Additionally, by granting the role of BigQuery dataViewer on the projects that contain the data, users can view the datasets without being able to edit them.
解析
在Google Cloud BigQuery中,jobUser
和dataViewer
是两种不同的角色,它们的权限和用途各有不同。以下是这两个角色的主要区别:
1. jobUser
-
权限:
jobUser
角色允许用户创建和管理BigQuery作业(jobs),包括查询作业、加载作业和导出作业。- 用户可以启动查询并查看作业的状态和结果,但不能访问数据集中的数据。
-
用途:
- 适用于需要执行查询或其他作业但不需要访问数据的用户。
- 通常用于分析师或开发人员,他们需要运行查询但不需要直接查看数据集的内容。
2. dataViewer
-
权限:
dataViewer
角色允许用户查看BigQuery数据集中的数据。- 用户可以查看表的内容、模式和元数据,但不能执行查询作业。
-
用途:
- 适用于需要访问和查看数据但不需要运行作业的用户。
- 通常用于数据分析师或业务用户,他们需要查看数据以进行分析,但不需要执行复杂的查询或作业。
总结
-
角色功能:
jobUser
:可以创建和管理作业,但不能查看数据。dataViewer
:可以查看数据,但不能创建或管理作业。
-
适用场景:
jobUser
适合需要运行查询的用户。dataViewer
适合只需访问数据的用户。
在实际应用中,这两个角色可以根据团队的需求进行组合使用,以确保用户能够获得所需的权限,同时保持数据的安全性和合规性。