Принципал (учетная запись пользователя или службы) не имеет разрешения IAM «cloudtasks.tasks.create» для ресурса. - PullRequest
0 голосов
/ 15 ноября 2018

При попытке добавить задачу в очередь появляется указанное выше сообщение об ошибке. Вот мои настройки и информация об этой проблеме:

  • Идентификатор проекта: 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 роли:

  1. Роли / cloudtasks.admin
  2. Роли / 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"
        }
    }
}

Это действительно озадачивает меня.

Есть кто-нибудь, кто знает, что я могу делать неправильно?

1 Ответ

0 голосов
/ 15 ноября 2018

Понятия не имею, почему это сработало, но я взорвал все роли и добавил их снова, а потом все заработало.Кажется, это ошибка в Google Cloud Platform.

...