通知

Duet AI 现已更名为 Google Workspace 专用 Gemini。了解详情

在贵组织中使用“关联工作表”

借助 Google 表格数据连接器“关联工作表”,您可以通过电子表格访问、分析、直观呈现和共享数十亿行数据。您还可以使用“关联工作表”完成以下任务:

  • 在熟悉的电子表格界面中与合作伙伴、分析人员或其他利益相关方展开协作。
  • 允许用户向协作者委托访问权限。
  • 确保数据分析工作有单一可信来源,无需额外导出 .csv 文件。
  • 分析根据属性(例如用户的 IP 地址和设备信息)限制访问的边界内的数据。

您可以手动或按定义的时间表从 BigQuery 或 Looker 上的关联工作表运行查询。 Google 表格会将这些查询的结果保存到您的电子表格中,以便您进行分析和共享。请观看这些视频教程,详细了解如何将关联工作表与 BigQuery 搭配使用

您可以在云端硬盘日志事件中查看关联工作表查询事件。

设置 BigQuery 以分析数据

打开此部分  |  全部收起

第 1 步:启用 Google Cloud

确保已为您的组织启用 Google Cloud。有关说明,请参阅查看为用户、群组或组织部门启用了哪些应用。如果您需要启用 Google Cloud,请参阅为用户启用或停用 Google Cloud

如需了解如何将关联工作表与 BigQuery 搭配使用,请参阅开始在 Google 表格中处理 BigQuery 数据

第 2 步:查看 IAM 角色

您可以使用 IAM(身份和访问权限管理)角色来分配权限,控制用户可以访问哪些数据。要在 Google 表格中添加或使用 BigQuery 项目,用户在 BigQuery 中的 IAM 角色必须是 bigquery.user 或是 bigquery.jobUserbigquery.dataViewer

如需了解这些角色,请参阅 BigQuery 预定义的 IAM 角色

用户可以执行的操作取决于其 IAM 角色和电子表格权限,而非电子表格所有者的权限。只有在您允许的情况下,贵组织外部的用户才能使用贵组织内部的 Google 表格文件。

在 Google 表格中可执行的操作 在 BigQuery 中所需的 IAM 角色 在 Google 表格中所需的权限
使用 BigQuery 表或视图创建图表、数据透视表、公式或提取内容

bigquery.user

bigquery.jobUser 和 bigquery.dataViewer

编辑者
查看通过 BigQuery 数据创建的图表、数据透视表、公式、提取内容或预览 编辑者或查看者
创建或修改自定义 BigQuery 查询

bigquery.user

bigquery.jobUser 和 bigquery.dataViewer

编辑者
查看自定义 BigQuery 查询 编辑者或查看者
刷新 BigQuery 中的数据

bigquery.user

bigquery.jobUser 和 bigquery.dataViewer

编辑者
第 3 步:分配 IAM 角色

您可以在 BigQuery 控制台中为数据集分配 IAM 角色。如需了解详情,请参阅使用 IAM 控制对资源的访问权限

第 4 步:(可选)配置 VPC Service Controls 以允许关联工作表

除了使用 IAM 授权哪些用户可以访问 BigQuery 数据之外,您还可以使用 VPC Service Controls 创建服务边界,以根据用户的 IP 地址和设备信息等属性限制访问权限。只有将边界配置为允许 Google 表格将查询结果复制到用户的电子表格,用户才能使用关联工作表访问受 VPC Service Controls 保护的 BigQuery 数据。如需了解详情,请参阅访问权限控制

设置 Looker 以分析数据

如要将关联工作表与 Looker 搭配使用,您必须在 Google 管理控制台中启用对未单独控制的服务的访问权限。有关详情,请参阅管理对未单独控制的服务的访问权限。此外,Looker 管理员必须先在 Looker 管理界面中启用关联工作表。如需了解更详细的说明,请参阅将关联工作表用于 Looker

允许用户委托对 BigQuery 关联工作表的访问权限

支持此功能的版本:企业标准版和企业 Plus 版;教育标准版和教育 Plus 版;“Enterprise Essentials”和“Enterprise Essentials Plus”。  比较您的版本

您可以允许用户委托对 BigQuery 关联工作表的访问权限,以便他们能够与其他用户协作分析数据和运行查询。

如要委托访问权限,用户需要与其他用户共享工作表。但是,如果工作表是通过链接公开共享的,用户就无法委托该工作表的访问权限。您可以在云端硬盘日志事件Cloud 审核日志中查看委托访问权限的用户和运行查询的用户。

启用或停用委托访问权限功能

  1. 登录您的 Google 管理控制台

    请使用您的管理员帐号(不是以“@gmail.com”结尾的帐号)登录。

  2. 在管理控制台中,依次点击“菜单”图标 接着点击  应用 接着点击 Google Workspace 接着点击 云端硬盘和文档 接着点击 功能和应用

  3. 关联工作表的委托访问权限功能部分,点击“修改”图标
  4. (可选)要将设置仅应用于部分用户,请在侧边选择一个组织部门(通常用于部门)或配置群组(高级)。显示具体方法

    群组设置会覆盖组织部门的设置。了解详情

  5. 委托设置部分,选中或取消选中允许拥有电子表格编辑权限的用户启用关联工作表的访问权限授予功能
  6. 如果您要配置组织部门或群组,请选择 Only users within a specific organizational unit or group can use delegation(只有特定组织部门或群组中的用户才能使用委托功能)。
  7. 如要允许任何有权访问工作表的用户委托访问权限,请选择任何用户都可以使用委托功能

    此选项包括您组织外有权访问工作表的用户。

  8. 点击保存。或者,您也可以针对 组织部门 点击覆盖

    如要稍后恢复继承的值,请点击继承(如果是群组,请点击取消设置)。

如果您启用了委托功能,请告知用户可以按照这些步骤委托对工作表的访问权限

查看关联工作表的日志事件

当关联工作表访问 BigQuery 和 Looker 数据时,云端硬盘日志事件会记录相应条目。条目还会记录在 Cloud Audit Logs(针对 BigQuery 访问)和系统活动记录探索(针对 Looker 访问)中。日志会显示谁访问了数据以及访问时间。

打开此部分  |  全部收起

使用 Reports API 分析云端硬盘日志事件

如要详细了解如何通过 Google 管理控制台分析云端硬盘日志事件,请参阅访问云端硬盘日志事件数据

您可以使用 Reports API 查看关联工作表查询事件。以下示例按关联工作表查询事件类型检索所有云端硬盘事件:

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/drive?eventName=connected_sheets_query

此 API 调用的完整 JSON 响应会显示在本页面下方的“完整 JSON 响应”部分。

执行查询的用户会显示为操作者。

"actor": {
  "email": "collaborator@example.com",
  "profileId": "user’s unique Google Workspace profile ID"
}

表格提供了有关作为参数执行的查询的更多信息。

"parameters": [
  {
    "name": "execution_trigger",
    "value": "sheets_ui"
  },
  {
    "name": "query_type",
    "value": "big_query"
  },
  {
    "name": "data_connection_id",
    "value": "The Cloud project ID"
  },
  {
    "name": "execution_id",
    "multiValue": [
      "jobs/big_query_job_id"
    ]
  },
  {
    "name": "delegating_principal",
    "value": "trix01@scary.docsplustesting.com"
  },

 

execution_trigger 字段是根据从 Google 表格中调用查询的方式设置的:

标签 执行查询的方式
sheets_ui 通过 Google 表格界面手动执行
schedule 通过 Google 表格中的预定刷新功能执行
api 通过 Sheets API 执行
apps-script 通过 Apps 脚本执行

query_type 字段是根据数据连接器设置的。
标签 数据连接器
big_query BigQuery
looker Looker

data_connection_id 字段是根据数据连接的 ID 设置的。对于 BigQuery,这是结算项目 ID。对于 Looker,这是实例的网址。

execution_id 是根据已执行的查询 ID 设置的。

值结构 查询实体
jobs/<JOB_ID> BigQuery 作业
datasets/<DATASET_NAME>/tables/<TABLE_NAME> BigQuery 表
query_tasks/<QUERY_TASK_ID> Looker 查询

 

使用其凭据的用户的电子邮件地址在日志中作为 delegating_principal 字段提供。

完整 JSON 响应

{
      "kind": "admin#reports#activity",
      "id": {
        "time": "2022-10-26T17:33:51.929Z",
        "uniqueQualifier": "report’s unique ID",
        "applicationName": "drive",
        "customerId": "ABC123xyz"
      },
      "actor": {
        "email": "collaborator@example.com",
        "profileId": "user’s unique Google Workspace profile ID"
      },
      "events": [
        {
          "type": "access",
          "name": "connected_sheets_query",
          "parameters": [
            {
              "name": "execution_trigger",
              "value": "sheets_ui"
            },
            {
              "name": "query_type",
              "value": "big_query"
            },
            {
              "name": "data_connection_id",
              "value": "The Cloud project ID"
            },
            {
              "name": "execution_id",
              "multiValue": [
                "jobs/big_query_job_id"
              ]
            },
            {
              "name": "doc_id",
              "value": "aBC-123-xYz"
            },
            {
              "name": "doc_type",
              "value": "spreadsheet"
            },
            {
              "name": "is_encrypted",
              "boolValue": false
            },
            {
              "name": "doc_title",
              "value": "Document title"
            },
            {
              "name": "visibility",
              "value": "shared_internally"
            },
            {
              "name": "actor_is_collaborator_account",
              "boolValue": false
            },
            {
              "name": "delegating_principal",
              "value": "owner@example.com"
            },
            {
              "name": "owner",
              "value": "owner@example.com"
            },
            {
              "name": "owner_is_shared_drive",
              "boolValue": false
            },
            {
              "name": "owner_is_team_drive",
              "boolValue": false
            }
          ]
        }
      ]
    }

使用日志浏览器分析 BigQuery 连接的 Cloud Audit Logs

每个电子表格都有一个唯一的 Google 表格 ID(可以在相应电子表格的网址中找到)。BigQueryAuditMetadata 格式的日志条目包含发送 BigQuery 数据访问请求的电子表格的 ID。

您可以在 Google Cloud 控制台中使用 Logs Explorer 构建查询来检索和分析日志。在 Logs Explorer 中输入:

protoPayload.metadata.firstPartyAppMetadata.sheetsMetadata.docId
  != NULL_VALUE

系统会显示电子表格 ID 不为空的条目,如以下示例所示:

metadata: {

 @type: "type.googleapis.com/google.cloud.audit.BigQueryAuditMetadata"

 firstPartyAppMetadata: {

   sheetsMetadata: {

     docId: "aBC-123_xYz"

   }

 }

Google 表格可以使用作业标签为查询作业添加信息。这些标签可提供更多数据供您分析,如以下示例所示:

jobInsertion: {

 job: {

  jobConfig: {

   labels: {

     sheets_access_type: "normal"

     sheets_connector: "connected_sheets"

     sheets_trigger: "user"

   }

系统会根据从 Google 表格调用查询的方式来设定 sheets_trigger 字段的值:

标签 执行查询的方式
user 通过 Google 表格界面手动执行
schedule 通过 Google 表格中的预定刷新功能执行
api 通过 Sheets API 执行
apps-script 通过 Apps 脚本执行

 

例如,如要查找与“关联工作表”的预定刷新任务相对应的条目,请在日志浏览器中使用以下查询:

protoPayload.metadata.firstPartyAppMetadata.sheetsMetadata.docId
  != NULL_VALUE

protoPayload.metadata.jobInsertion.job.jobConfig.labels.sheets_trigger
  = "schedule"

如果启用了委托的访问权限,则您可以在日志中找到凭据被用于运行查询的用户的电子邮件地址。您还可以查找触发查询的用户的电子邮件地址,如以下示例所示:

"authenticationInfo": {

  "principalEmail": "owner@example.com",

  "serviceAccountDelegationInfo": [

    {

      "firstPartyPrincipal": {

        "principalEmail": "collaborator@example.com",

          "serviceMetadata": {

             "service": "sheets"

          }

       }

     }

   ]

}

注意:只有在查询中使用委托的访问权限时,系统才会显示 serviceAccountDelegationInfo 字段。在这种情况下,principalEmail 下列出的人员就是委托访问权限的用户。 

如需更详细的说明文件,请参阅使用日志浏览器在日志浏览器中构建查询

不妨详细了解 BigQuery 审核日志电子表格 IDBigQueryAuditMetadata 格式SheetsMetadata共享电子表格,以及 Google Sheets API

分析 Looker 系统活动
  1. 在您的 Looker 实例中,点击左侧的探索接着点击历史记录
  2. Find a Field(查找字段)部分,输入 API 客户端名称,然后点击“过滤器”图标 ,以将此字段添加到数据集。
  3. 过滤条件下,选择等于,然后在其旁边的字段中输入关联工作表
  4. Find a Field(查找字段)部分,输入关联工作表电子表格 ID,以将此字段添加到数据集。
  5. Find a Field(查找字段)部分,输入关联工作表触发器,以将此字段添加到数据集。
  6. Find a Field(查找字段)部分,输入历史记录 Slug,以将此字段添加到数据集。
  7. 历史记录 Slug 等同于云端硬盘日志事件中记录的 QUERY_TASK_ID。如果您想在云端硬盘日志中查找特定查询,请在该字段中添加过滤条件。
  8. (可选)要向数据集添加任何其他字段(例如用户名历史记录创建日期),请选择这些字段。
  9. (可选)要添加任何过滤条件,请选择相应过滤条件。
    例如,您可以过滤历史记录创建日期,使其为过去 7 天,也可以过滤特定的电子表格 ID,以仅查看从特定电子表格 ID 发起的 Looker 查询。
  10. 点击运行

问题排查

打开此部分  |  全部收起

如果 Google 表格崩溃

请点击工作表顶部的发送反馈

BigQuery 更新未在关联工作表中显示

在 Google 表格文件中,点击刷新,即可将 BigQuery 数据的任何更新提取到关联工作表中。如要刷新关联工作表中的所有内容,请点击数据 接着点击 数据连接器 接着点击 刷新数据 接着点击 全部刷新

用户无法打开关联工作表文件

如果您为贵组织的 Google 表格文件设置了特定权限,例如禁止贵组织外部用户访问 Google 表格文件,则这些用户将无法打开“关联工作表”文件。如要更改权限,请参阅设置云端硬盘用户的共享权限

如果您仍然遇到问题,请参阅修复在 Google 表格中使用 BigQuery 数据的相关问题,以及排查 Looker 关联工作表问题

相关主题

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
2619305717088967646
true
搜索支持中心
true
true
true
true
true
73010
false
false