本页介绍了 Cloud SQL for SQL Server 中的透明数据加密 (TDE)。
Cloud SQL for SQL Server 支持使用 TDE 加密存储在 Cloud SQL for SQL Server 实例中的数据。TDE 会在数据写入存储空间之前自动对其加密,并在从存储空间读取数据时自动对其解密。
在以下情况下,除了 Google 默认提供的静态数据加密和 Google 可选提供的客户管理的加密密钥 (CMEK) 之外,还需要另一层加密:具体来说,您可以使用 TDE 来帮助您满足监管合规性要求,例如支付卡行业数据安全标准 (PCI DSS),或者在导入或导出加密备份时使用 TDE。
TDE 的运作方式
Cloud SQL for SQL Server 的 TDE 通过使用双层密钥架构来提供加密密钥管理。从数据库主密钥生成的证书用于保护数据加密密钥。数据库加密密钥用于对用户数据库中的数据进行加密和解密。Cloud SQL 会同时管理数据库主密钥和 TDE 证书。
每个符合条件的 Cloud SQL for SQL Server 实例都会预配一个有效期为一年的唯一 TDE 证书。Cloud SQL for SQL Server 会每年自动轮换此证书。
您可以将外部 TDE 证书导入到实例中,但必须手动轮替这些证书。
如果实例有副本,则所有 TDE 证书(包括由 Cloud SQL 管理的证书和您手动导入的证书)都会自动分发到所有副本。
启用了 TDE 的实例会生成一个名为
gcloud_cloudsqladmin
的内部数据库。此数据库专供内部 Cloud SQL 进程使用,用户无法访问,存储的数据极少,存储费用可忽略不计。Cloud SQL for SQL Server 在预配 TDE 证书时使用
gcloud_tde_system_
命名前缀。所有导入的证书都使用
gcloud_tde_user_
CERT_NAME_
UUID 命名前缀。在同时启用 TDE 和时间点恢复 (PITR) 的实例上导入或轮换证书后,该实例会创建新备份。如果您想将加密数据库恢复到证书可供实例访问之前的时间点,这有助于降低证书丢失的风险。
限制
仅适用于具有以下数据库版本的 Cloud SQL for SQL Server 实例:
- SQL Server Enterprise
- SQL Server 2019 或更高版本(标准版)
如果为具有副本的实例使用 TDE 并启用 VPC Service Controls,则必须确保主实例和所有副本位于同一服务边界内。
如需了解详情,请参阅配置 VPC Service Controls 和 VPC Service Controls 概览。
您无法删除由 Cloud SQL 管理的 TDE 证书。
您无法删除正在使用的 TDE 证书。
您无法直接将外部 TDE 证书导入到副本实例。
每个实例最多可导入 10 个 TDE 证书。如果您需要导入更多证书,请使用
msdb.dbo.gcloudsql_drop_tde_user_certificate
存储过程删除所有不必要的证书。