Spanner 是一项全代管式全球分布式多模型数据库服务,旨在实现高可用性和极大规模。作为 Google Cloud上的代管式服务,安全性和运营弹性责任由您和 Google 共同承担。
本文档概述了责任划分,以确保 Spanner 实例和数据的安全性、合规性和正常运行。
责任共担模型概览
在责任共担模型中,Google 负责管理 Spanner 服务、基础架构和底层全球网络的安全性,而客户则负责 Spanner 实例中的安全性和管理,包括数据、应用访问权限和配置。
| 责任范围 | Google Cloud | 您 |
|---|---|---|
| 基础架构 | Responsible | Not Responsible |
| 服务配置和安全性 | 已共享 | 已共享 |
| 数据和应用访问权限 | Not Responsible | Responsible |
Google 责任
Google 负责保护运行 Spanner 服务的相应基础架构。这包括物理、硬件、网络和运营组件。
基础架构和全球可用性
实体安全:保护 Spanner 基础架构所在的全球区域、地区和实体数据中心。
网络:提供安全可靠的网络,确保 Spanner 的全局一致性和复制功能。
硬件和软件:管理硬件、宿主操作系统和 Spanner 服务软件本身。这包括自动修补、维护和更新。
服务管理和弹性
高可用性和可伸缩性:通过自动管理区域和可用区之间的扩缩、复制和故障切换,确保 99.999% 的 SLA(适用于多区域配置)。Spanner 旨在实现零计划内停机时间。如果用户控制的配置导致服务中断,则 Spanner 实例可能会被排除在 Spanner 服务等级协议 (SLA) 的涵盖范围之外。如需查看这些配置,请参阅 Spanner 操作指南。
持久性:确保数据的持久性,包括存储在 Spanner 系统中的备份。
数据库软件完整性:构建、维护和更新 Spanner 软件。
合规性和数据保护
静态加密和传输加密:确保数据默认处于加密状态。
数据驻留:可让您管理特定区域或配置(例如双区域、多区域)内的数据放置。
Google Cloud Dedicated 运营:对于 Google Cloud Dedicated 部署,Google 提供基础设施、软件 build 和更新,而我们的本地可信合作伙伴负责运营和支持云服务。Google 可能会在合作伙伴执行维护和解决问题时提供第二级帮助。
您的职责
使用 Spanner 时,您可以对数据、配置、访问权限管理和应用开发保持主要控制权。
数据和架构管理
数据内容和安全性:负责 Spanner 中存储的数据内容,包括其敏感度、合规性和完整性。
架构设计和优化:定义和管理数据库架构,包括创建表、索引和管理交错表以提升性能。
查询优化:设计高效的查询,以确保性能并管理资源分配。例如,管理事务跨度和了解锁定行为至关重要。
访问权限和身份管理
IAM 配置:为访问 Spanner 实例和数据库的主账号(用户和服务账号)定义和管理 Identity and Access Management (IAM) 角色和权限。
精细访问权限控制 (FGAC):如果客户实施了 FGAC,则负责定义、管理和重新授予对数据库角色和权限的访问权限。
审核日志记录:监控和分析 Cloud Audit Logs,以跟踪对 Spanner 实例和数据的访问和操作。
运营弹性和灾难恢复
配置管理:管理 Spanner 实例配置、节点数量和区域部署。
Backup and DR Service:实施灾难恢复策略,包括将数据存储在 Spanner 实例本身之外(例如,在单独的区域、实例或外部存储空间中),以防范意外删除实例或数据损坏等情况。
(可选)变更数据流集成:配置和管理利用 Spanner 变更数据流进行事件流式传输的 Dataflow 作业或其他消费者。
安全配置
客户管理的加密密钥 (CMEK):如果使用,则管理用于加密 Spanner 数据的 Cloud Key Management Service (Cloud KMS) 密钥和权限。
请求和事务标记:为查询和事务应用标记,以增强可观测性和性能监控。
监控和提醒:设置和调整自定义监控、导出指标,以及配置提醒以检测性能下降或安全异常。
职责摘要
下表总结了特定运营和安全组件的共同责任:
| 组件 | 我们的责任 | 您的责任 |
|---|---|---|
| 数据和用户访问权限 | 底层存储的物理隔离和保护。 | IAM 和 FGAC 管理。定义数据库角色和权限。 |
| 网络安全 | Spanner 服务基础架构的网络路径、防火墙和分段。 | 配置虚拟私有云 (VPC)、Private Service Connect 和客户端网络规则。 |
| Backup and DR Service | 多区域复制和 99.999% 的服务可用性。时间点恢复 (PITR) 功能。 | 实现灾难恢复解决方案,将数据存储在主 Spanner 实例之外,并管理应用故障切换到新数据库。 |
| 加密 | 默认支持静态加密和传输中加密。 | 管理和轮替 CMEK 密钥(如果使用)。 |
| 备份 | 管理备份服务基础架构并确保备份持久性。 | 定义备份时间表、管理和访问备份,以及将备份复制到其他实例/区域。 |
| Spanner 实例 | 预配和管理底层基础设施。 | 配置节点数量和位置。 |
| 可观测性 | 提供用于诊断的系统表(例如 SPANNER_SYS)。 |
实现自定义监控,利用请求/事务标记,并与外部监控工具(例如 Prometheus 和 Grafana)集成。 |
| 客户端应用 | 提供 Spanner 客户端库和 API。 | 开发、部署和保护与数据库交互的所有客户端应用。 |
| 配置管理 | 根据配额检查用量,并根据需要提交申请。使用 Terraform 等工具管理数据库和实例资源。 |