首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能授权Google上的bigrquery,但是可以在本地机器上授权bigrquery

不能授权Google上的bigrquery,但是可以在本地机器上授权bigrquery
EN

Stack Overflow用户
提问于 2022-03-02 18:45:43
回答 1查看 294关注 0票数 0

我在这里发布了一个问题:https://github.com/r-dbi/bigrquery/issues/487和以前的https://github.com/r-dbi/bigrquery/issues/449。这些问题还没有解决。而且,可悲的是,对问题的反应已经下降到几乎为零。

如果有人能帮忙,那就太好了。

我的组织不允许使用服务帐户密钥。所以我必须使用电子邮件授权。

在PC机上

代码语言:javascript
复制
> library(bigrquery)
> bq_deauth()
> bq_auth(email="ariel.balter@providence.org")
> conn = dbConnect(bigrquery::bigquery(), project="???????????", dataset="test_dataset")
> DBI::dbListTables(conn)
character(0)

论云VM

代码语言:javascript
复制
> library(bigrquery)
> bq_deauth()
> bq_auth(email="ariel.balter@providence.org")
> conn = dbConnect(bigrquery::bigquery(), project="??????????", dataset="test_dataset")
> DBI::dbListTables(conn)
Error: Access Denied: Dataset ??????????:test_dataset: Permission bigquery.tables.list denied on dataset ???????????:test_dataset (or it may not exist). [accessDenied]
Run `rlang::last_error()` to see where the error occurred.
> rlang::last_error()
<error/bigrquery_accessDenied>
Access Denied: Dataset ??????????:test_dataset: Permission bigquery.tables.list denied on dataset ????????:test_dataset (or it may not exist). [accessDenied]
Backtrace:
 1. DBI::dbListTables(conn)
 2. DBI::dbListTables(conn)
 3. bigrquery::bq_dataset_tables(ds, ...)
 4. bigrquery:::bq_get_paginated(...)
 5. bigrquery:::bq_get(url, ..., query = query, token = token)
 6. bigrquery:::process_request(req, raw = raw)
 7. bigrquery:::bq_check_response(status, type, content)
 8. bigrquery:::signal_reason(json$error$errors[[1L]]$reason, json$error$message)
Run `rlang::last_trace()` to see the full context.
> rlang::last_trace()
<error/bigrquery_accessDenied>
Access Denied: Dataset ?????????:test_dataset: Permission bigquery.tables.list denied on dataset ????????:test_dataset (or it may not exist). [accessDenied]
Backtrace:
    █
 1. ├─DBI::dbListTables(conn)
 2. └─DBI::dbListTables(conn)
 3.   └─bigrquery::bq_dataset_tables(ds, ...)
 4.     └─bigrquery:::bq_get_paginated(...)
 5.       └─bigrquery:::bq_get(url, ..., query = query, token = token)
 6.         └─bigrquery:::process_request(req, raw = raw)
 7.           └─bigrquery:::bq_check_response(status, type, content)
 8.             └─bigrquery:::signal_reason(json$error$errors[[1L]]$reason, json$error$message)
EN

回答 1

Stack Overflow用户

发布于 2022-03-04 19:29:24

我们的云工程师能够解决这个问题。他把我在VM上的身份验证类型换成了用户,而不是服务帐户。他把这个贴在我们的松懈上:

既然昨天又出现了这种情况,下面是关于GCP身份验证的一个很好的入门:当查看控制台外的身份验证时,

的几个关键外接:

Accounts.

  • There有两种不同类型的帐户可以进行身份验证:用户和服务

  • 是两个独立的组件,分别进行身份验证: Google命令行工具和Google客户端库。

  • 一个帐户可以模拟另一个

  • ,本文没有提到的一点是,如果没有指定其他方法,GCP客户端库通常(但并不总是)是一个与VM相关的服务帐户。

与此无关,我今早还收到了GCP的一封电子邮件,内容如下:

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

https://stackoverflow.com/questions/71327718

复制
相关文章

相似问题

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