跳到主要内容 跳到补充内容

配置租户加密

租户管理员可以配置租户加密设置。默认情况下,新租户使用Qlik内部KMS加密租户中的内容。如果您的组织希望使用自己的客户管理密钥 (CMK) 来加密租户数据,您可以将租户加密配置为使用来自受支持的密钥提供程序的 CMK

Qlik Cloud 支持使用来自 Amazon Web Services (AWS) 密钥管理服务 (KMS) 的 CMK。客户可以通过 AWS KMS 密钥策略定义为多个租户选择使用同一密钥,尽管这不是最佳做法。CMKAWS KMS 集成将使用 AWS KMS API 的加密上下文维护每个租户的加密,但您必须分别为每个租户配置加密。允许租户供多个最终用户组织使用的客户或合作伙伴需要为每个最终用户组织实施单独的密钥。

警告注释您可以将 CMK 用于新租户或现有租户。在您将密钥提供程序更改为使用 CMK 后,租户中的所有静态数据都将使用这些密钥进行加密和解密。

CMK 先决条件

您必须有 AWS 帐户和 AWS KMS 密钥才能将 CMK 结合 Qlik Cloud 使用。有关设置 AWS KMS 帐户和创建 AWS KMS 密钥的详细信息,请参阅AWS 密钥管理服务 (KMS)

AWS 中完成设置后,可以更改租户中的密钥提供程序以使用您的 AWS KMS 密钥。

在租户中创建新的密钥提供程序

在更改密钥提供程序之前,请验证您的 AWS KMS 密钥和策略是否已在 AWS KMS 中正确配置。参阅AWS 密钥管理服务 (KMS)Qlik Cloud 支持以下密钥提供程序:

  • Qlik 内部 KMS(这是使用 Qlik 托管密钥的默认 KMS

  • AWS KMS

  1. 管理控制台 中,转到设置

  2. 租户加密下,单击管理密钥提供程序

  3. 单击新建卡。

  4. 输入密钥提供程序要求的参数。

    • 主密钥提供程序AWS KMS 主密钥提供程序是唯一可用的选项。
    • KMS 秘钥 ARNKMS 密钥 ARN 或别名 ARN。密钥 ARN 是 KMS 密钥的 Amazon Resource Name (ARN)。别名 ARN 是 AWS KMS 别名的 Amazon 资源名称 (ARN)(创建密钥时为 AWS KMS 密钥提供的友好名称)。有关更多信息,请参阅密钥提供程序事件有关如何查找 KMS 密钥的密钥 ARN 或别名 ARN 的信息,请参阅查找密钥 ID 和密钥 ARN 或者查找别名和别名 ARN
    • 标题:用于标识新密钥提供程序的标题。
    • 描述:可选
    • 创建密钥提供程序卡

      创建主密钥提供程序
  5. 选择是要添加密钥提供程序配置并保存以供以后使用,还是现在开始密钥迁移。

警告注释一旦为 CMK 配置了您的租户,如果禁用或删除了 CMK,则无法使用这些密钥解密租户数据。对于禁用的密钥,如果重新启用该密钥,将重新建立对数据的访问。对于已删除的密钥,对数据的访问将永久丢失。有关详细信息,请参阅AWS KMS 中的密钥管理

更改租户中的密钥提供程序

您可以将密钥提供程序从 Qlik KMS 更改为 AWS KMS,将 AWS KMS 更改成另一个 AWS KMS 或从 AWS KMS 恢复为 Qlik KMS。在密钥迁移过程中,租户将继续正常工作,不会对用户产生影响。

警告注释如果存在与 HIPAA 相关的有效业务伙伴协议 (BAA),并且您存储的 PHI 受 HIPAA 约束,则您不能从 AWS KMS 恢复到 Qlik KMS。如果必须更换当前使用的 AWS 密钥,则必须创建新的 AWS 密钥并迁移到该密钥。
警告注释

Qlik 应用程序自动化 运行日志在密钥迁移过程中被永久清除。这意味着,对于您的自动化,您不能列出历史日志信息:

  • 运行日志导出

  • 输出窗格

  • 每个块窗格

  • 计时窗格

进行密钥迁移后,以下问题仍然存在:

  • 动画运行标题

  • 自动化错误日志

  1. 管理控制台 中,转到设置
  2. 租户加密下,单击管理密钥提供程序
  3. 单击要迁移到的密钥提供程序卡上的省略号
  4. 选择迁移
  5. 更改密钥提供者对话框中,选中复选框以确认替换当前密钥,然后单击更改密钥提供者。成功迁移后,迁移的密钥提供程序将变为活动的。
信息注释密钥迁移的状态每 15 分钟更新一次。迁移通常需要长达 24 小时,具体取决于租户中工件的数量,如笔记、应用程序、自动化、警报、事件日志等。如果您的迁移时间超过 24小 时,请向 Qlik 支持提交票证。
信息注释 您可以在 管理控制台 中的“事件”页面上验证对加密密钥提供程序的更改。有关与迁移相关的加密事件类型的详细信息,请参阅密钥提供程序事件

验证密钥提供程序

您可以随时验证 AWS 密钥提供程序。验证是否完成了所有健全性检查,并验证是否遵守密钥提供程序迁移所需的已定义规则。在开始任何密钥提供程序迁移之前,也会自动执行验证。

  1. 管理控制台 中,转到设置
  2. 租户加密下,单击管理密钥提供程序
  3. 单击密钥提供程序卡上的省略号
  4. 选择验证

删除密钥提供程序

除默认的 Qlik 密钥提供程序外,任何密钥提供程序如果处于非活动状态,都可以删除。

  1. 管理控制台 中,转到设置
  2. 租户加密下,单击管理密钥提供程序
  3. 单击密钥提供程序卡上的省略号
  4. 选择删除

密钥提供程序事件

您可以在 管理控制台 中的“事件”页面上验证对加密密钥提供程序的更改。事件日志捕获以下加密事件类型:.

  • com.qlik.v1.encryption.keyprovider.created
  • com.qlik.v1.encryption.keyprovider.updated
  • com.qlik.v1.encryption.keyprovider.deleted
  • com.qlik.v1.encryption.keyprovider-migration.triggered
  • com.qlik.v1.encryption.keyprovider-migration.finished
  • com.qlik.v1.encryption.keyprovider-migration.progressed

AWS KMS 中的事件记录在事件历史记录下的 AWS CloudTrail 中。搜索事件名称:Encrypt、GenerateDatakey 或 Decrypt。

Qlik 加密 API 和连接器

除了通过管理控制台配置租户加密外,Qlik 还提供了多种管理密钥提供程序生命周期的方法。

AWS 密钥管理服务 (KMS)

Qlik Cloud 支持使用客户管理的密钥 (CMK) -Amazon将其称为用于加密和解密租户数据的来自 AWS KMSAWS KMS 密钥或 KMS 密钥。

以下是设置 AWS 以用于 CMK 所需的一般步骤。您必须创建 AWS KMS 帐户、创建 AWS KMS 密钥并配置密钥策略以与 Qlik Cloud CMK 一起使用。在 AWS KMS 中完成设置后,可以更改 Qlik Cloud 租户中的密钥提供程序以使用 AWS KMS 密钥。参阅在租户中创建新的密钥提供程序

创建 AWS 帐户

转到 Amazon Web Services 并创建帐户。

创建对称 AWS KMS 密钥

AWS 中,使用 AWS KMS Management Console 或通过 AWS KMS API 使用 CreateKey 命令创建密钥。配置多区域密钥时,请记住,根据主键的区域,可以选择哪些区域作为备份区域是有限制的。

  • AWS 地区—选择 Qlik Cloud 租户所在的区域。下面列出了支持的 Qlik Cloud 区域及其关联的 AWS 备份区域代码。支持多地区密钥。

    主要地区名称 主要地区代码 备份地区名称 备份地区代码
    美国(北弗吉尼亚) us-east-1 美国(俄亥俄) us-east-2
    欧洲(爱尔兰) eu-west-1 欧洲(巴黎) eu-west-3
    欧洲(法兰克福) eu-central-1 欧洲(米兰) eu-south-1
    欧洲(伦敦) eu-west-2 欧洲(西班牙) eu-south-2
    亚太(新加坡) ap-southeast-1 亚太(首尔) ap-northeast-2
    亚太(悉尼) ap-southeast-2 亚太(墨尔本) ap-southeast-4
    日本(东京) ap-northeast-1 日本(大阪) ap-northeast-3
    警告注释为了确保在 Qlik Cloud 中使用的多区域密钥的正确设置,您必须根据 AWS KMS 控制台中的上述备份区域图表创建密钥配对。
    Qlik Sense Enterprise SaaS Government 注释Qlik Cloud 政府 区域(us-gov-west-1us-gov-east-1)不需要复制密钥配置就可以注册 CMK
  • 密钥类型 - 对称。CMK 不支持非对称密钥。

  • 密钥使用—加密解密

关键点创建期间的其他设置包括:

  • 输入密钥别名

  • 定义可以管理密钥的身份和访问管理 (IAM) 用户和角色

  • 选择可以在加密操作中使用密钥的IAM用户和角色

  • 正在配置密钥策略。

有关创建 AWS KMS 密钥的更多信息,请参阅创建密钥

配置 AWS KMS 密钥策略。

密钥策略控制对 AWS KMS 密钥的访问。每个密钥都有自己的策略。密钥策略必须包含结合 Qlik Cloud 客户管理的秘钥 使用 AWS KMS 密钥所需的最低信息和权限。使用e AWS KMS Management Console 创建密钥时,AWS KMS 会根据密钥创建过程中的选择使用语句创建一个默认密钥策略。这些语句确定您帐户中可以管理密钥并在加密操作中使用密钥的 IAM 用户和角色。

您必须编辑默认密钥策略以添加结合 Qlik Cloud CMK 使用密钥所需的权限和参数。这些可包括:

  • 允许 QlikAWS 代理帐户和所需的IAM角色使用您的 AWS KMS 密钥生成数据密钥、加密和解密数据。必须将单独的 IAM 角色添加到关键策略中,以将 CMKQlik 应用程序自动化 一起使用。

  • 确定您的 Qlik Cloud TenantID。租户 ID 用作加密上下文。AWS KMS 使用加密上下文作为附加认证数据 (AAD) 来支持认证加密。这意味着一个租户无法解密另一租户的密码密钥。请参阅加密上下文。如果对多个租户使用相同的 KMS 密钥,则必须在密钥策略中包含每个租户的租户 ID。

  1. 确保您的客户 AWS 帐户和 IAM 用户和角色正确,并包含在策略中,请参阅示例 AWS KMS 密钥策略。您的政策可能还包括其他声明。
  2. 复制下面所需的 Qlik Cloud 代码段并将其添加到密钥策略中。对于 Qlik Cloud 政府 订阅,请复制 Qlik Cloud 政府 代码段。

  3. 
                   
            {
                "Sid": "Enable Qlik's proxy roles to use the Customer's AWS KMS key to encrypt and decrypt data for the Qlik cloud tenant",
                "Effect": "Allow",
                "Principal": {        
                    "AWS": [
                        "arn:aws:iam::338144066592:role/byok-encryption-proxy-role",
                        "arn:aws:iam::634246602378:role/byok-encryption-proxy-role",
                        "arn:aws:iam::338144066592:role/byok-automations-proxy-role",
                        "arn:aws:iam::634246602378:role/byok-automations-proxy-role"
                    ]
                },
                "Action": [
                    "kms:Encrypt",
                    "kms:Decrypt",
                    "kms:GenerateDataKey"
                ],
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "kms:EncryptionContext:TenantId": [
                            "QLIK_TENANT_ID"
                        ]
                    }
                }
            }
    [
        {
            "Sid": "Enable Qlik's proxy roles to use the Customer's AWS KMS key to encrypt and decrypt data for the Qlik cloud tenant",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws-us-gov:iam::014729015091:role/byok-encryption-proxy-role",
                    "arn:aws-us-gov:iam::014734359703:role/byok-encryption-proxy-role",
                    "arn:aws-us-gov:iam::014729015091:role/byok-automations-proxy-role",
                    "arn:aws-us-gov:iam::014734359703:role/byok-automations-proxy-role"
                ]
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:TenantId": [
                        "QLIK_TENANT_ID"
                    ]
                }
            }
        },
        {
            "Sid": "Enable KMS Key policy for proxy account",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws-us-gov:iam::014729015091:role/byok-encryption-proxy-role",
                    "arn:aws-us-gov:iam::014734359703:role/byok-encryption-proxy-role",
                    "arn:aws-us-gov:iam::014729015091:role/byok-automations-proxy-role",
                    "arn:aws-us-gov:iam::014734359703:role/byok-automations-proxy-role"
                ]
            },
            "Action": "kms:DescribeKey",
            "Resource": "*"
        }
    ]
  4. EncryptionContext 字符串中,替换 QLIK_TENANT_IDQlik Cloud TenantID。

  5. 提示注释要查找租户 ID,请从 Qlik Cloud 租户的应用中心选择用户配置文件,然后选择关于。在租户 ID 下,选择并复制 ID 字符串。 请勿使用设置 > 租户管理控制台 中的显示名称别名主机名
  6. 保存密钥策略。

有关 AWS KMS 关键策略的详细信息,请参阅 KMS 中的关键策略

示例 AWS KMS 密钥策略

以下示例关键策略包括与 Qlik Cloud 客户管理的秘钥 一起使用的基本要求。

  1. 可以管理和使用密钥的客户帐户和 IAM 用户和角色。

  2. 允许使用密钥进行加密操作的 Qlik 帐户和 IAM 角色:EncryptDecryptGenerateDataKey

  3. 允许结合 应用程序自动化 使用密钥的 Qlik 帐户和 应用程序自动化 IAM 角色。

  4. 标识您的 Qlik Cloud 租户标识号 (TenantID) 的加密上下文。

策略示例中选定的部分(B、C 和 D)标识 Qlik Cloud 客户管理的秘钥 所需的参数。

AWS KMS 关键策略示例

示例密钥策略

KMS 密钥 ARN 和 别名 ARN

Amazon 资源名称 (ARN) 是 KMS 密钥的唯一、完全限定的标识符。它包括加密上下文 (TenantID)、AWS 帐户、区域和密钥 ID。在 AWS 密钥管理服务 中创建 AWS KMS 密钥时,将创建 ARN。在 Qlik Cloud 中,将 管理控制台 中的主密钥提供程序更改为使用您的 AWS KMS 密钥时,必须提供密钥 ARN 或别名 ARN 才能将 Qlik 加密服务连接到 AWS KMS 密钥。参阅在租户中创建新的密钥提供程序

A) AWS KMS 密钥 ARN 和 B) AWS 密钥管理服务 中的别名 ARN

AWS KMS 密钥 ARN 和 别名 ARN

ARN 使用以下格式:

arn:<partition>:kms:<region>:<account-id>:key/<key-id>

以下是有效密钥 ARN 的示例:

arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

别名 ARN 使用以下格式:

arn:<partition>:kms:<region>:<account-id>:alias/<alias-name>

以下是有效别名 ARN 的示例,其中 CMK-Example-Alias 是别名:

arn:aws:kms:us-east-1:111122223333:alias/CMK-Example-Alias

有关查找 KMS 密钥的密钥 ARN 或别名 ARN 的详细信息,请参阅查找密钥 ID 和密钥 ARN,或查找别名和别名 ARN

用于灾难恢复 (DR) 的 AWS KMS 多区域密钥

多区域密钥允许您继续访问和处理加密数据,即使在主区域发生故障时也是如此。通过创建密钥副本,可以解密备份区域中的数据,而备份中加密的任何数据都可以在恢复后在主区域中解密。

请按照以下步骤在 AWS KMS 中创建多区域密钥:

  1. AWS 管理控制台上,点击创建密钥

  2. AWS 管理控制台,带有创建 CMK 密钥的按钮链接。

  3. 在步骤 1 中,您将设置密钥配置。在高级选项部分,为关键材料来源选择 KMS,在区域性部分,选择多区域密钥。单击下一步继续。

  4. AWS 管理控制台,带有创建 CMK 密钥的按钮链接。

  5. 第 2 步,为密钥添加别名。添加名称后,您可以选择添加描述和标签。单击下一步继续。

  6. AWS 管理控制台,带有创建 CMK 密钥的按钮链接。

  7. 第 3 步,您可以选择能管理密钥的 IAM 用户和角色单击下一步继续。

  8. AWS 管理控制台,带有创建 CMK 密钥的按钮链接。

  9. 第 4 步,您可以选择能使用 KMS 密钥的 IAM 用户角色。单击下一步继续。

  10. AWS 管理控制台,带有创建 CMK 密钥的按钮链接。

  11. 第 5 步,查看配置细节。确保区域性设置为多区域密钥

  12. AWS 管理控制台,带有创建 CMK 密钥的按钮链接。


密钥策略包括通过 Qlik Cloud 客户管理的秘钥 使用多区域密钥的所有要求,包括 KMS 操作 DescribeKey。有关 DescribeKey 的更多信息,请参阅 AWS KMS DescribeKey

{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::857519135519:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable KMS Key policy for proxy account", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::338144066592:role/byok-encryption-proxy-role", "arn:aws:iam::634246602378:role/byok-automations-proxy-role", "arn:aws:iam::634246602378:role/byok-encryption-proxy-role", "arn:aws:iam::338144066592:role/byok-automations-proxy-role" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:TenantId": [ "QLIK_TENANT_ID" ] } } }, { "Sid": "Enable KMS Key policy for proxy account", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::338144066592:role/byok-encryption-proxy-role", "arn:aws:iam::634246602378:role/byok-automations-proxy-role", "arn:aws:iam::634246602378:role/byok-encryption-proxy-role", "arn:aws:iam::338144066592:role/byok-automations-proxy-role" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }
警告注释AWS KMS 不支持在创建后更改密钥类型,这意味着单区域不能更改为多区域,反之亦然。如果现有密钥已配置为多区域,则可以修改策略并更新复制区域。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!