适用于:Microsoft Fabric 中的✅ 仓库
默认情况下,Fabric 数据仓库会加密静态所有数据,确保信息通过Microsoft管理的密钥进行保护。
此外,还可以使用客户管理的密钥(CMK)来增强安全态势,从而直接控制保护数据和元数据的加密密钥。
为包含 Fabric 数据仓库的工作区启用 CMK 时,OneLake 数据和仓库元数据均使用 Azure Key Vault 托管的加密密钥进行保护。 使用客户管理的密钥,可以直接将 Fabric 工作区连接到自己的 Azure Key Vault。 你可以对密钥创建、访问和轮换保持完全控制,确保符合组织的安全和治理策略。
若要开始为 Fabric 工作区配置 CMK,请参阅 Fabric 工作区的客户管理的密钥。
数据加密在 Fabric 数据仓库中的工作原理
Fabric 数据仓库遵循多层加密模型,以确保数据在静态和暂时性使用时保持受保护。
SQL 前端: 加密元数据(表、视图、函数、存储过程)。
后端计算池: 使用临时缓存;没有静态数据。
OneLake: 所有持久化数据都已加密。
SQL 前端层加密
为工作区启用 CMK 时,Fabric 数据仓库还使用客户管理的密钥来加密元数据,例如表定义、存储过程、函数和架构信息。
这可确保 OneLake 中的数据和仓库中的个人数据元数据都使用自己的密钥进行加密。
后端计算池层加密
Fabric 的计算后端在基于缓存的临时环境中处理查询。 这些缓存中从未留下任何静态数据。 由于 Fabric Warehouse 会在使用后逐出所有后端缓存内容,因此暂时性数据永远不会持续到会话生存期之外。
由于其生存期短,后端缓存仅使用Microsoft管理的密钥进行加密,并且出于性能原因,不受 CMK 加密的约束。 作为正常计算作的一部分,会自动清除和重新生成后端缓存。
OneLake 层加密
默认情况下,存储在 OneLake 中的所有数据都使用Microsoft管理的密钥进行静态加密。
启用 CMK 后,客户管理的密钥(存储在 Azure Key Vault 中)用于加密 数据加密密钥(DEK),并提供额外的保护信封。 可以控制密钥轮换、访问策略和审核。
重要
在启用了 CMK 的工作区中,所有 OneLake 数据都使用客户管理的密钥进行加密。
局限性
在为 Fabric 数据仓库启用 CMK 之前,请查看以下注意事项:
密钥传播延迟:在 Azure Key Vault 中轮换、更新或替换密钥时,Fabric 的 SQL 层之前可能会有传播延迟。 在某些情况下,此延迟最长可能需要 20 分钟才能使用新密钥重新建立 SQL 连接。
后端缓存:由于 Fabric 后端计算池处理的数据在内存中是短暂的,因此在静态存储时不会使用 CMK 进行加密。 每次使用后,Fabric 都会自动逐出缓存的数据。
密钥吊销期间的服务可用性:如果 CMK 无法访问或撤销,则在还原对密钥的访问之前,工作区中的读取和写入作将失败。
DMV 支持:由于 CMK 配置是在工作区级别建立和配置的,因此
sys.dm_database_encryption_keys不能用于查看数据库的加密状态;这种查看只能在工作区级别进行。防火墙限制:启用 Azure Key Vault 防火墙时不支持 CMK。
Fabric 门户查询编辑器对象资源管理器中的查询未使用 CMK 进行加密。