管理 Data Connect 服务和数据库

您的 Data Connect 项目由两个主要基础架构元素组成:

  • 一个或多个 Data Connect 服务实例
  • 一个或多个 Cloud SQL for PostgreSQL 实例

本指南介绍了如何设置和管理 Data Connect 服务实例,以及如何管理关联的 Cloud SQL 实例。

Firebase Data Connect 配置区域

使用 Data Connect 的项目需要设置位置信息。

创建新的 Data Connect 服务实例时,系统会提示您选择服务的位置。

可用位置

可以在以下区域创建 Data Connect 服务。

  • asia-east1
  • asia-east2
  • asia-northeast1
  • asia-northeast2
  • asia-northeast3
  • asia-south1
  • asia-southeast1
  • asia-southeast2
  • australia-southeast1
  • australia-southeast2
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • europe-west6
  • europe-west8
  • europe-west9
  • me-west1
  • northamerica-northeast1
  • northamerica-northeast2
  • southamerica-east1
  • southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-south1
  • us-west1
  • us-west2
  • us-west3
  • us-west4

管理 Data Connect 服务实例

创建服务

如需创建新服务,请使用 Firebase 控制台或使用 Firebase CLI 运行本地项目初始化。这些工作流会创建新的 Data Connect 服务。

这些流程还会引导您完成以下操作:

  • 预配新的 Cloud SQL 实例(免费层级)
  • 将现有 Cloud SQL 实例关联到 Data Connect(Blaze 方案)

管理用户

Data Connect 提供了一些工具来管理用户访问权限,这些工具遵循最小权限原则(向每个用户或服务账号授予支持所需功能的最少必要权限)和基于角色的访问控制 (RBAC) 的概念(使用预定义角色来管理数据库权限,从而简化安全管理)。

如需将项目成员添加为可以修改项目中的 Data Connect 实例的用户,请使用 Firebase 控制台选择适当的预定义用户角色。

这些角色使用 Identity and Access Management (IAM) 授予权限。角色是一组权限的集合。为项目成员分配某个角色后,该成员将获得该角色包含的所有权限。如需了解详情,请参阅:

选择角色以启用特定工作流

IAM 角色可启用 Firebase CLI 工作流,以便您管理 Data Connect 项目。

CLI 命令、其他工作流 所需角色
firebase init dataconnect
  • 无权限(未关联 Cloud SQL 实例时)
  • roles/cloudsql.admin(创建 Cloud SQL 实例时)
firebase deploy -–only dataconnect
  • firebasedataconnect.connectors.*
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
  • roles/cloudsql.admin
firebase dataconnect:sql:diff
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
firebase dataconnect:sql:migrate
  • 目标 Cloud SQL 实例上的 roles/cloudsql.admin
firebase dataconnect:sql:grant
  • 目标 Cloud SQL 实例上的 roles/cloudsql.admin

监控 Data Connect 服务性能

了解服务性能

Data Connect 服务和 Cloud SQL for PostgreSQL 服务的性能可能会影响您在预览期间的体验。

  • 对于 Data Connect 服务,每分钟的 GraphQL 和连接器请求数上限为 1200 个,这会影响您调用和执行查询和更改的速率。
  • 对于 Cloud SQL for PostgreSQL 服务,请参阅“配额和限制”文档中的常规指南。

监控服务性能、使用情况和结算

您可以在 Firebase 控制台中监控请求、错误和操作率(总体和按操作)。

管理 Cloud SQL 实例

免费试用限制

免费试用版不支持以下 Cloud SQL for PostgreSQL 功能:

  • 15.x 以外的 PostgreSQL 版本
  • 使用现有 Cloud SQL for PostgreSQL 实例
  • 机器层级不同于 db-f1-micro
  • 更改实例的资源,例如存储空间、内存、CPU
  • 只读副本
  • 专用实例 IP 地址
  • 高可用性(多可用区);仅支持单可用区实例
  • 企业 Plus 版
  • 自动备份
  • 存储空间自动扩容。

管理 Cloud SQL 实例

通常,您可以使用 Google Cloud 控制台管理 Cloud SQL 实例,以执行以下工作流。

  • 停止和重启 Cloud SQL 实例
  • 创建和删除 Cloud SQL 数据库(在实例内)
  • 使用标志启动 PostgreSQL 数据库实例并使用各种扩展程序
  • Google Cloud 控制台中使用 Cloud SQL 可观测性功能监控性能
  • 使用 IAM、密钥管理器、数据加密和身份验证代理等功能管理 Cloud SQL 访问权限和安全性
  • 添加、删除和管理 Cloud SQL 用户。

如需了解这些工作流程及其他工作流程,请参阅 Cloud SQL for PostgreSQL 文档

使用 Firebase CLI 和 Google Cloud 工具授予 PostgreSQL 用户角色

Data Connect 提供了一些工具来管理用户访问权限,这些工具遵循最小权限原则(向每个用户或服务账号授予支持所需功能的最少必要权限)和基于角色的访问控制 (RBAC) 的概念(使用预定义角色来管理数据库权限,从而简化安全管理)。

在某些情况下,您可能希望通过您选择的 SQL 客户端(例如 Cloud RunCloud Functions 或 GKE)直接连接到 Data Connect 管理的 Cloud SQL 数据库。

如需启用此类连接,您需要通过以下方式授予 SQL 权限:

  • 通过 Google Cloud 控制台或使用 gcloud CLI 向需要连接到实例的用户或服务账号分配 roles/cloudsql.client IAM 角色
  • 使用 Firebase CLI 授予必要的 PostgreSQL 角色

分配 Cloud SQL IAM 角色

如需了解如何使用 Cloud SQL for PostgreSQL 分配 IAM 角色 roles/cloudsql.client,请参阅角色和权限

授予 PostgreSQL 角色

使用 Firebase CLI,您可以使用 firebase dataconnect:sql:grant 命令向与您的项目关联的用户或服务账号授予预定义的 PostgreSQL 角色。

例如,如需授予“Writer”角色,请在 CLI 中运行以下命令:

firebase dataconnect:sql:grant --role writer

如需了解详情,请参阅 CLI 参考指南