gpt4 book ai didi

permissions - 为用户授予 Bigquery 客户端工具访问工作表支持的表的正确方法,但 API 仍然失败

转载 作者:行者123 更新时间:2023-12-03 04:51:31 25 4
gpt4 key购买 nike

在我们的组织中,我们有一位标准用户,他创建了他们指向的所有 Bigquery 项目、表格和一些 Google 表格。

我们在组织中创建了另一个用户,授予他们 Bigquery Data ViewerBigquery Data User 权限,并允许他们访问 Google 表格。他们能够访问标准表格,但不能访问 Google Sheets 支持的表格;他们收到错误在通配文件模式时遇到错误。

授予新用户 Bigquery Editor 权限后,他们可以创建自己的由工作表支持的表,但他们会看到以下对话框:

Bigquery Client Tools Would like to Allow

授予权限后,我们可以删除 Bigquery Editor 权限,用户可以继续访问所有现有 Bigquery 表,包括工作表支持的表。

查看新用户的 Google 帐户 https://security.google.com/settings/security/permissions ,我们看到他们添加了 Bigquery 客户端工具:

Google Account shows Bigquery Client Tools

问题 1:向新用户授予此权限的正确方法是什么?我们找到了两种解决方法:

  • 从弹出窗口中获取网址并为新用户进行编辑,无需授予他们编辑者权限。
  • 让用户将查询保存到 Google 表格,从而触发弹出窗口。

但我们没有找到任何编程方式来授予用户此权限。

进一步...

但是,API 似乎仍然存在问题。我们跑了:

gcloud auth login --enable-gdrive-access
# approve permissions in the web browser for the new user
bq query --apilog=apil.log "SELECT * FROM [warehouse:catalog.table]"

我们的日志显示“发生内部错误,无法完成请求。”“在通配文件模式时遇到错误。”;例如:

INFO:root:{
[...]
"jobReference": {
"projectId": [...]
"jobId": "bqjob_r2410ded84270edc0_00000158fdea47bb_1"
},
"status": {
"state": "DONE",
"errorResult": {
"reason": "internalError",
"message": "An internal error occurred and the request could not be completed."
},
"errors": [
{
"reason": "internalError",
"message": "An internal error occurred and the request could not be completed."
}
]
},
[...]
}

问题 2:我们还需要做什么才能通过 API/cli 授予数据访问权限?

最佳答案

我建议使用一个单独的数据集,其中包含查询原始数据集的 View 。您可以share dataset with views 。这意味着 View 将有权访问数据集,然后您可以授予用户对“ View 数据集”的访问权限。

数据集_A(Google 表格)

  • 与 Dataset_views 中的 View 共享

数据集 View

  • 与用户(或群组)共享

关于permissions - 为用户授予 Bigquery 客户端工具访问工作表支持的表的正确方法,但 API 仍然失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41146870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com