Catch up on highlights from Firebase at Google I/O 2023. Learn more

Управляйте доступом к проекту с помощью 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 Console.
Кроме того, вы можете просмотреть всех участников вашего проекта и их роли на странице IAM в Google Cloud Console.

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

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

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

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

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