首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >xxxx@gmail.com在项目yyyy中没有bigquery.jobs.create权限

xxxx@gmail.com在项目yyyy中没有bigquery.jobs.create权限
EN

Stack Overflow用户
提问于 2018-07-17 01:07:11
回答 4查看 25.8K关注 0票数 7

我是谷歌云和BigQuery的新手

我有一个包含2个项目的云实例。一个是计算引擎项目,另一个是BigQuery项目。我可以成功地从Compute Engine项目获取访问令牌和刷新令牌。但是,当我尝试访问BigQuery项目时,出现以下错误:

xxxx@gmail.com在项目yyyy中没有bigquery.jobs.create权限

我已经在BigQuery中创建了数据集,并将公共数据复制到每个数据集中。我还确认了xxxx@gmail.com是每个数据集的所有者。我能够成功地查询数据集。

代码语言:javascript
运行
复制
In IAM, the xxxx@gmail.com has the following:
roles/bigquery.user
roles/bigquery.admin
roles/bigquery.owner
roles/bigquery.viewer

我已经检查了以下链接,但建议没有帮助。对如何解决这个错误有什么想法吗?

https://cloud.google.com/bigquery/docs/access-control

Google Big-query api 403-Forbidden Exception

Google API OAuth2, Service Account, "error" : "invalid_grant"

The user does not have bigquery.jobs.create permission in project gdelt-bq

Running queries in BigQuery without being a project User

https://github.com/getredash/redash/issues/1684

The user does not have bigquery.jobs.create permission in project gdelt-bq

Error :service account does not have bigquery.jobs.create permission

尽管错误不在服务帐户上,但我也回顾了一下:Error :service account does not have bigquery.jobs.create permission

代码语言:javascript
运行
复制
The service accounts for both the Compute Engine project and the BigQuery 
project have the following: 
roles/bigquery.user 
roles/bigquery.admin 
roles/bigquery.data viewer 
roles/bigquery.data editor

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2018-07-17 03:24:10

bigquery.user和bigquery.admin角色都包含bigquery.jobs.create权限,因此这两个角色中的任何一个都应该足够。

请确保用户xxxx@gmail.com对正在运行作业的项目(yyyy)具有这些权限,该权限可能与包含数据本身的项目不同。

具体来说,您可以访问此处查看项目yyyy上的IAM策略:

https://console.cloud.google.com/iam-admin/iam?project=yyyy

完成后,确保xxxx@gmail.com在该项目中拥有两个角色中的一个。

票数 9
EN

Stack Overflow用户

发布于 2020-02-15 01:55:49

最多有3个独立的服务帐户。一个是默认数据流服务帐户,另一个是控制器服务帐户,然后是触发作业的用户帐户或服务帐户。

在上述情况下,重要的是为触发作业的用户帐户或服务帐户以及具有相同权限的控制器服务帐户提供所需的权限。如果不使用传递给数据流作业的控制器服务帐户,则将采用默认的计算帐户及其权限。

票数 0
EN

Stack Overflow用户

发布于 2021-02-25 09:41:37

如果您在A项目中创建了服务帐户,并将此服务帐户作为IAM成员(例如role:bigquery.admin)添加到B项目中。在B项目上执行insert查询作业时,必须在项目(project=B)上添加‘client.query’参数,或者在创建客户端时添加'proeject‘参数,如下所示: client = bigquery.Client.from_服务_账号_json(服务_账号_JSON_路径,项目=‘B’)

EX1)

代码语言:javascript
运行
复制
client = bigquery.Client.from_service_account_json(SERVICE_ACCOUNT_JSON_PATH)

job_config = bigquery.QueryJobConfig(dry_run=False, use_query_cache=True)

# Start the query, passing in the extra configuration.

query_job = client.query(
    (
        "INSERT INTO `{your_project}.{your_dataset}.{your_table}` (name, gender, count) "
        "values('test', 'F', 190), ('test', 'F', 190), ('test', 'F', 190) "
    ),
    job_config=job_config,
    project='B'
)

EX2)

代码语言:javascript
运行
复制
client = bigquery.Client.from_service_account_json(SERVICE_ACCOUNT_JSON_PATH,project='B')

job_config = bigquery.QueryJobConfig(dry_run=False, use_query_cache=True)

# Start the query, passing in the extra configuration.

query_job = client.query(
    (
        "INSERT INTO `{your_project}.{your_dataset}.{your_table}` (name, gender, count) "
        "values('test', 'F', 190), ('test', 'F', 190), ('test', 'F', 190) "
    ),
    job_config=job_config,
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51366870

复制
相关文章

相似问题

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