Управляйте доступом к проекту с помощью Firebase IAM

Управление идентификацией и доступом (IAM) позволяет предоставлять детальный доступ к определенным ресурсам Firebase и Google и предотвращает нежелательный доступ к другим ресурсам. IAM позволяет вам принять принцип безопасности с наименьшими привилегиями , поэтому вы предоставляете только необходимый доступ к вашим ресурсам.

Подробное описание IAM можно найти в документации Google Cloud IAM .

Обзор Firebase IAM

Firebase предлагает дополнительные параметры IAM, специфичные для проектов Firebase и участников ваших проектов.

Когда аутентифицированный участник проекта запрашивает действие в Firebase, IAM принимает решение об авторизации о том, имеет ли участник проекта разрешение на выполнение запрошенной операции с ресурсом . Разрешено ли участнику проекта выполнять запрос, зависит от назначенной ему роли . Каждая роль представляет собой набор разрешений, и когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения для этой роли.

Участники проекта

Используя Firebase IAM, вы назначаете роли (и соответствующие им разрешения) участникам вашего проекта. Участники проекта могут быть следующих типов :

  • аккаунт Google
  • Сервисный аккаунт
  • группа Google

Роли

Разрешения предоставляются участникам вашего проекта через роли . Роль — это набор разрешений . Когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения, которые содержит роль.

Firebase IAM поддерживает следующие типы ролей:

  • Основные роли : роли «Основной владелец », «Редактор » и «Просмотрщик» (ранее называвшиеся «примитивными» ролями).

  • Предопределенные роли : специально подобранные роли Firebase, которые обеспечивают более детальный контроль доступа, чем базовые роли. Firebase предлагает:

    • Роли уровня Firebase : роли, которые предоставляют полный доступ для чтения/записи или только для чтения ко всем продуктам Firebase.

    • Роли категорий продуктов : роли, которые предоставляют полный доступ для чтения/записи или только для чтения к группам продуктов. Они структурированы вокруг Google Analytics и общих категорий продуктов.

    • Роли на уровне продукта : роли, которые предоставляют полный доступ для чтения/записи или только для чтения к определенным продуктам Firebase.

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

Задержка смены роли

Если вы измените назначение роли участника проекта, вступление изменений в силу может занять до 5 минут.

Управление участниками проекта и их ролями

Просмотр участников проекта и их ролей

Вы можете просмотреть многих участников вашего проекта и их роли на вкладке «Пользователи и разрешения» в > «Настройки проекта» в консоли Firebase. Обратите внимание на следующее:
  • В консоли Firebase перечислены только участники проекта, которым назначена базовая роль (владелец, редактор, наблюдатель) или предопределенная роль Firebase . Участники проекта, перечисленные на этой вкладке, — единственные участники проекта, имеющие доступ к проекту Firebase в консоли Firebase.
  • В консоли Firebase не отображаются участники проекта, являющиеся учетными записями служб. Просмотрите этих участников проекта на странице IAM консоли Google Cloud.
Кроме того, вы можете просмотреть всех участников вашего проекта и их роли на странице IAM консоли Google Cloud.

Назначение роли участнику проекта

Чтобы управлять ролями, назначенными каждому участнику проекта, вы должны быть владельцем проекта Firebase (или вам должна быть назначена роль с разрешением resourcemanager.projects.setIamPolicy ).

Вот места, где вы можете назначать роли и управлять ими:

Если владелец вашего проекта больше не может выполнять задачи владельца (например, человек покинул вашу компанию) и ваш проект не управляется через организацию Google Cloud (см. следующий абзац), вы можете обратиться в службу поддержки Firebase, чтобы получить назначен временный владелец.

Обратите внимание: если проект Firebase является частью организации Google Cloud, у него может не быть владельца. Если вы не можете найти владельца для своего проекта Firebase, свяжитесь с человеком, который управляет вашей организацией Google Cloud, чтобы назначить владельца проекта.