Управление идентификацией и доступом (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.
Настраиваемые роли : полностью настраиваемые роли, которые вы создаете для настройки набора разрешений, соответствующих конкретным требованиям вашей организации.
Управление участниками проекта и их ролями
Просмотр участников проекта и их ролей
Вы можете просмотреть многих участников вашего проекта и их роли на вкладке «Пользователи и разрешения» в > «Настройки проекта» в консоли Firebase . Обратите внимание на следующее:- В консоли Firebase перечислены только участники проекта, которым назначена базовая роль (владелец, редактор, наблюдатель) или предопределенная роль Firebase . Участники проекта, перечисленные на этой вкладке, — единственные участники проекта, имеющие доступ к проекту Firebase в консоли Firebase .
- В консоли Firebase не отображаются участники проекта, являющиеся учетными записями служб. Просмотрите этих участников проекта на странице IAM консоли Google Cloud .
Назначение роли участнику проекта
Чтобы управлять ролями, назначенными каждому участнику проекта, вы должны быть владельцем проекта Firebase (или вам должна быть назначена роль с разрешением resourcemanager.projects.setIamPolicy
).
Вот места, где вы можете назначать роли и управлять ими:
- Консоль Firebase предлагает упрощенный способ назначения ролей участникам проекта на вкладке «Пользователи и разрешения» в > Настройки проекта . В консоли Firebase вы можете назначить любую из основных ролей (владелец, редактор, наблюдатель), роли администратора/просмотрщика Firebase или любую из предопределенных ролей Firebase для категорий продуктов .
- Консоль Google Cloud предлагает обширный набор инструментов для назначения ролей участникам проекта на странице IAM . В Cloud консоли вы также можете создавать собственные роли и управлять ими, а также предоставлять сервисным учетным записям доступ к вашему проекту.
Обратите внимание, что в консоли Google Cloud участники проекта называются руководителями .
Если владелец вашего проекта больше не может выполнять задачи владельца (например, человек покинул вашу компанию) и ваш проект не управляется через организацию Google Cloud (см. следующий абзац), вы можете обратиться в службу поддержки Firebase и проверить с ними о том, как запросить доступ к проекту Firebase.
Обратите внимание: если проект Firebase является частью организации Google Cloud , у него может не быть владельца. Если вы не можете найти владельца для своего проекта Firebase, свяжитесь с человеком, который управляет вашей организацией Google Cloud , чтобы назначить владельца проекта.