Azure Key Vault
Tableau Server 有三个密钥管理系统 (KMS) 选项,允许您启用静态加密。其中两个选项需要 Advanced Management 能力,而本地选项可与所有本地安装的 Tableau Server 一起使用。
重要信息:自 2024 年 9 月 16 日起,Advanced Management 不再作为独立的附加选项提供。仅当您先前购买了 Advanced Management,或者购买了某些许可证版本 - Tableau Enterprise(适用于 Tableau Server 或 Tableau Cloud)或 Tableau+(适用于 Tableau Cloud)时,Advanced Management 功能才可用。
从版本 2019.3 开始,Tableau Server 添加了这些 KMS 选项:
- 适用于所有安装的本地 KMS。有关详细信息,请参见Tableau Server 密钥管理系统。
- 作为 Advanced Management 一部分提供的基于 AWS 的 KMS。有关详细信息,请参见AWS 密钥管理系统。
从版本 2021.1 开始,Tableau Server 添加了另一个 KMS 选项:
- 作为 Advanced Management 一部分提供的基于 Azure 的 KMS。下面介绍了这一点。
用于静态加密的 Azure 密钥库
从版本 2021.1.0 开始,Azure 密钥库作为 Tableau Server 中的 Advanced Management 的一部分提供。有关详细信息,请参见关于 Tableau Server 上的 Tableau Advanced Management。
如果您的组织正在部署静态数据提取加密,您可以根据需要将 Tableau Server 配置为使用 Azure 密钥库作为数据提取加密的 KMS。若要启用 Azure 密钥库,您必须在 Azure 中部署 Tableau Server。在使用 Azure 的情况下,Tableau Server 使用 Azure Key Vault 加密所有加密数据提取的根主密钥 (RMK)。但是,即使针对 Azure 密钥库进行了配置,将仍然会为 Tableau Server 上密文的安全存储使用 Tableau Server 本机 Java 密钥存储和本地 KMS。Azure 密钥库仅用于对加密数据提取的根主密钥进行加密。
使用 Azure 密钥库配置 Tableau Server 时的密钥分层结构
为 Tableau Server 加密数据提取配置 Azure 密钥库
若要使用 Azure 密钥库对 Tableau Server KMS 分层结构中的根密钥进行加密,您必须按照此部分中所述的方式配置 Tableau Server。
在开始之前,请验证您是否满足以下要求:
- Tableau Server 必须部署在 Azure 中
- Tableau Server 必须配置为具有 Advanced Management 许可证。请参见关于 Tableau Server 上的 Tableau Advanced Management。
- 您必须对密钥所在的 Azure 中的密钥库拥有管理控制权。
步骤 1:在 Azure 中为 Tableau Server 创建密钥库和密钥
以下过程在 Azure 密钥库服务中执行。包括了 Azure 文档的参考。
- 创建将用于 Tableau Server 的密钥库。请参见 Azure 主题创建密钥库(链接在新窗口中打开)。
- 在库中创建密钥。请参见 Azure 主题管理密钥和机密(链接在新窗口中打开)。
密钥必须是不对称 RSA 类型,但可以是任何大小(Tableau Server 不关心密钥大小)。我们建议您使用“最小特权原则”来获得最大的安全性。
Tableau 需要权限来执行 GET、UNWRAP KEY 和 WRAP KEY 命令操作,我们建议您仅针对这些操作允许访问以获得最少的特权。将访问策略分配给正在其上运行 Tableau Server 的 VM。
在 Tableau Server 的多节点部署中,访问策略必须分配给服务器群集的所有节点。
步骤 2:收集 Azure 配置参数
您将需要来自 Azure 的密钥库名称和密钥名称。
步骤 3:为 Azure 密钥库配置 Tableau Server
在 Tableau Server 上运行以下命令:此命令将重新启动服务器。
tsm security kms set-mode azure --vault-name "<vault name>" --key-name "<key name>"
--vault-name
和--key-name
选项直接从 Azure 密钥库复制字符串。举例来说,如果您的 Azure 密钥库名为
tabsrv-keyvault
,并且您的密钥为tabsrv-sandbox-key01
,则命令将为:tsm security kms set-mode azure --vault-name "tabsrv-keyvault" --key-name "tabsrv-sandbox-key01"
步骤 4:启用静态加密
请参见静态数据提取加密。
步骤 5:验证安装
运行以下命令:
可能返回以下信息:
- 状态:OK(表示控制器节点可访问密钥库):
- 模式:Azure 密钥库
- 密钥库名称:<key_vault_name>
- Azure 密钥库密钥名称:<key_name>
- 用于 MEK 的可用 UUID 列表,指示哪个密钥处于活动状态
- 如果无法访问 KMS 数据,则显示错误信息
在对数据提取进行加密和解密之后查看日志:
将数据提取发布到站点,然后对其进加密。请参见静态数据提取加密。
使用 Tableau Desktop 或使用 Web 创作制作在浏览器上访问数据提取(这将对数据提取进行解密以供使用)。
在 vizqlserver_node log 文件中搜索
AzureKeyVaultEnvelopeAccessor
和AzureKeyVaultEnvelope
字符串。该日志的默认位置为C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs
对于与 Azure 密钥库相关的发布和数据提取刷新,请搜索后台程序日志。有关日志的详细信息,请参见Tableau Server 日志和日志文件位置。
故障排除配置
多节点配置不正确
在 Azure 密钥库的多节点设置中,tsm security kms status
命令可能会报告正常 (OK) 状态,即使群集中的另一个节点配置不正确。KMS 状态检查仅在运行 Tableau Server 管理控制器进程的节点上进行报告。它不在群集中的其他节点上进行报告。默认情况下,Tableau Server 管理控制器进程在群集中的初始节点上运行。
因此,如果另一个节点配置不正确,以致于 Tableau Server 无法访问 Azure 密钥,这些节点可能会为将启动失败的各种服务报告错误状态。
如果在您将 KMS 设置为“azure”模式后,某些服务启动失败,请运行以下命令以恢复为本地模式:tsm security kms set-mode local
。
刷新 Azure 密钥
您在 Azure 中刷新 Azure 密钥。没有必需或计划的密钥刷新周期。您可以通过在 Azure 中创建新密钥版本来刷新密钥。由于密钥库名称和密钥名称不会更改,因此您无需在 Tableau Server 上为正常 Azure 密钥刷新方案更新 KMS 配置。
使用 Azure 密钥库进行备份和还原
可以在 Azure 密钥库模式下进行服务器备份,而无需额外的配置或过程。备份包含 RMK 和 MEK 的加密副本。对密钥进行解密需要访问和控制 Azure 密钥库。
对于还原方案,要还原到其中的服务器可以处于 Azure 密钥库或本地 KMS 模式。唯一的要求是,要将备份还原到其中的服务器对备份本身使用的 Azure 密钥库具有访问权限。