配置 Always Encrypted 的 enclave 类型(服务器配置选项)
A适用于: SQL Server 2019 (15.x) 及更高版本 - 仅限 Windows
本文介绍如何为具有安全 enclave 的 Always Encrypted 启用或禁用安全 enclave。 有关详细信息,请参阅具有安全 enclave 的 Always Encrypted 和 在 SQL Server 中配置安全 enclave。
列加密 enclave 类型服务器配置选项控制用于 Always Encrypted 的安全 enclave 类型。 该选项可以设置为以下值之一:
值 | 说明 |
---|---|
0 | 没有安全 enclave。 数据库引擎 不会为 Always Encrypted 初始化安全 enclave。 因此,具有安全 enclave 的 Always Encrypted 功能将不可用。 |
1 | 基于虚拟化的安全性 (VBS)。 数据库引擎 会尝试初始化基于虚拟化的安全性 (VBS) enclave。 |
重要
对列加密 enclave 类型的更改直到重新启动 SQL Server 实例才会生效。
可以使用 sys.configurations (Transact-SQL) 视图检查配置的 enclave 类型值和当前生效的 enclave 类型值。
若要确认是否在上次重新启动 SQL Server 之后已正确初始化了具有当前生效类型(大于 0)的 enclave,请检查 sys.dm_column_encryption_enclave (Transact-SQL) 视图:
- 如果该视图恰好包含一行,则 enclave 已正确初始化。
- 如果该视图不包含任何行,请检查 SQL Server 错误日志中是否存在 enclave 初始化错误 - 请参阅查看 SQL Server 错误日志 (SQL Server Management Studio)。
有关如何配置 VBS enclave 的分步说明,请参阅步骤 2:在 SQL Server 中启用具有安全 enclave 的 Always Encrypted。
示例
以下示例启用安全 enclave 并将 enclave 类型设置为 VBS:
sp_configure 'column encryption enclave type', 1;
GO
RECONFIGURE;
GO
以下示例禁用安全 enclave:
sp_configure 'column encryption enclave type', 0;
GO
RECONFIGURE;
GO
以下查询检索配置的 enclave 类型和当前生效的 enclave 类型:
USE [master];
GO
SELECT
[value]
, CASE [value] WHEN 0 THEN 'No enclave' WHEN 1 THEN 'VBS' ELSE 'Other' END AS [value_description]
, [value_in_use]
, CASE [value_in_use] WHEN 0 THEN 'No enclave' WHEN 1 THEN 'VBS' ELSE 'Other' END AS [value_in_use_description]
FROM sys.configurations
WHERE [name] = 'column encryption enclave type';
后续步骤
管理具有安全 enclave 的 Always Encrypted 的密钥
另请参阅
服务器配置选项 (SQL Server)
sp_configure (Transact-SQL)
RECONFIGURE (Transact-SQL)
sys.configurations (Transact-SQL)
sys.dm_column_encryption_enclave (Transact-SQL)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈