設定租用戶加密
使用組織的 AWS 金鑰管理服務 (KMS) 金鑰在 Qlik Cloud 中設定租用戶加密。
租用戶管理員可以設定租用戶加密設定。依照預設,新的租用戶使用 Qlik 內部 KMS 加密租用戶中的內容。若組織想要使用自己的客戶管理金鑰 (CMK) 加密租用戶資料,您可以設定租用戶加密以從支援的金鑰提供者使用 CMK。
Qlik Cloud 支援從 Amazon Web Services (AWS) 金鑰管理服務 (KMS) 使用 CMK。客戶可以透過 AWS KMS 金鑰政策定義選擇對多個租用戶使用相同金鑰,雖然不建議將此作為最佳做法。CMK 和 AWS KMS 整合將使用 AWS KMS API 加密內容維護每個租用戶加密,但您必須分別為每個租用戶設定加密。讓多個最終使用者組織使用租用戶的客戶或合作夥伴需要實施每個最終使用者組織的個別金鑰。
CMK 必要條件
您必須有 AWS 帳戶和 AWS KMS 和金鑰才能透過 Qlik Cloud 使用 CMK。如需更多關於設定 AWS KMS 帳戶和建立 AWS KMS 金鑰的資訊,請參閱 AWS 金鑰管理服務 (KMS)。
在 AWS 中完成設定後,您可以在租用戶中變更金鑰提供者以使用 AWS KMS 金鑰。
在租用戶中建立新的金鑰提供者
在建立金鑰提供者之前,請確認已在 AWS KMS 中正確設定您的 AWS KMS 金鑰和政策。請參閱 AWS 金鑰管理服務 (KMS)。Qlik Cloud 支援下列金鑰提供者:
-
Qlik 內部 KMS (這是使用 Qlik 管理金鑰的預設 KMS)
-
AWS KMS
請執行下列動作:
-
在 管理 活動中心內,前往設定。
-
在租用戶加密之下,按一下管理金鑰提供者。
-
按一下建立新內容卡片。
-
輸入金鑰提供者所需的參數。
- 主要金鑰提供者:AWS KMS 主要金鑰提供者是唯一的可用選項。
- KMS 金鑰 ARN:KMS 金鑰 ARN 或別名 ARN。金鑰 ARN 是 KMS 金鑰的 Amazon Resource Name (ARN)。別名 ARN 是 AWS KMS 別名的 Amazon Resource Name (ARN) (在建立金鑰時為 AWS KMS 金鑰提供的友善名稱)。如需更多資訊,請參閱 金鑰提供者事件。如需關於如何尋找 KMS 金鑰的金鑰 ARN 或別名 ARN 的資訊,請參閱尋找金鑰 ID 和金鑰 ARN 或尋找別名和別名 ARN。
- 標題:用來識別新的金鑰提供者的標題。
- 描述:選填
-
選擇是否要新增金鑰提供者設定並儲存以供之後使用或立即開始金鑰遷移。
在租用戶中變更金鑰提供者
您可以將金鑰提供者從 Qlik KMS 變更為 AWS KMS、將 AWS KMS 變更為另一個 AWS KMS,或從 AWS KMS 恢復為 Qlik KMS 。在金鑰遷移過程中,租用戶將會繼續照常運作,不會影響使用者。
請執行下列動作:
- 在 管理 活動中心內,前往設定。
- 在租用戶加密之下,按一下管理金鑰提供者。
- 在您想要遷移至的金鑰提供者的卡片上按一下省略符號。
- 選取遷移。
- 在變更金鑰提供者對話方塊中,選取核取方塊,以確認取代目前金鑰,並按一下變更金鑰提供者。成功遷移後,遷移的金鑰提供者將會變成作用中。
驗證金鑰提供者
您隨時可以驗證 AWS 金鑰提供者。驗證會完成所有健全性檢查並驗證合規性,以定義金鑰提供者遷移所需的規則。也會在任何金鑰提供者遷移開始之前自動執行驗證。
請執行下列動作:
- 在 管理 活動中心內,前往設定。
- 在租用戶加密之下,按一下管理金鑰提供者。
- 按一下金鑰提供者卡片上的省略符號。
- 選取驗證。
刪除金鑰提供者
可以刪除任何非作用中的金鑰提供者,但預設 Qlik 金鑰提供者除外。
請執行下列動作:
- 在 管理 活動中心內,前往設定。
- 在租用戶加密之下,按一下管理金鑰提供者。
- 按一下金鑰提供者卡片上的省略符號。
- 選取刪除。
金鑰提供者事件
您可以在 管理 活動中心內的事件頁面上驗證對加密金鑰提供者的變更。 事件記錄擷取下列加密事件類型:
- 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。搜尋事件名稱:加密、產生資料金鑰,或解密。
Qlik 加密 API 和連接器
除了透過 管理 活動中心設定租用戶加密,Qlik 也提供另外幾種管理金鑰提供者生命週期的方式。
- 加密 API 能以程式化方式管理金鑰提供者。請在 qlik.dev 參閱 API 參考文件。
- 可讓您在 AWS 中設定金鑰提供者的 AWS KMS Qlik 應用程式自動化 連接器。請參閱如何開始使用 Amazon KMS 連接器。
- Qlik 平台操作連接器和 QCS 連接器,可作為無程式碼 Qlik 原生選項使用,以便在邏輯流程中操縱連接器區塊,輕鬆管理金鑰提供者。請參閱 Qlik 平台操作連接器概述和應用程式自動化連接器。
AWS 金鑰管理服務 (KMS)
Qlik Cloud 支援從 AWS KMS 使用客戶管理金鑰 (CMK) (Amazon 將此稱為 AWS 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 管理主控台或使用 CreateKey 命令透過 AWS KMS API 建立金鑰。設定多區域金鑰時,請記住,會根據主要金鑰的區域,限制可選取哪些區域作為備份區域。
-
AWS 地區—選取託管 Qlik Cloud 租用戶的地區。支援的 Qlik Cloud 地區及其相關 AWS 備份地區代碼如下所列。支援多區域金鑰。
主要區域名稱 主要區域代碼 備份區域名稱 備份區域代碼 美國東部 (北維吉尼亞州) us-east-1 美國東部 (俄亥俄州) us-east-2 歐洲 (愛爾蘭) eu-west-1 歐洲 (巴黎) eu-west-3 歐洲 (倫敦) eu-west-2 歐洲 (西班牙) eu-south-2 歐洲 (法蘭克福) eu-central-1 歐洲 (米蘭) eu-south-1 歐洲 (瑞典) eu-north-1 不適用 不適用 亞太地區 (新加坡) ap-southeast-1 亞太地區 (首爾) ap-northeast-2 亞太地區 (雪梨) ap-southeast-2 亞太地區 (墨爾本) ap-southeast-4 日本 (東京) ap-northeast-1 日本 (大阪) ap-northeast-3 印度 (孟買) ap-south-1 印度 (海德拉巴) ap-south-2 eu-north-1 瑞典區域由於其特定的資料傳輸政策,沒有備份區域。
警告備註為了確保正確設定用於 Qlik Cloud 的多區域金鑰,您必須在 AWS KMS 主控台根據以上備份區域圖表建立金鑰配對。Qlik Cloud 政府備註Qlik Cloud 政府 區域 (us-gov-west-1 或 us-gov-east-1) 不需要副本金鑰配置以註冊 CMK。 -
金鑰類型—對稱。CMK 不支援不對稱的金鑰。
-
金鑰使用—加密和解密
金鑰建立期間的其他設定包括:
-
輸入金鑰別名
-
定義可以管理金鑰的識別和存取管理 (IAM) 使用者和角色
-
選取可以在密碼編譯操作中使用金鑰的 IAM 使用者和角色
-
設定金鑰政策。
如需更多關於建立 AWS KMS 金鑰的資訊,請參閱建立金鑰。
設定 AWS KMS 金鑰政策
金鑰政策控制 AWS KMS 金鑰的存取權限。每個金鑰有自己的政策。金鑰政策必須包括透過 Qlik Cloud 客戶管理金鑰 使用 AWS KMS 金鑰所需的最低資訊和權限。使用 AWS KMS 管理主控台建立金鑰時,AWS KMS 會根據您在金鑰建立期間的選項透過陳述式建立預設金鑰政策。這些陳述式決定帳戶中可以管理金鑰並在密碼編譯操作中使用金鑰的 IAM 使用者和角色。
您必須編輯預設金鑰政策,才能新增透過 Qlik Cloud CMK 使用金鑰所需的權限和參數。這包括:
-
允許 Qlik 的 AWS Proxy 帳戶和所需的 IAM 角色使用您的 AWS KMS 金鑰產生資料金鑰、加密並解密資料。獨立的 IAM 角色必須新增至金鑰政策,才能透過 Qlik 應用程式自動化 使用 CMK。
-
識別 Qlik Cloud TenantID。租用戶 ID 作為加密內容使用。AWS KMS 使用加密內容作為其他已驗證的資料 (AAD),以支援已驗證的加密。這表示,某個租用戶無法解密另一個租用戶的加密金鑰。請參閱加密內容。若您對多個租用戶使用相同的 KMS 金鑰,必須在金鑰政策中納入每個租用戶的租用戶 ID。
請執行下列動作:
- 確認客戶 AWS 帳戶以及 IAM 使用者和角色正確,並包括在政策中,請參閱 範例 AWS KMS 金鑰政策。您的政策可能也包括其他陳述式。
-
複製以下所需的 Qlik Cloud 程式碼片段並新增至金鑰政策。對於 Qlik Cloud 政府 訂閱,複製 Qlik Cloud 政府 程式碼片段。
-
在 EncryptionContext 字串中,以 Qlik Cloud TenantID 取代 QLIK_TENANT_ID。
- 儲存金鑰政策。
Qlik Cloud 程式碼片段
{
"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"
]
}
}
}
Qlik Cloud 政府 程式碼片段
[
{
"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": "*"
}
]
如需更多關於 AWS KMS 金鑰政策的資訊,請參閱 KMS 中的金鑰政策。
範例 AWS KMS 金鑰政策
下列範例金鑰政策包括透過 Qlik Cloud 客戶管理金鑰 使用的基本要求。
-
可以管理並使用金鑰的客戶帳戶以及 IAM 使用者和角色。
-
允許使用金鑰進行密碼編譯操作的 Qlik 帳戶和 IAM 角色:Encrypt、Decrypt 和 GenerateDataKey。
-
允許透過 應用程式自動化 使用金鑰的 Qlik 帳戶和 應用程式自動化 IAM 角色。
-
識別 Qlik Cloud 租用戶識別碼 (TenantID) 的加密內容。
政策範例中所選的區段 (B、C 和 D) 識別 Qlik Cloud 客戶管理金鑰 所需的參數。
KMS 金鑰 ARN 和別名 ARN
Amazon Resource Name (ARN) 是唯一、完全合格的 KMS 金鑰識別碼。這包括加密內容 (TenantID)、AWS 帳戶、地區和金鑰 ID。您在 AWS 金鑰管理服務 中建立 AWS KMS 金鑰時,會建立 ARN。在 Qlik Cloud中,若您變更 管理 活動中心內的主要金鑰提供者以使用 AWS KMS 金鑰,您必須提供金鑰 ARN 或別名 ARN 以將 Qlik 加密服務連線至 AWS KMS 金鑰。請參閱 在租用戶中建立新的金鑰提供者。
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。
AWS KMS 用於災難復原 (DR) 的多區域金鑰
多區域金鑰可允許您在主要區域遇到服務中斷時,繼續存取並處理加密資料。透過建立金鑰的副本,您可以解密備份區域中的資料,同時備份中加密的任何資料稍後在還原後都可以在主區域中解密。
遵照這些步驟以便在 AWS KMS 中建立多區域金鑰:
-
在 AWS 管理主控台中,按一下建立金鑰。
-
在步驟 1 中,您將會設定您的金鑰配置。在進階選項區段中,在金鑰資料來源選擇 KMS,然後在區域性區段中選擇多區域金鑰。按一下下一步以繼續。
-
在步驟 2 中,您會為金鑰新增別名。在新增名稱之後,您可以選擇新增描述與標籤。按一下下一步以繼續。
-
在步驟 3 中,您可以選擇管理金鑰的 IAM 使用者和角色。按一下下一步以繼續。
-
在步驟 4 中,您可以選擇能夠使用 KMS 金鑰的 IAM 使用者角色。按一下下一步以繼續。
-
在步驟 5,您將會查看配置詳細資訊。請確定區域性已經設定為多區域金鑰。
金鑰原則包括將多區域金鑰用於 Qlik Cloud 客戶管理金鑰 的所有需求,包括 KMS 動作 DescribeKey。如需更多有關 DescribeKey 的資訊,請參閱 AWS KMS DescribeKey。