Google PubSub - serviceAccount: gmail-api-push@system.gserviceaccount.com не существует - PullRequest
3 голосов
/ 20 апреля 2019

Я пытаюсь подписаться на Gmail для почтовых уведомлений, используя Google Pub / Sub, и я просмотрел документацию и учебные пособия, предоставленные Google. В какой-то момент документы заявляют, что мне нужно опубликовать правильные права на мою тему PubSub:

Вам необходимо предоставить publish привилегии serviceAccount:gmail-api-push@system.gserviceaccount.com. Это можно сделать с помощью интерфейса разрешений консоли Cloud Pub / Sub Developer Console, следуя инструкциям по управлению доступом на уровне ресурсов.

Насколько я понимаю, привилегия publish эквивалентна pubsub.topics.publish или просто "PubSub Publisher". Но как насчет serviceAccount:gmail-api-push@system.gserviceaccount.com? Я не могу найти эту учетную запись службы, и консоль не позволяет мне создать ее из-за ограничений символов. Есть ли другой способ получить этот аккаунт?

Ответы [ 2 ]

7 голосов
/ 22 апреля 2019

Вам не нужно создавать учетную запись службы Gmail, она уже существует. Вы правы в отношении «предоставления прав на публикацию» так же, как и «Pub / Sub Publisher».

В интерфейсе разрешений для темы я должен передать служебную учетную запись gmail-api-push@system.gserviceaccount.com (примечание: убрать ведущую часть «serviceAccount:») в поле «Новые члены» и выбрать «Pub / Sub Publisher» как роль.

Я полагаю, вы не смогли найти учетную запись службы, потому что искали serviceAccount:gmail-api-push@system.gserviceaccount.com.

2 голосов
/ 20 апреля 2019

Разрешения устанавливаются посредством Pub / Sub Topic в разделе Pub / Sub Subics консоли GCP.

  • Перейдите в консоль Google Cloud.
  • В меню «Гамбургер» выберите «Большие данные» -> «Публикация / подписка -> Темы». Ярлык к этому месту: https://console.cloud.google.com/projectselector2/cloudpubsub/topicList

  • Установите флажок для темы.

  • В правой части консоли выберите «ПОКАЗАТЬ ИНФОРМАЦИОННУЮ ПАНЕЛЬ».
  • Нажмите Добавить участников
  • Войдите в сервисную учетную запись и выберите нужную роль. Обычно Pub / Sub Publisher.
...