При попытке добавить задачу в очередь появляется указанное выше сообщение об ошибке. Вот мои настройки и информация об этой проблеме:
- Идентификатор проекта:
my-project
- Идентификатор учетной записи службы:
my-service-account
- Имя очереди задач:
my-queue
- Местоположение очереди задач:
asia-northeast1
(одно из немногих мест, где облачная задача в настоящее время находится в бета-версии)
Также давайте подтвердим, что все вышеперечисленное существует и работает.
Когда я проверяю свои роли учетной записи службы, отправив сообщение на https://cloudresourcemanager.googleapis.com/v1/projects/my-project:getIamPolicy
Я получаю ответ, похожий на:
{
"status": 200,
"data":
{
"version": 1,
"etag": "BwV6nNWJg4E=",
"bindings": [
{
"role": "roles/cloudtasks.admin",
"members": [
"serviceAccount:my-service-account@my-project.iam.gserviceaccount.com"
]
},
{
"role": "roles/cloudtasks.enqueuer",
"members": [
"serviceAccount:my-service-account@my-project.iam.gserviceaccount.com"
]
}]
}
}
Как видите, my-service-account
имеет следующие 2 роли:
- Роли / cloudtasks.admin
- Роли / cloudtasks.enqueuer
Обе эти роли имеют разрешение cloudtasks.tasks.create
.
Когда я пытаюсь добавить задачу в облачную задачу, используя следующее:
POST https://cloudtasks.googleapis.com/v2beta3/projects/my-project/locations/asia-northeast1/queues/my-queue/tasks
+ полезная нагрузка задачи
Я получаю следующее сообщение об ошибке:
{
"status": 403,
"data":
{
"error":
{
"code": 403,
"message": "The principal (user or service account) lacks IAM permission \"cloudtasks.tasks.create\" for the resource \"projects/my-project/locations/asia-northeast1/queues/my-queue\" (or the resource may not exist).",
"status": "PERMISSION_DENIED"
}
}
}
Это действительно озадачивает меня.
Есть кто-нибудь, кто знает, что я могу делать неправильно?