📣
TiDB Cloud Essential 开放公测中。此页面由 AI 自动翻译,英文原文请见此处。

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 提供基于角色的访问控制,以管理组织、项目和实例范围内的权限:

Network access control

TiDB Cloud 通过强大的网络访问控制,确保连接和数据传输的安全。主要特性包括:

Private endpoints

Best practices: 在生产环境中使用私有终端节点以最小化公网暴露,并定期检查配置。

TLS (Transport Layer Security)

Best practices: 确保 TLS 证书为最新,并定期轮换。

VPC peering

Best practices: 用于关键业务负载以避免公网暴露,并监控性能。

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 AWSEncryption 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 LoggingDatabase Audit Logging

文档内容是否有帮助?