使用“所有者”帐户在 BigQuery GCP Console 中创建表时,为什么会出现权限被拒绝错误?

Nip*_*eri 2 google-bigquery

create table if not exists [dataset].[table] (id int64, name string, created_at timestamp) partition by date(created_at) cluster by id;
Run Code Online (Sandbox Code Playgroud)

运行查询时出错
访问被拒绝:数据集 [项目]:[数据集]:数据集 [项目]:[数据集] 上的权限 bigquery.tables.create 被拒绝(或者可能不存在)。

San*_*nty 6

从错误中可以看出,当您在 bigquery 中创建表时,您会收到bigquery.tables.create权限被拒绝的错误。

bigquery.tables.create角色用于创建新表。您收到此错误是因为您的项目中的 IAM 角色未启用此权限。

bigquery.adminbigquery.dataEditor角色都包含bigquery.tables.create权限。所以两者都应该足够了。

确保作为所有者的用户对正在运行作业的项目具有权限。

您可以通过以下方式检查是否相同:

  1. 进入谷歌云控制台
  2. 导航至 IAM 和服务
  3. 转到角色并检查该角色是否已启用,如果没有则启用它。

查看此公共文档以了解 BigQuery 中的访问控制。

访问控制

  • 当代码是服务帐户时,最困难的部分是确定用户是谁......我已将 BigQuery.DataEditor 权限附加到我能找到的每个服务帐户。还是没有运气:-( (4认同)