授予 Dataform 所需的访问权限

本文档介绍了如何 Dataform 所需的 Identity and Access Management (IAM) 角色 服务账号,用于在 BigQuery 中执行工作流。

Dataform 中的服务账号简介

创建第一个 Dataform 代码库时,Dataform 系统会自动生成默认服务账号Dataform 使用 默认服务账号,来代表您与 BigQuery 进行交互。 未向默认 Dataform 服务账号授予任何权限 默认的 BigQuery 角色或权限。您必须向 对默认 Dataform 服务账号访问权限。

您的默认 Dataform 服务账号 ID 采用以下格式:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

YOUR_PROJECT_NUMBER 替换为您的 Google Cloud 项目。您可以在以下位置找到您的 Google Cloud 项目 ID: Google Cloud 控制台信息中心。如需了解详情,请参阅识别项目

除了默认的 Dataform 服务账号外,您还可以使用 其他服务账号代表您执行工作流。您可以配置 自定义服务账号:

创建 Dataform 代码库或工作流配置时,您可以 选择与您的 Google Cloud 项目关联的任意服务账号, 访问权限。您必须为所有服务账号配置所需权限 与 Dataform 资源相关联。

与 Dataform 关联的自定义服务账号 仅用于从该仓库执行工作流。所有其他 代码库操作仍由默认 Dataform 执行 服务账号。

Dataform 服务账号所需的角色

Dataform 中使用的默认服务账号和自定义服务账号需要 符合以下所有条件的 BigQuery IAM 角色 BigQuery 中的工作流:

此外,您还需要授予默认的 Dataform 服务账号 Service Account Token Creator(roles/iam.serviceAccountTokenCreator) 对要在 Dataform 中使用的任何自定义服务账号的访问权限。

Dataform 服务账号的安全注意事项

将 Dataform 所需的角色授予服务账号 需要注意以下安全注意事项:

  • 被授予所需角色的任何服务账号都可以获得 该服务账号所属的项目中的 BigQuery 或 Secret Manager 所有项目,无论 VPC Service Controls 为何

    如需了解详情,请参阅 为 Dataform 配置 VPC Service Controls

  • 拥有 dataform.repositories.create IAM 的任何用户 权限,可以使用默认的 Dataform 服务执行代码 以及授予该服务账号的所有权限

    如需了解详情,请参阅 Dataform 权限的安全注意事项

限制用户或服务账号可以读取或写入的数据 您可以授予 授予所选的 BigQuery 数据集或表。如需了解详情,请参阅 控制对数据集的访问权限控制对表和视图的访问权限

准备工作

  1. 在 Google Cloud 控制台中,前往 Dataform 页面。

    转到 Dataform 页面

  2. 选择或创建代码库

向 Dataform 中使用的服务账号授予所需的 BigQuery 角色

要将所需的 BigQuery IAM 角色授予 默认 Dataform 服务账号或自定义服务账号 ,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM 页面

  2. 点击授予访问权限

  3. 新的主账号字段中,输入 服务账号 ID。

  4. 选择角色下拉列表中, BigQuery Job User 角色。

  5. 点击添加其他角色,然后在选择角色下拉列表中, 选择 BigQuery Data Editor 角色。

  6. 点击添加其他角色,然后在选择角色下拉列表中, 选择 BigQuery Data Viewer 角色。

  7. 点击保存

向自定义服务账号授予令牌创建权限

如需在 Dataform 中使用自定义服务账号,默认 Dataform 服务账号必须能够访问自定义服务 。如需授予此访问权限,您需要添加默认的 Dataform 该自定义服务账号的主服务账号 Service Account Token Creator 角色。

如需向默认 Dataform 服务账号授予对自定义服务账号的访问权限 请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 IAM >服务账号

    转到服务账号页面

  2. 选择一个项目。

  3. 项目“YOUR_PROJECT_NAME”的服务账号页面上, 选择您的自定义 Dataform 服务账号。

  4. 转到权限,然后点击授予访问权限

  5. 新的主账号字段中,输入您的默认 Dataform 服务账号 ID。

    您的默认 Dataform 服务账号 ID 采用以下格式:

    service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  6. 选择角色下拉列表中, Service Account Token Creator 角色。

  7. 点击保存

后续步骤