Security
TiDB Cloud 提供了强大且灵活的安全框架,旨在保护数据、实施访问控制,并满足现代合规标准。该框架将先进的安全特性与高效的运维能力相结合,以支持大规模组织的需求。
Key components
Identity and Access Management (IAM):为 TiDB Cloud 控制台和数据库环境提供安全且灵活的身份认证与权限管理。
Network access control:可配置的连接选项,包括私有终端节点、VPC 对等、TLS 加密和 IP 访问列表。
Data access control:高级加密能力,如 Customer-Managed Encryption Keys (CMEK),用于保护静态数据安全。
Audit logging:对控制台操作和数据库操作进行全面的活动追踪,确保问责和透明。
通过集成这些能力,TiDB Cloud 使组织能够保护敏感数据、简化访问控制并优化安全运维。
Identity and access management (IAM)
TiDB Cloud 采用 Identity and Access Management (IAM) 来安全高效地管理控制台和数据库环境中的用户身份与权限。IAM 功能通过多种认证选项、基于角色的访问控制以及分层资源结构,满足组织的安全与合规需求。
TiDB Cloud user accounts
TiDB Cloud 用户账户是管理资源身份和访问的基础。每个账户代表平台内的个人或实体,并支持多种认证方式以适应组织需求:
Default username and password
用户通过邮箱地址和密码创建账户。
适用于没有外部身份提供方的小型团队或个人。
Standard SSO authentication
用户可通过 GitHub、Google 或 Microsoft 账户登录。
默认对所有组织启用。
Best practice:适用于小型团队或无严格合规需求的团队。
详细信息参见 Standard SSO Authentication。
Organization SSO authentication
通过 OIDC 或 SAML 协议与企业身份提供方(IdP)集成。
支持如 MFA 强制、密码过期策略和域名限制等功能。
Best practice:适用于有高级安全和合规要求的大型组织。
详细信息参见 Organization SSO Authentication。
Database access control
TiDB Cloud 通过基于用户和基于角色的权限,提供细粒度的数据库访问控制。这些机制允许管理员安全地管理对数据对象和 schema 的访问,同时确保符合组织的安全策略。
Best practices:
实施最小权限原则,仅授予用户其角色所需的权限。
定期审计和更新用户访问权限,以适应组织需求的变化。
Database user accounts
数据库用户账户存储在 mysql.user 系统表中,并通过用户名和客户端主机唯一标识。
在数据库初始化期间,TiDB 会自动创建一个默认账户:'root'@'%'。
详细信息参见 TiDB User Account Management。
SQL Proxy accounts
SQL Proxy 账户是 TiDB Cloud 自动生成的特殊用途账户。其主要特性包括:
Linked to TiDB Cloud user accounts: 每个 SQL Proxy 账户对应一个特定的 TiDB Cloud 用户。
Mapped to roles: SQL Proxy 账户被授予
role_admin角色。Token-based: SQL Proxy 账户使用安全的 JWT 令牌而非密码,确保通过 TiDB Cloud Data Service 或 SQL Editor 实现无缝且受限的访问。
TiDB privileges and roles
TiDB 的权限管理系统基于 MySQL 5.7,实现了对数据库对象的细粒度访问控制。同时,TiDB 也引入了 MySQL 8.0 的 RBAC 和动态权限机制,实现了数据库权限的细粒度和便捷管理。
Static privileges
支持基于数据库对象(如表、视图、索引、用户等)的细粒度访问控制。
示例:为某用户授予对特定表的 SELECT 权限。
Dynamic privileges
支持对数据库管理权限的合理拆分,实现系统管理权限的细粒度控制。
示例:为负责数据库备份的账户分配
BACKUP_ADMIN,而无需更广泛的管理权限。
SQL roles (RBAC)
将权限分组为角色,分配给用户,实现权限管理的简化和动态更新。
示例:为分析师分配读写角色,简化用户访问控制。
该系统确保了用户访问管理的灵活性和精确性,并与组织策略保持一致。
Organization and projects
TiDB Cloud 通过分层结构(组织、项目和资源)管理用户和资源。
Organizations
管理用户、角色、项目、资源和账单的顶层实体。
组织所有者拥有全部权限,包括项目创建和角色分配。
Projects
用于分组和管理 TiDB Cloud 资源的容器。
在 TiDB Cloud 中,项目分为三种类型:
- TiDB Dedicated project:仅适用于 TiDB Cloud Dedicated 集群的项目类型。Dedicated 项目管理项目范围内的设置,例如网络、维护、告警订阅、集成以及与加密相关的访问控制。
- TiDB X project:用于容纳 TiDB Cloud Starter 和 Essential 实例的逻辑容器。TiDB X 项目用于对资源进行分组并应用项目级 RBAC,但不包含 Dedicated 专属的基础设施设置。
- TiDB X virtual project:用于容纳未分组到任何 TiDB X project 中的 TiDB Cloud Starter 和 Essential 实例的虚拟项目。此项目类型仅用于 API 兼容性,不提供任何管理能力。
Resources
- TiDB Cloud 资源可以是 TiDB X instance(基于 TiDB X architecture 构建的面向服务的 TiDB Cloud 产品形态),也可以是 TiDB Cloud Dedicated cluster。
Example structure
- Your organization
- TiDB X instances out of any project
- TiDB Cloud Starter instance 1
- TiDB Cloud Essential instance 1
- TiDB X project 1
- TiDB Cloud Starter instance 2
- TiDB Cloud Starter instance 3
- TiDB Cloud Essential instance 2
- TiDB Dedicated project 1
- TiDB Cloud Dedicated cluster 1
- TiDB Cloud Dedicated cluster 2
Key features
Granular permissions:
可在组织、项目和实例级分配特定角色,实现精确的访问控制。
TiDB X 实例既可以通过项目角色访问,也可以通过实例角色访问,而 TiDB Cloud Dedicated 集群则通过项目级访问进行管理。
Flexible project model:
TiDB X 项目是可选的,因此 TiDB X 实例既可以分组到项目中,也可以保留在组织级。
TiDB Dedicated 项目是必需的,因此每个 Dedicated 集群都必须属于一个 Dedicated 项目。
Billing management:
- 账单在组织级统一管理,并可为每个项目和资源提供详细拆分。
Identity and Access Management (IAM) Roles
TiDB Cloud 提供基于角色的访问控制,以管理组织、项目和实例范围内的权限:
Organization-Level roles:授予管理整个组织(包括账单和项目创建)的权限。
Project-Level roles:分配管理特定项目(包括项目范围内的资源和配置)的权限。
Instance-Level roles:授予对特定 TiDB X 实例的细粒度访问权限。
Network access control
TiDB Cloud 通过强大的网络访问控制,确保连接和数据传输的安全。主要特性包括:
Private endpoints
使你在 Virtual Private Cloud (VPC) 内的 SQL 客户端能够安全连接到 TiDB Cloud Dedicated 集群。
支持 AWS PrivateLink、Azure Private Link、Google Cloud Private Service Connect 和 Alibaba Cloud Private Endpoint。
Best practices: 在生产环境中使用私有终端节点以最小化公网暴露,并定期检查配置。
TLS (Transport Layer Security)
加密客户端与服务器之间的通信,保障数据传输安全。
配置指南:
Best practices: 确保 TLS 证书为最新,并定期轮换。
VPC peering
建立虚拟私有云之间的私有连接,实现安全、无缝的通信。
Best practices: 用于关键业务负载以避免公网暴露,并监控性能。
IP access list
作为防火墙,仅允许受信任的 IP 地址访问集群。
详细信息参见 Configure an IP Access List。
Best practices: 定期审计和更新访问列表以保持安全。
Data access control
TiDB Cloud 通过高级加密能力保护静态数据,确保安全性并符合行业法规。
Customer-Managed Encryption Key (CMEK)
为组织提供对 TiDB Cloud Dedicated 集群加密的完全控制权。
启用后,使用 CMEK 密钥对静态数据和备份进行加密。
对于未启用 CMEK 的 TiDB Cloud Dedicated 集群,TiDB Cloud 使用托管密钥;TiDB Cloud Starter 和 TiDB Cloud Essential 实例仅使用托管密钥。
Best practices:
定期轮换 CMEK 密钥以增强安全性并满足合规标准。
始终使用 CMEK 密钥加密备份以提升保护。
针对如 HIPAA 和 GDPR 等有严格合规要求的行业,建议使用 CMEK。
详细信息参见 Encryption at Rest Using Customer-Managed Encryption Keys on AWS 和 Encryption at Rest Using Customer-Managed Encryption Keys on Azure。
Audit logging
TiDB Cloud 提供全面的审计日志功能,用于监控用户活动和数据库操作,确保安全、问责和合规。
Console audit logging
追踪 TiDB Cloud 控制台上的关键操作,如邀请用户或导入数据。
Best practices:
将日志集成到 SIEM 工具,实现实时监控和告警。
设置日志保留策略以满足合规要求。
Database audit logging
记录详细的数据库操作,包括执行的 SQL 语句和用户访问情况。
Best practices:
定期审查日志,排查异常活动或未授权访问。
利用日志进行合规报告和取证分析。
详细信息参见 Console Audit Logging 和 Database Audit Logging。