テナント暗号化の構成
組織の AWS Key Management Service (KMS) キーを使用して、Qlik Cloud でテナント暗号化を設定します。
テナント管理者は、テナント暗号化設定を構成できます。既定では、新しいテナントは Qlik 内部 KMS を使って、テナントのコンテンツを暗号化できます。組織が独自の顧客管理キー (CMK) を使ってテナント データを暗号化する場合、テナント暗号化でサポートされたキー プロバイダーからの CMK を構成できます。
Qlik Cloud は、Amazon Web Services (AWS) キー管理サービス (KMS) からの CMK を使ってサポートします。顧客は、AWS KMS キー ポリシー定義を使って、複数のテナントに同じキーを使用するよう選択できますが、これはベストプラクティスとして推奨されません。CMK と AWS KMS 統合は、AWS KMS API の暗号化コンテクストを使ってテナントごとに保守管理されますが、各テナントに対して個別に暗号化を構成する必要があります。複数のエンドユーザー組織が使用するテナントを有効にする顧客またはパートナーは、エンドユーザー組織ごとに個別のキーを実装する必要があります。
CMK 前提条件
Qlik Cloud で CMK を使用するには、AWS アカウントと AWS KMS キーが必要です。AWS KMS アカウントの設定と AWS KMS キーの作成の詳細については、「AWS キー管理サービス (KMS)」を参照してください。
AWS でセットアップを完了したら、テナントでキー プロバイダーが AWS KMS キーを使用するように変更できます。
テナントへの新しいキー プロバイダーの作成
キー プロバイダーを作成する前に、AWS KMS キーとポリシーが AWS KMS で正しく構成されていることを確認してください。「AWS キー管理サービス (KMS)」を参照してください。Qlik Cloud は、次のキー プロバイダーをサポートしています:
-
Qlik 内部 KMS (これは、Qlik 管理キーを使った既定の KMS です)
-
AWS KMS
次の手順を実行します。
-
Administration アクティビティ センターで、 [設定] に移動します。
-
[テナントの暗号化] で、[キー プロバイダーを管理] をクリックします。
-
[新規作成] カードをクリックします。
-
キー プロバイダーに必要なパラメーターを入力します。
- マスター キー プロバイダー: 利用可能なオプションは、AWS KMS マスター キー プロバイダーのみです。
- KMS キー ARN: KMS キー ARN またはエイリアス ARN。キー ARN は KMS キーの Amazon Resource Name (ARN) です。エイリアス ARN は、AWS KMS エイリアス (キー作成時に AWS KMS キーにつけられたわかりやすい名前) の Amazon Resource Name (ARN) です 。詳細については、「キー プロバイダーのイベント」を参照してください。KMS キーのキー ARN またはエイリアス ARN の検索方法については、「キー ID およびキー ARN の検索」または「エイリアス名とエイリアス ARN の検索」を参照してください。
- タイトル: 新しいキー プロバイダーを識別するためのタイトル。
- 説明: (任意)
-
キー プロバイダーの構成を追加して後で使用するために保存するか、今すぐキーの移行を開始するかを選択します。
テナントでキー プロバイダーを変更する
キー プロバイダーを Qlik KMS から AWS KMS、AWS KMS から別の AWS KMS に変更したり、AWS KMS から Qlik KMS に戻したりすることができます。キー移行プロセス中、テナントはユーザーに影響せずに通常通り機能します。
次の手順を実行します。
- Administration アクティビティ センターで、 [設定] に移動します。
- [テナントの暗号化] で、[キー プロバイダーを管理] をクリックします。
- 移行先のキー プロバイダーのカードで省略記号をクリックします。
- 移行を選択します。
- [キー プロバイダーを変更] ダイアログで、現在のキーの置き換えを確認するチェックボックスを選択し、 [キー プロバイダーを変更]をクリックします。移行がうまくいったら、移行したキー プロバイダーがアクティブになります。
キー プロバイダーの検証
いつでも AWS キープロバイダーを検証できます。検証では、すべての健全性チェックが完了し、キー プロバイダーの移行に必要な定義済みのルールが遵守されていることを確認します。検証は、キー プロバイダーの移行を開始する前にも自動的に実行されます。
次の手順を実行します。
- Administration アクティビティ センターで、 [設定] に移動します。
- [テナントの暗号化] で、[キー プロバイダーを管理] をクリックします。
- キー プロバイダー カードの省略記号をクリックします。
- [検証] を選択します。
キー プロバイダーの削除
既定の Qlik キー プロバイダーを除き、非アクティブなキー プロバイダーはすべて削除できます。
次の手順を実行します。
- Administration アクティビティ センターで、 [設定] に移動します。
- [テナントの暗号化] で、[キー プロバイダーを管理] をクリックします。
- キー プロバイダー カードの省略記号をクリックします。
- [削除] を選択します。
キー プロバイダーのイベント
暗号化キー プロバイダーの変更は、Administration アクティビティ センターの [イベント] ページで確認できます。 イベント ログは、次の暗号化イベント タイプをキャプチャします。
- 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 では、Administration アクティビティ センターを介してテナントの暗号化を構成するだけでなく、キー プロバイダーのライフサイクルを管理する方法をいくつか提供しています。
- キー プロバイダーをプログラムで管理するための暗号化 API。qlik.dev の API リファレンス ドキュメントを参照してください。
- AWS でキー プロバイダーを設定できるようにする AWS KMS Qlik アプリケーションの自動化 コネクタ。「Amazon KMS コネクタを使い始める方法」を参照してください。
- Qlik Platform Operations コネクタおよび QCS コネクタは、コード不要の Qlik ネイティブ オプションとして使用でき、論理フローでコネクタ ブロックを操作することでキー プロバイダーを簡単に管理できます。「Qlik Platform Operations コネクタの概要」と「Application Automation コネクタ」を参照してください。
AWS キー管理サービス (KMS)
Qlik Cloud は、AWS KMS からの顧客管理キー (CMK) — Amazon はこれを AWS KMS キーまたは KMS キーと呼ぶ — を使ってサポートし、テナント データを暗号化および復号化します。
下記は、CMK を使用するために AWS を設定するのに必要な一般的ステップです。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 eu-north-1 スウェーデン地域は、特定のデータ転送ポリシーによりバックアップ地域がありません。
警告メモQlik Cloud で使用するマルチリージョン キーを正しく設定するには、AWS KMS コンソールで上記のバックアップ リージョン チャートに従ってキーのペアリングを作成する必要があります。Qlik Cloud Government に関する注意Qlik Cloud Government リージョン (us-gov-west-1 または us-gov-east-1) では、CMK を登録するためにレプリカ キーを構成する必要はありません。 -
キー タイプ—左右対称。CMK は左右非対称キーをサポートしません。
-
キー用途—暗号化および復号化
キー作成中のその他の設定には次のものが含まれます:
-
キー エイリアスの入力
-
キーを管理できる Identity and Access Management (IAM) ユーザーとロールの定義
-
暗号化操作でキーを使用できる IAM ユーザーとロールの選択
-
キー ポリシーの構成。
AWS KMS キーに関する情報については、「キーの作成」を参照してください。
AWS KMS キー ポリシーの構成
キー ポリシーは、AWS KMS キーへのアクセスを制御します。キーごとに独自のポリシーがあります。キー ポリシーには、AWS KMS キーを Qlik Cloud カスタマー マネージド キー と使用するのに必要な最小限の情報と権限を含んでいる必要があります。AWS KMS 管理コンソールを使用してキーを作成すると、AWS KMS はキー作成中の選択に基づいたステートメントを持つ既定キー ポリシーを作成します。これらのステートメントは、キーを管理して、暗号化操作でキーを使用することができる IAM ユーザーと役割を決定します。
既定のキー ポリシーを編集して、キーを Qlik Cloud CMK で使用するのに必要な権限とパラメータを追加します。これには、次が含まれます。
-
Qlik の AWS プロキシ アカウントと必要な IAM ロールが、データ キーを生成し、AWS KMS キーを使ってデータを暗号化、復号化できるようにします。別の IAM ロールをキー ポリシーに追加して、CMK を Qlik アプリケーションの自動化 で使用する必要があります。
-
Qlik Cloud TenantID の識別。テナント ID は、暗号化コンテキストとして使用されます。AWS KMS は暗号化コンテキストを追加認証データ (AAD) として使用し、認証された暗号化をサポートします。つまり、あるテナントは別のテナントの暗号キーを復号化できないということです。「暗号化コンテキスト」を参照してください。複数のテナントに KMS キーを使用している場合、キー ポリシーで各テナントのテナント ID を含める必要があります。
次の手順を実行します。
- 顧客の AWS アカウントと IAM ユーザーとロールが正しく、ポリシーに含まれていることを確認してください。「例の AWS KMS キー ポリシー」を参照してください。ポリシーに、他のステートメントも含まれている可能性があります。
-
下記の必要な Qlik Cloud コード スニペットをコピーして、キー ポリシーに追加します。Qlik Cloud Government サブスクリプションの場合は、Qlik Cloud Government コード スニペットをコピーします。
-
EncryptionContext 文字列で、QLIK_TENANT_ID を Qlik Cloud TenantID と置き換えます。
- キー ポリシーを保存します。
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 Government コード スニペット
[
{
"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 テナント ID 番号 (TenantID) を識別する暗号化コンテキスト。
ポリシー例で選択されたセクション (B、C、および D) は、Qlik Cloud カスタマー マネージド キー に必要なパラメータを識別します。
KMS キー ARN とエイリアス ARN
Amazon Resource Name (ARN) は、KMS キーに対して一意の、完全修飾識別子です。暗号化コンテキスト (TenantID)、AWS アカウント、リージョン、キー ID を含みます。ARN は、AWS KMS キーを AWS キー管理サービス で作成すると作成されます。Qlik Cloud では、Administration アクティビティ センターのマスター キー プロバイダーが 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>
次は、CMK-Example-Alias がエイリアス名である有効なエイリアス ARN の例です:
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 では、構成の詳細を確認します。[リージョナリティ] が [マルチリージョン キー] に設定されていることを確認します。
キー ポリシーには、KMS アクション DescribeKey を含む、Qlik Cloud カスタマー マネージド キー でマルチリージョン キーを使用するためのすべての要件が含まれています。DescribeKey の詳細については、「AWS KMS DescribeKey」を参照してください。