您的 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
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate |
|
firebase dataconnect:sql:grant
|
|
监控 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 Run、Cloud 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 参考指南。