Какие разрешения необходимы для отправки сообщений через FCM?

Я пытаюсь настроить служебную учетную запись для FCM с помощью Terraform. Я создал пользовательскую роль на основе разрешений в справочнике по разрешениям Firebase IAM. Я не могу заставить его работать.

Вот моя пользовательская роль (включая права доступа):

resource "google_project_iam_custom_role" "firebase_access" {
  project = "${data.google_project.firebase_project.id}"

  # https://firebase.google.com/docs/projects/iam/permissions
  permissions = [
    # Auth
    "firebaseauth.configs.get",
    "firebaseauth.configs.update",
    "firebaseauth.configs.create",
    "firebaseauth.users.create",
    "firebaseauth.users.createSession",
    "firebaseauth.users.delete",
    "firebaseauth.users.get",
    "firebaseauth.users.sendEmail",
    "firebaseauth.users.update",

    # Cloud Messaging
    "firebasenotifications.messages.create",
    "firebasenotifications.messages.delete",
    "firebasenotifications.messages.get",
    "firebasenotifications.messages.list",
    "firebasenotifications.messages.update",

    # Firebase required
    "firebaseanalytics.resources.googleAnalyticsReadAndAnalyze",
    "resourcemanager.projects.get",
    "resourcemanager.projects.getIamPolicy",
    # "resourcemanager.projects.list", Not required
    "servicemanagement.projectSettings.get",
    "serviceusage.apiKeys.get",
    "serviceusage.apiKeys.getProjectForKey",
    "serviceusage.apiKeys.list",
    "serviceusage.operations.get",
    "serviceusage.operations.list",
    "serviceusage.quotas.get",
    "serviceusage.services.get",
    "serviceusage.services.list",

  ]
  role_id = "[redacted]" # Can't have hyphens
  title = "Firebase [redacted] Role"
  description = "Provides the minimum permissions necessary for the [redacted] API to use Firebase"
}

Я получаю следующую ошибку:

Ошибка: произошла ошибка при попытке аутентификации на серверах FCM. Убедитесь, что учетные данные, используемые для проверки подлинности этого SDK, имеют соответствующие разрешения. См. https://firebase.google.com/docs/admin/setup для получения инструкций по настройке.

Это абсолютно несчастно. Сообщение об ошибке не помогает вообще. Проверяя учетную запись службы, созданную через Firebase, я вижу, что есть дополнительная роль, Firebase Admin SDK Administrator Service Agent, Роль нигде не отображается в документации. Мне пришлось проверить HTTP-запрос при добавлении роли, чтобы выяснить ее настоящее имя (roles/firebase.sdkAdminServiceAgent). Первоначально я думал, что добавление этой роли решило мою проблему, но это было неправильно. Я также добавил Editor роль, и IAM GCP занимает некоторое время для обновления (-_-).

Сейчас я просто добавлю Editor роль, но я бы предпочел ограничить разрешения столько, сколько я могу.

Какие минимальные разрешения необходимы для отправки сообщений FCM? Насколько я могу судить, документация не помогает.

0 ответов

Другие вопросы по тегам