Firebase интегрируется с Application Design Center (ADC) от Google Cloud, чтобы корпоративные клиенты могли соблюдать требования к стандартизации и управлению, а разработчики приложений – быстро выпускать продукты. Использование ADC гарантирует, что инфраструктура соответствует стандартам организации и рекомендациям, благодаря предопределенным шаблонам, которые определяют ограничения для предоставления ресурсов, разрешений IAM и т. д.
В этой статье рассматриваются следующие темы:
- Обзор ADC и Firebase, в том числе поддерживаемые продукты Firebase
- Ключевые роли и роли IAM, необходимые для управления доступом
- Общий рабочий процесс
Общие сведения о ADC и Firebase
Рекомендуем ознакомиться с документацией по Google Cloud, чтобы получить общие сведения о ADC. В документации по Google Cloud также есть подробные руководства по ADC, в том числе основные понятия и руководство по начальной настройке.
В ADC приложением называется логическая группа ресурсов и сервисов, которые вместе выполняют бизнес-функцию. Для разработчиков Firebase ADCприложение эквивалентно проекту Firebase, в котором все зарегистрированные приложения для iOS, Android и веб-приложения имеют доступ к одним и тем же ресурсам и сервисам.
Для начала мы рекомендуем использовать ADC с графическим интерфейсом, который называется холстом дизайна и доступен в консоли Google Cloud. Холст позволяет визуализировать и создавать архитектурные диаграммы инфраструктуры, которую вы хотите сделать доступной для своих приложений.
Обратите внимание, что ADC поддерживается Terraform, поэтому у вас всегда будет доступ к определению кода инфраструктуры, заданной с помощью ADC.
Поддерживаемые продукты Firebase
Вот список продуктов Firebase, которые можно использовать с ADC:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
Основные пользователи ADC
Чтобы лучше понять, как работает ADC, и научиться использовать этот инструмент, разделим задачи, связанные с ADC, между двумя ролями:
Инженер платформы. Разрабатывает, проверяет и публикует многократно используемые шаблоны ADC, соответствующие правилам, в каталоге ADC.
Разработчик приложений. Использует опубликованные шаблоны ADC (например, из каталога ADC) для настройки и развертывания инфраструктуры. Они также разрабатывают фактическую кодовую базу и функции приложения.
Роли IAM, необходимые для управления доступом
Назначая роли IAM, вы можете управлять тем, какие участники проекта (или субъекты) могут выполнять определенные задачи.
Например, вы можете назначить роль администратора центра разработки приложений (roles/designcenter.admin) инженеру платформы, которому нужно создавать и назначать пространства, управлять каталогами и разрабатывать шаблоны. Однако разработчику приложений, скорее всего, будет назначена только роль редактора приложений (roles/designcenter.applicationEditor), чтобы он мог использовать шаблоны, но не создавать их.
В таблице ниже описаны задачи, связанные с ADC, а также указаны роли, необходимые для их выполнения.
| Задача | Тип потребителей | Роль IAM 1 |
|---|---|---|
| Как создавать шаблоны и управлять ими | ||
|
Управлять полным жизненным циклом ADC , в том числе чат-группами, каталогами, шаблонами, а также настраивать и развертывать приложения. |
Инженер платформы |
Администратор Application Design Center ( roles/designcenter.admin |
| Создание шаблонов и управление ими, а также настройка и развертывание приложений | Инженер платформы |
Пользователь Application Design Center ( roles/designcenter.user |
| Создайте сервисный аккаунт для развертывания приложений ADC | ||
| Создание сервисных аккаунтов | Инженер платформы |
Создайте сервисные аккаунты ( roles/iam.serviceAccountCreator |
| Предоставьте сервисному аккаунту доступ к проекту, используемому для развертывания ADC. | Инженер платформы |
Администратор IAM проекта ( roles/resourcemanager.projectIamAdmin |
| Как настроить и развернуть приложения ADC | ||
|
Управление полным жизненным циклом приложения (включая интеграцию с исходным кодом и системами непрерывной интеграции и доставки) |
Разработчик приложений |
Администратор приложения ( roles/designcenter.applicationAdmin |
| Настраивать и развертывать приложения на основе существующих шаблонов и подключений, заданных администратором. | Разработчик приложений |
Редактор приложения ( roles/designcenter.applicationEditor |
1 Некоторые из этих ролей необходимо задать в проекте управления, который является ресурсом верхнего уровня в иерархии Google Cloud.
Общий рабочий процесс
В этом разделе описывается общий рабочий процесс создания и использования шаблона ADC. Шаги помечены тегами с указанием лица, которое обычно выполняет этот шаг.
- Шаг 1. Настройка ADC (инженер платформы)
- Шаг 2. Создайте шаблон (инженер платформы)
- Шаг 3. Используйте шаблон (разработчик приложений)
- Шаг 4. Разработайте приложение (разработчик приложения)
Шаг 1. Настройка ADC (инженер платформы)
Эти задачи по настройке ADC выполняет инженер платформы или специалист более высокого уровня. Обычно эти задачи нужно выполнить только один раз, чтобы настроить все необходимое для использования ADC.
Первоначальная настройка ADC.
Следуйте инструкциям в руководстве по первоначальной настройке для ADC в документации Google Cloud. Обратите внимание, что в этом руководстве предполагается, что вы настроите границы на уровне папки.
После завершения настройки у вас должно быть пространство – специальная область для совместной работы команды, создания шаблонов и развертывания приложений. Убедитесь, что у всех, с кем вы хотите работать над ADC, есть доступ к этой чат-группе, а также к папке и каталогу.
Настройте доступ и пользователей для чат-группы.
Следуйте инструкциям в статье Управление пользователями чат-группы для ADC в документации Google Cloud. Используйте инструкции, приведенные выше в разделе Роли IAM, необходимые для управления доступом.
Предварительная инициализация проектов.
Создайте в папке один или несколько проектов Google Cloud. Убедитесь, что вы связали аккаунт Cloud Billing с этими проектами. Эти проекты будут использоваться разработчиком приложений при развертывании инфраструктуры, определенной в шаблоне.
Настройте сервисный аккаунт для развертывания.
ADC управляет автоматической инициализацией ресурсов с помощью сервисного аккаунта с ограниченной областью действия. Это не позволяет разработчику приложений использовать собственный аккаунт для развертывания инфраструктуры.
ADC может автоматически создать сервисный аккаунт с ограниченной областью действия от вашего имени, когда вы тестируете развертывание созданных вами шаблонов. Вы также можете использовать собственный сервисный аккаунт с разрешениями, которые считаете подходящими для разработчиков приложений.
Шаг 2. Создайте шаблон (инженер платформы)
Инженер платформы использует холст дизайна или даже Gemini Cloud Assist, чтобы создать новый шаблон ADC.
Определите ресурсы.
Перетащите компоненты на холст и соедините их. Эти компоненты определяют, какие сервисы Firebase (и Google Cloud) могут использовать разработчики приложений.
Например, в шаблоне могут быть определены следующие ресурсы:
- Разработчики приложений могут создавать приложения для iOS, Android и веб-приложения, которые используют ресурсы.
- Разработчики приложений могут использовать в своих приложениях Firebase AI Logic, Firebase Authentication, Cloud Firestore и Firebase Security Rules (см. список всех поддерживаемых продуктов Firebase для ADC).
- По умолчанию в Firebase Security Rules отклоняются все запросы на доступ. Затем, когда разработчик приложения использует этот шаблон для своего собственного развертывания, он сможет изменить эти Security Rules, чтобы они соответствовали требуемой модели доступа.
Определите правила.
Если вы хотите определить правила, например роли IAM для развернутой инфраструктуры или разрешенные регионы для ресурсов, вам нужно задать их в соответствующих интерфейсах для этих правил. В настоящее время ADC не поддерживает определение правил на уровне шаблона.
Вы можете назначать участникам проекта определенные роли Firebase IAM в зависимости от того, что они должны делать. Например, если им нужно только просматривать ресурсы в консоли Firebase, назначьте им роль Читатель Firebase (
roles/firebase.viewer).Вы можете задать ограничения по регионам для ресурсов на уровне папки или организации.
Добавьте шаблон в каталог.
После тестирования шаблона добавьте его в каталог ADC вашей команды. Этот каталог должен быть доступен соответствующим пользователям, в частности разработчикам приложений, чтобы они могли использовать шаблоны (см. Шаг 1. Настройте ADC выше).
Шаг 3. Используйте шаблон (для разработчиков приложений)
Разработчик приложений выбирает готовый шаблон, настраивает его для конкретного случая использования, а затем развертывает инфраструктуру.
Выберите шаблон и настройте его.
Выберите шаблон из каталога ADC и настройте его, чтобы создать черновик приложения. Доступные конфигурации, например возможные регионы для ресурсов, ограничены теми, которые задал инженер платформы при создании шаблона.
Разверните инфраструктуру.
После создания черновика приложения разверните приложение ADC в одном из предварительно подготовленных проектов, созданных для развертывания инфраструктуры (см. Шаг 1. Настройте ADC выше).
Вы можете перейти в консоль Firebase и посмотреть, какие ресурсы и сервисы доступны для вашего проекта.
.
Шаг 4. Разработайте приложение (разработчик приложений)
ADC помогает настроить Firebase и Google Cloud инфраструктуру (например, подготовить ресурсы и включить API). Однако он не пишет код для приложения, которое использует эти ресурсы и API.
Вот некоторые важные вещи, которые необходимо сделать разработчику приложений:
Подключите базу кода приложения к Firebase.
Получите и добавьте конфигурацию Firebase в базу кода каждого приложения.
Например, если шаблон позволяет использовать приложение для Android, то вам нужно добавить файл
google-services.jsonв соответствующий каталог проекта Android.Следите за тем, чтобы код и ресурсы соответствовали друг другу.
(Если вы используете Cloud Firestore) Обновите и опубликуйте Firebase Security Rules, чтобы он соответствовал модели данных Cloud Firestore для приложения.
Что ещё ты умеешь делать?
- Отслеживайте развернутые ADC "приложения", которые автоматически регистрируются в App Hub. Это позволяет централизованно отслеживать ресурсы Firebase, наблюдать за расходами и устранять неполадки в контексте более широкого развертывания Google Cloud.