在我们的组织中,我们有一个标准用户,他们创建了所有Bigquery项目,表格以及他们指向的一些Google表格。
我们在组织中创建了另一位用户,授予他们Bigquery Data Viewer
和Bigquery Data User
权限,并允许他们访问Google表格。他们可以访问标准表,但不是Google表格支持的表格;他们得到错误Encountered an error while globbing file pattern.
授予新用户Bigquery Editor
权限,他们可以创建由工作表支持的自己的表,但是他们得到了这个对话框:
授予权限后,我们可以删除Bigquery Editor
权限,用户可以继续访问所有现有的Bigquery表,包括表格支持的表。
查看新用户的Google帐户https://security.google.com/settings/security/permissions,我们发现他们已添加了Bigquery客户端工具:
问题1:为新用户授予此权限的正确方法是什么?我们找到了两种解决方法:
但我们发现没有以编程方式授予用户此权限。
此外...
然而,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]"
我们的日志显示"An internal error occurred and the request could not be completed."
或"Encountered an error while globbing file pattern."
;例如:
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授予数据访问权限?
答案 0 :(得分:0)
我建议有一个单独的数据集,并带有查询原始数据集的视图。您可以share dataset with views。这意味着视图将有权访问数据集,然后您可以授予用户访问“视图数据集”的权限。
Dataset_A(Google表格)
Dataset_views