BigQuery 中的安全和访问权限控制简介

本文档简要介绍了使用 Identity and Access Management (IAM) 在 BigQuery 中进行访问权限控制。IAM 可让您授予对特定 BigQuery 资源的精细访问权限,并有助于防止对其他资源的访问。IAM 可帮助您应用最小权限安全原则,该原则要求任何 IAM 主账号都不应拥有超出实际所需数量的权限。

当 IAM 主账号(例如用户、群组或服务账号)调用 Google Cloud API 时,该主账号必须具有使用相应资源所需的最小 IAM 权限。如需向主账号授予所需的权限,您可以向主账号授予 IAM 角色。

本文档介绍如何使用预定义和自定义 IAM 角色来允许主账号访问 BigQuery 资源。

如需熟悉 Google Cloud中访问权限的管理方式,请参阅 IAM 概览

IAM 角色类型

角色是一组可授予 IAM 主账号的权限。您可以使用 IAM 中以下类型的角色来授予对 BigQuery 资源的访问权限:

如需确定预定义 IAM 角色中是否包含一项或多项权限,您可以使用以下方法之一:

BigQuery 中的 IAM 角色

权限不会直接分配给用户、群组或服务账号。用户、群组或服务账号会被授予一个或多个预定义角色或自定义角色,以获得对资源执行操作所需的权限。您可以针对特定资源授予这些角色,但这些角色也适用于资源层次结构中此资源的所有子级。

向用户分配多个角色类型时,授予的权限是每个角色所拥有权限的并集。

您可以授予对以下 BigQuery 资源的访问权限:

  • 数据集以及数据集中的以下资源:
    • 表和视图
    • 例程
  • 连接
  • 已保存的查询
  • 数据画布
  • 数据准备
  • 流水线
  • 代码库

授予对 Resource Manager 资源的访问权限

您可以通过 Resource Manager 配置对 BigQuery 资源的访问权限,方法是向主账号授予 BigQuery 角色,然后在组织、文件夹或项目中授予该角色。

向组织和项目等 Resource Manager 资源授予角色时,您将对组织或项目中的所有 BigQuery 资源授予权限。

如需详细了解如何使用 IAM 管理对 Resource Manager 资源的访问权限,请参阅 IAM 文档中的管理对项目、文件夹和组织的访问权限

授予对数据集的访问权限

您可以在数据集级分配角色,以提供对特定数据集的访问权限,而无需提供对项目的其他资源的完整访问权限。在 IAM 资源层次结构中,BigQuery 数据集是项目的子资源。如需详细了解如何在数据集级分配角色,请参阅使用 IAM 控制对资源的访问权限

授予对数据集内单个资源的访问权限

您可以授予角色对数据集内特定类型的资源的访问权限,而无需提供对数据集资源的完整访问权限。

角色可以应用于数据集内的以下资源:

  • 表和视图
  • 例程

如需详细了解如何在表、视图或例程级分配角色,请参阅使用 IAM 控制对资源的访问权限

后续步骤