为数据提取加密密钥使用外部 KMS
许多组织需要直接控制用于保护其关键业务数据的加密密钥。使用外部密钥管理服务 (KMS) 允许客户通过可信的外部密钥管理供应商来保持对其加密密钥的控制,从而解决了此问题。通过提供对加密密钥的直接控制,使用外部 KMS 可以显著增强组织的安全状况,特别是那些担心这些关键密钥被未经授权访问的组织。
此外,对于许多组织来说,在外部控制其加密密钥的能力对于满足各种法规和合规性要求至关重要。对加密密钥的直接控制有助于组织维护数据主权,这对于数据存储和访问的法律和地理考虑非常重要。
自 2025 年 10 月起,Tableau Cloud 仅通过 Amazon Web Services (AWS) KMS 提供外部密钥管理。
注意:外部 KMS 功能仅在包含 Tableau+、Tableau Enterprise 或 Advanced Management 的 Tableau Cloud 上可用。
密钥分层结构
使用外部 KMS 时的加密过程遵循不同的密钥分层结构,以确保数据安全并允许客户保持对其加密密钥的直接控制。
使用外部 KMS 时的密钥分层结构为:
- 客户主密钥 (CMK):CMK 是分层结构中的根密钥,由客户在 AWS KMS 中创建和控制。Tableau 中的密钥列表是 AWS KMS 中的 CMK 列表。
- 密钥加密密钥 (KEK):KEK 源自 CMK,用于对数据加密密钥 (DEK) 进行加密。
- 数据加密密钥 (DEK):DEK 源自 KEK,是分层结构中级别最低的密钥。DEK 是直接用于对数据提取进行加密和解密的密钥。
Tableau Cloud 中的关键状态
使用外部 KMS 时,Tableau 中的密钥具有以下状态和功能:
- 挂起 - 您生成了密钥,但尚未使用它。在激活密钥之前,它不能用于写入或读取任何数据提取。
- 活动 - 密钥用于写入数据提取,以及读取它写入的数据提取。
- 已存档 - 该密钥过去处于活动状态,但已被后来的密钥取代。它不是用于写入数据提取,而是用于读取它写入的数据提取。
- 已停用 - 密钥在过去处于活动状态然后已存档。它未用于读取或写入任何数据提取。
状态和功能快速参考
| 密钥状态 | 可以写入/加密数据提取 | 可以读取/解密数据提取 |
| 待定 | ||
| 活动 | ✓ | ✓ |
| 已存档 | ✓ | |
| 已停用 |
设置概述
将 AWS KMS 与 Tableau 结合使用的摘要级步骤包括:
- AWS KMS:创建客户主密钥 (CMK)。
- Tableau Cloud:启用数据提取加密(或从使用 Salesforce KMS 的客户管理的加密密钥迁移)。
- Tableau Cloud:使用 AWS KMS 中客户主密钥的 ARN,在 Tableau 中生成密钥。
- AWS KMS:将 Tableau 密钥策略 JSON 添加到 AWS 客户主密钥的策略中。
- Tableau Cloud:激活密钥。
设置详细信息
在 AWS KMS 中创建主密钥
Tableau 使用的密钥加密密钥 (KEK) 和数据加密密钥 (DEK) 基于您在 AWS KMS(链接在新窗口中打开) 中创建的客户主密钥 (CMK)。因此,在 Tableau 生成 KEK 和 DEK 之前,AWS KMS 中必须有 CMK。如果您在 AWS KMS 中创建密钥时需要帮助,请咨询您当地的密钥专家。
Tableau 密钥生成对话框包含指向 AWS KMS(链接在新窗口中打开) 的链接。您可以在流程的该阶段创建 AWS 主密钥,也可以在 Tableau 中开始密钥生成过程之前创建它。
AWS 密钥由 Amazon 资源名称 (ARN) 唯一标识。系统要求您在 Tableau 密钥生成过程中提供 CMK ARN。密钥 ARN 的格式如下:
arn:aws:kms:us-east-2:123456789012:key/12345678-90ab-cdef-1234-567890abcdef
使用外部 KMS 启用数据提取加密
注意:启用加密后,无法轻易将其禁用。同样,从客户管理的加密密钥(使用 Salesforce KMS)切换到外部 KMS 是永久性的,如果没有客户经理的帮助,则无法撤消。
启用外部 KMS:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择“加密数据提取”。
- 选择“使用外部 KMS”。
- 如果已选择“使用 Salesforce KMS”,则您当前正在通过 Salesforce KMS 使用客户管理的加密密钥。(有关详细信息,请参见客户管理的加密密钥(链接在新窗口中打开)。)将设置更改为“使用外部 KMS”将不可逆转地从 Salesforce KMS 更改为外部 KMS。在更改 KMS 之前,请参见从客户管理的加密密钥迁移到外部 KMS。
- 选择“生成密钥”。
- 如果您要从 Salesforce KMS 迁移到外部 KMS,请阅读警告,然后选择“切换到外部 KMS”。
生成密钥
您必须生成一个密钥,然后激活它以写入加密的数据提取。如果您已经有一个活动密钥,则可以生成另一个密钥,作为替换当前活动密钥的第一步。
在 Tableau 中生成密钥:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择“生成密钥”。
- 如果您要为站点生成第一个密钥,您将看到“配置 AWS KMS”对话框。如果您已有活动密钥,请首先继续完成“生成密钥”确认对话框。
- 选择“启动 AWS KMS”。如果您尚未登录,系统将提示您登录 AWS。
- 在 AWS KMS 中,创建新密钥或查找现有密钥,然后复制密钥 ARN。
- 返回到 Tableau 的“配置 AWS KMS”对话框,并将密钥 ARN 粘贴到“来自 AWS 的密钥”字段中。
- (可选)输入“描述”。
- 选择“下一步”(或者,如果这是站点的第一个密钥,则选择“启用加密”)。
- 选择“完成”以稍后将密钥策略 JSON 添加到 AWS KMS,或按照为数据提取加密密钥使用外部 KMS立即执行此操作。
在将密钥策略 JSON 添加到 AWS KMS 策略然后激活它之前,该密钥不能用于读取或写入数据提取。
将密钥策略 JSON 添加到 KMS 密钥策略
新生成的密钥的状态为“待定”,并且不能用于写入或读取数据提取,直到您将密钥策略 JSON 添加到 AWS KMS 策略,然后将其激活。
若要查看密钥策略 JSON,请从生成密钥过程继续。
或者,如果您未从该过程继续:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应“待定”密钥旁边的操作菜单 (...)。
- 选择“密钥策略”。
若要将密钥策略 JSON 添加到 AWS KMS 策略,您需要将相关 Statement 对象从 Tableau 复制到 AWS KMS 中的策略 JSON。您只需要完整 JSON 文本的一部分。选择“复制密钥策略”,粘贴到文本编辑器中,并在其中操作 JSON 可能比在对话框中工作更容易。
从 JSON 文本中,复制 Statement 数组中的对象。然后,在 AWS KMS 密钥的策略中,按照标准 JSON 语法将复制的文本添加到 Statement 数组中。(在添加新的 JSON 之前,您可能需要在现有 AWS KMS 的 Statement 的末尾添加一个逗号。)
突出显示的部分是要添加到 AWS KMS 策略中的部分:
{
"Version": "2012-10-17",
"Id": "sfdc-key-access-policy",
"Statement": [
激活密钥
激活密钥以使用它来读取和写入新数据提取。“激活密钥”操作仅适用于“待定”密钥。
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应“待定”密钥旁边的操作菜单 (...)。
- 选择“激活密钥...”。
如果您已经拥有活动密钥,则激活新密钥会将现有密钥的状态更改为“已存档”。存档的密钥仅用于读取它写入的数据提取。新密钥将变为“活动”状态,并将用于写入新数据提取以及读取它写入的数据提取。
注意:在站点上启用加密并激活第一个密钥后,Tableau Cloud 会为站点上的每个数据提取创建一个数据提取加密后台作业。这些作业被设置为最低优先级,这意味着它们仅在有额外资源时运行。现有数据提取刷新作业在数据提取加密之前运行。
其他操作
将密钥存档
存档的密钥可以读取它们写入的数据提取,但不用于写入新的数据提取。将密钥存档的唯一方法是激活新密钥。请参见激活密钥。
停用密钥
停用存档的密钥,使其无法用于读取或写入任何数据提取。如果密钥已泄露,您可能希望执行此操作。“停用密钥”操作仅适用于“已存档”的密钥。
停用密钥时,它不能用于读取它写入的数据提取(与已存档密钥相反,已存档密钥可以读取它写入的数据提取)。这意味着,如果没有使用活动密钥进行加密,某些基于数据提取的内容可能会停止工作。如果需要保留对使用旧密钥的基于数据提取的内容的访问权限,请确保在停用旧密钥之前使用活动密钥刷新数据提取。
注意:如果需要,您可以恢复停用的密钥。恢复密钥会将其从“已停用”更改为“已存档”。请参见恢复密钥。
停用密钥:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应“已存档”密钥旁边的操作菜单 (...)。
- 选择“停用密钥...”。
- 在文本字段中输入“停用此密钥”以确认您的操作。
- 选择“停用密钥”。
恢复密钥
恢复停用的密钥,使其可用于读取它写入的数据提取。“恢复密钥”操作仅适用于“已停用” 密钥,并将其更改为“已存档”。
将密钥恢复到已存档状态时,它不会用于写入任何数据提取。它仅用于读取它写入的数据提取。
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应的“已停用”密钥旁边的操作菜单 (...)。
- 选择“恢复密钥...”。
- 选择“恢复密钥”。
删除密钥
您无法在 Tableau Cloud 中删除密钥。密钥只能存档(保留读取它写入的内容的能力)或停用(既不能读取也不能写入)。请参见Tableau Cloud 中的关键状态。
注意:如果您在 AWS KMS 中禁用客户主密钥 (CMK),则从其派生的 Tableau 密钥将停止进行加密或解密。同样,如果您从 AWS KMS 中的 CMK 策略中移除 Tableau 生成的子句,则从其派生的 Tableau 密钥将停止工作。
查看密钥策略
“密钥策略”对话框显示用于添加到 AWS KMS 密钥策略的密钥策略 JSON。密钥策略 JSON 可以在生成密钥过程中或之后添加。
有关详细信息,请参见为数据提取加密密钥使用外部 KMS。
查看应添加到 AWS KMS 密钥策略中的策略:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应密钥旁边的操作菜单 (...)。
- 选择“密钥策略”。
查看密钥历史记录
密钥历史记录表的每一行显示一个事件、事件后的密钥状态以及事件的日期和时间。
查看密钥的历史记录:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应密钥旁边的操作菜单 (...)。
- 选择“密钥历史记录”。
测试配置
对待定密钥使用“测试配置”操作来确定是否可以激活该密钥。对具有其他状态的密钥使用“测试配置”操作来显示它们是正在工作、应该工作还是不工作。
测试密钥的配置:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,选择相应密钥旁边的操作菜单 (...)。
- 选择“测试配置...”。
成功:
- 密钥可用于对数据提取进行加密。如果密钥处于待定状态,则可以安全地激活。如果密钥已经处于活动状态,则它正在工作。
错误:
- POLICY_DENIED - 外部 KMS 没有允许此密钥的策略。确认您已将策略从此密钥复制到外部 KMS。
- KEY_NOT_FOUND - 找不到密钥,或者密钥已在 Tableau 中停用。确认 AWS KMS 密钥 ARN 和策略。
- UNKNOWN - 发生未知错误。请确保该密钥未在 AWS KMS 中禁用,然后重试。
注意:如果您在 AWS KMS 中禁用客户主密钥 (CMK),则从其派生的 Tableau 密钥将停止进行加密或解密。同样,如果您从 AWS KMS 中的 CMK 策略中移除 Tableau 生成的子句,则从其派生的 Tableau 密钥将停止工作。
从客户管理的加密密钥迁移到外部 KMS
注意:从客户管理的加密密钥切换到外部 KMS 是永久性的,如果没有客户经理的帮助,则无法撤消。
从客户管理的加密密钥(使用 Salesforce 的 KMS)迁移到外部 KMS 很简单,但它是永久性的,如果没有客户经理的帮助,则无法撤消。更改后,您将在外部 KMS 而不是 Salesforce 的 KMS 中管理密钥。在从客户管理的加密密钥迁移到外部 KMS 之前,请确保您了解如何在外部 KMS 中执行基本密钥功能。
迁移后,从外部 KMS 派生的密钥将写入新的数据提取。Salesforce KMS 密钥将继续读取它写入的数据提取,直到使用基于 KMS 的外部密钥刷新数据提取。
有关客户管理的加密密钥和 Salesforce KMS 的详细信息,请参见客户管理的加密密钥(链接在新窗口中打开)。
从客户管理的加密密钥迁移到外部 KMS:
- 登录到您的 Tableau Cloud 站点。
- 在左侧导航窗格中选择“设置”
- 选择“安全”选项卡。
- 在“数据提取加密”部分下,将选择从“使用 Salesforce KMS”更改为“使用外部 KMS”。
- 阅读警告,然后选择“切换到外部 KMS”。
