首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >写入BigQuery表的最小IAM权限?

写入BigQuery表的最小IAM权限?
EN

Stack Overflow用户
提问于 2021-07-13 10:46:59
回答 2查看 784关注 0票数 0

我想让一份工作写到一个BigQuery表中。我认为IAM权限很简单,将BigQuery Jobs User角色授予相应表上的服务帐户,但我得到了错误。

Access Denied: Project <your-project>: User does not have bigquery.jobs.create permission in project <your-project>

当您只想授予对单个数据集中单个表的访问权限时,是否有一种方法可以避免授予对整个项目的服务帐户访问权?如何在GCP BigQuery中应用最小特权原则?

生成查询的代码:

代码语言:javascript
运行
复制
const bigquery = new BigQuery({projectId});
await bigquery
  .dataset(datasetId)
  .table(tableId, {location: DATASET_LOCATION})
  .load(fileRef);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-13 11:38:44

如果需要,您可以在表级授予访问权限。但是,您面临的问题是,服务帐户或任何用户通常都需要有适当的权限才能真正创建一个作业。换句话说,查询在链接到计费帐户的项目中运行。有人需要为此付出代价。

角色"BigQuery作业用户“提供在项目中运行作业(包括查询)的权限。但不允许你访问数据。

您必须在项目级别上给出bigquery.jobUser,然后将bigquery.dataViewer交给特定的数据集或表。更多关于这里中烧烤访问控制的信息。

票数 0
EN

Stack Overflow用户

发布于 2021-07-13 12:32:30

我认为这是NodeJS库中一个缺失的部分。我没有找到一个解决办法来实现我想要的(同时,我在NodeJS方面很差)。

进去,我找到了你想要的

代码语言:javascript
运行
复制
    bq,err := bigquery.NewClient(ctx, "myRunningProject")
    bq.DatasetInProject("targetProject", "dataset").Table("table").LoaderFrom(...)

在您是职务用户的可计费项目中启动客户端。生成数据集/表路径时,使用不同的项目。

可以在BigQuery NodeJS库上打开功能请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68360950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档