我有一个新的 Debian GCE VM,它可以完全访问 Google Cloud 服务。我能够从此实例访问大多数服务。但是我无法访问任务队列。
host:~/home$ curl
"https://www.googleapis.com/taskqueue/v1beta2/projects/project/taskqueues/
my-queue/tasks" -H "Authorization":"Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxx"
{
"error": {
"errors": [
{
"domain": "global",
"reason": "insufficientPermissions",
"message": "Insufficient Permission"
}
],
"code": 403,
"message": "Insufficient Permission"
}
}
从对单个服务具有细粒度访问权限的其他 VM 中,我能够访问任务队列。这是一个已知问题吗?
是不可能的,我从谷歌得到了关于TaskQueue REST API的答案:
REST API 具有自己的使用访问控制列表的身份验证机制。 由于此 API 是实验性的,因此我们没有提供完整 IAM 的计划 集成。相反,我们正在构建一个新的API,它将取代 这个具有完整的IAM支持。
解决方法是设置导出GOOGLE_APPLICATION_CREDENTIALS=/path/to/servicekey.json
。