使用服务账号

您可以在社区连接器中使用服务账号来集中管理资源的访问权限。一个常见的使用情形是授予对用户使用自己的凭据无法访问的数据的访问权限。

请参阅了解服务账号,熟悉一下该主题。

优势

  • 您可以针对数据访问合并结算。
  • 您可以在连接器中实现自己的访问控制层。
  • 您可以授予对用户凭据无权访问的数据或资源的访问权限。

实现步骤

  1. 为您要从中提取数据的平台创建服务账号。
  2. 为服务账号提供必要的权限,以便它可以访问所需的资源。
  3. 将服务账号的凭据存储在连接器的脚本属性中。
  4. 在连接器执行期间,使用存储的凭据来提取所需的数据。
  5. 可选:实现访问控制逻辑以过滤数据。

示例:利用数据洞察高级服务和服务账号访问 BigQuery

您正在构建一个解决方案,以供您的用户根据 BigQuery 表格构建信息中心。如果您的用户使用数据洞察的 BigQuery 连接器,将需要获得对 BigQuery 表格的读取权限。此外,他们还需要一个 Google Cloud Platform (GCP) 结算账号。以下步骤说明了如何使用服务账号来合并结算并授予对 BigQuery 数据的访问权限。

  1. 在所需的 GCP 项目中创建一个服务账号
  2. 确保该服务账号可以创建 BigQuery 作业并查看所需表格的数据。如需了解详情,请参阅 BigQuery 访问控制
  3. 为该服务账号创建一个密钥,并将凭据存储在连接器的脚本属性中。
  4. 在您的 Apps 脚本项目中添加 OAuth2 Apps 脚本库。
  5. 对于您的 getData 函数,对服务账号进行身份验证并生成访问令牌。将 OAuth2 范围设为 https://www.googleapis.com/auth/bigquery.readonly
  6. getData 响应中返回具有其他配置项的访问令牌。