Firebase 与 Application Design Center (ADC) 的 Google Cloud 集成,让企业客户能够满足标准化和 治理需求,同时让应用开发者能够快速发布应用。使用 ADC 可确保 基础架构通过 预定义的 模板 遵循组织标准和最佳实践,这些模板定义了预配资源、 授予 IAM 权限等方面的护栏。
在本页中,您将了解以下内容:
ADC 和 Firebase 概览
我们建议您查看 Google Cloud 文档,了解 ADC 概览。 Google Cloud 文档还提供了多个 ADC 深入指南,包括 关键概念 和 初始设置指南。
使用 ADC 时,“应用”被定义为资源和服务的 逻辑分组,这些资源和服务共同提供业务 功能。对于 Firebase 开发者,您可以将 ADC“应用”视为等同于 Firebase 项目,其中您注册的 iOS、Android 和 Web 应用共享 并访问该项目的所有相同资源和服务。
对于入门,我们建议您使用 ADC的 GUI 体验(称为 设计画布)( 可在 Google Cloud 控制台中找到)来使用。借助设计画布,您可以直观呈现并创建应用所需的基础架构的架构图。
请注意,ADC 由 Terraform 提供支持,因此 您始终可以访问使用 ADC 定义的基础架构的代码定义。
受支持的 Firebase 产品
以下是可与 ADC搭配使用的初始受支持 Firebase 产品集:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
使用 ADC 的关键角色
了解和使用 ADC 的常见方法是 根据两个 角色细分与 ADC-相关的任务:
平台工程师:此角色设计、验证和发布 可重复使用的、强制执行政策的 ADC 模板到 ADC 目录。
应用开发者:此角色使用已发布的 ADC模板(例如来自团队的 ADC目录)来配置和部署 基础架构。他们还会开发应用的实际代码库和功能。
控制访问权限所需的 IAM 角色
通过分配 IAM 角色,您可以控制哪些项目成员(或 主账号 )可以执行特定任务。
例如,您可以将 App Design Center Admin 角色 (roles/designcenter.admin) 分配给需要创建和分配空间、管理目录以及设计模板的平台工程师。不过,您可能只会将 Application Editor 角色 (roles/designcenter.applicationEditor) 分配给应用开发者,以便他们可以 使用 模板,但不能 创建 模板。
下表介绍了与 ADC-相关的 任务、其预期角色以及所需的角色:
| 任务 | 角色 | IAM 角色 1 |
|---|---|---|
| 创建和管理模板 | ||
|
管理完整的 ADC 生命周期 (包括管理空间、 目录、模板、配置和部署应用) |
平台工程师 |
针对 管理项目 的 App Design Center Admin ( roles/designcenter.admin |
| 创建和管理模板,以及配置和部署应用 | 平台工程师 |
App Design Center User ( roles/designcenter.user |
| 创建用于部署 ADC 应用 的服务账号 | ||
| 创建服务账号 | 平台工程师 |
针对 管理项目 的 Create Service Accounts ( roles/iam.serviceAccountCreator |
| 向 用于ADC 部署的项目 授予服务账号访问权限 | 平台工程师 |
针对 部署项目 的 Project IAM Admin ( roles/resourcemanager.projectIamAdmin |
| 配置和部署 ADC 应用 | ||
|
控制完整的应用生命周期 (包括与源代码和 CI/CD 系统集成) |
应用开发者 |
Application Admin ( roles/designcenter.applicationAdmin |
| 根据管理员设置的现有模板和连接 配置和部署应用 | 应用开发者 |
Application Editor ( roles/designcenter.applicationEditor |
1 其中一些角色需要在 管理项目上设置, 这是 Google Cloud 层次结构中的顶级资源。
常规工作流程
本部分介绍创建和使用 ADC模板的一般工作流程。这些步骤会标记通常执行该步骤的角色。
第 1 步:设置 ADC(平台工程师)
平台工程师角色(或更高级别)完成这些任务以设置 ADC。这些任务通常只需要完成一次,即可完成使用 的所有设置 ADC。
初始 ADC 设置。
按照 初始设置指南中的步骤和指导操作, 以了解ADC在Google Cloud文档中的信息。 请注意,本指南假定您将设置 文件夹级边界 。
完成此设置后,您应该会有一个 空间,这是一个 供团队协作、创建模板和部署 应用的专用区域。请确保此空间(以及文件夹和目录)与您希望使用 ADC 的所有人共享 。
为空间设置访问权限和用户。
按照 Google Cloud 文档中为 ADC 管理空间用户中的步骤操作。使用本页前面介绍的关于 控制访问权限所需的 IAM 角色的指导。
预配项目。
在文件夹中创建一个或多个新的 Google Cloud 项目。确保将 Cloud Billing 账号关联到这些项目。当应用开发者部署模板中定义的基础架构时,将使用这些项目。
配置部署服务账号。
ADC 使用范围严格的服务账号管理 资源的自动预配。这样可以防止应用开发者使用自己的账号部署基础架构。
ADC 在您测试所创建模板的部署时,可以代表您自动创建范围严格的 服务账号。您还可以选择自带服务账号,该账号具有您认为适合应用开发者的权限。
第 2 步:创建模板(平台工程师)
平台工程师角色使用 设计画布 甚至是 Gemini Cloud Assist 来创建新的 ADC 模板。
定义资源。
使用设计画布,将组件拖放到画布上,并在它们之间创建连接。这些组件用于定义您希望应用开发者使用的 Firebase (和 Google Cloud)服务。
例如,模板可以定义如下资源:
- 应用开发者可以开发使用所有资源的 iOS、Android 和 Web 应用。
- 应用开发者可以在其应用中使用 Firebase AI Logic、Firebase Authentication、 Cloud Firestore 和 Firebase Security Rules(请参阅 ADC 的所有受支持 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 中注册。这样可以在更广泛的 Google Cloud 部署环境中对 Firebase 资源进行统一监控、费用观察和问题排查。