已按官方指南配置,仍无法将DataStudio资源连接切换为使用服务账号
我有一个DataStudio仪表盘,其数据集资源连接至BigQuery表,当前使用个人账户认证,希望切换为服务账号认证。已完成以下操作:
- 创建服务账号
- 为服务账号添加BigQuery Job User角色
- 为服务账号添加Service Account Token Creator角色
- 为服务账号添加对应BigQuery表的BigQuery Data Viewer角色
- 将我的账号添加为该服务账号的Service Account User
在DataStudio中操作路径:Resource > Manage Added Data Sources > 选择特定数据源 > 点击当前用于认证的个人账户面板,输入服务账号信息时,出现错误提示要求添加Service Account Token Creator角色,但已确认该角色已配置。
角色绑定对象错误
确认Service Account Token Creator角色是直接绑定到服务账号自身,而非项目或其他资源。进入IAM控制台,找到该服务账号的权限列表,检查角色绑定的主体是否为服务账号的邮箱(格式:[服务账号名]@[项目ID].iam.gserviceaccount.com)。IAM权限生效延迟
Google Cloud的IAM权限通常需要5-15分钟才能完全生效,若刚配置完就尝试切换,等待一段时间后重试。服务账号密钥异常
确保使用的是服务账号的有效JSON密钥文件,密钥未过期、未被撤销。尝试重新生成新的服务账号密钥,再导入DataStudio进行认证。DataStudio缓存干扰
DataStudio可能缓存了旧的认证信息,可尝试:- 清除浏览器缓存后重新登录DataStudio
- 删除现有数据源,重新创建使用服务账号认证的BigQuery数据源,再关联到仪表盘
权限规则冲突
检查BigQuery数据集/表是否存在拒绝权限规则,若有拒绝规则会覆盖服务账号的BigQuery Data Viewer权限。进入BigQuery控制台,查看数据集的IAM权限,移除可能存在的拒绝规则。个人账户权限冲突
若你的个人账户拥有项目的Owner或Editor权限,可能与服务账号权限产生冲突。尝试使用仅拥有必要权限的账号进行操作,排除权限叠加问题。
内容的提问来源于stack exchange,提问作者Renier Botha

