AWS キー管理システム

Tableau Server には、保存中の暗号化を有効にできるキー管理システム (KMS) のオプションが 3 つあります。このうちの 2 つは Advanced Management (旧称 Server Management Add-on) を必要とし、ローカルの 1 つは Tableau Server のすべてのインストールで使用できます。

バージョン 2019.3 以降、Tableau Server では次の KMS オプションが追加されました。 

  • すべてのインストールで使用できるローカル KMS。詳細については、Tableau Server のキー管理システム」を参照してください。
  • Advanced Management の一部として提供される AWS ベースの KMS。 これについては以下で説明します。

バージョン 2021.1 以降、Tableau Server では次の KMS オプションが追加されました。 

  • Advanced Management の一部として提供される Azure ベースの KMS。詳細については、Azure キー コンテナを参照してください。

Tableau Server のバージョン 2019.3 のリリースでは、Advanced Management 一部として AWS キー管理システム (KMS) がサポートされます。

保管時の暗号化用に使用できるAWS KMS

AWS KMS は、Tableau Server で Advanced Management の一部として利用できます。詳細については、Tableau Server 上の Tableau Advanced Management についてを参照してください。

組織で保存データ抽出の暗号化を展開している場合は、AWS を抽出暗号化用の KMS として使用するように Tableau Server を構成することもできます。AWS KMS を有効にするには、Tableau Server を AWS EC2 で展開する必要があります。AWS のシナリオでは、Tableau Server は AWS KMS カスタマー マスター キー (CMK) を使用して AWS データ キー(新しいウィンドウでリンクが開く)を生成します。Tableau Server は、AWS データ キーを、暗号化されたすべての抽出のルート マスター キーとして使用します。ただし、AWS KMS 用に構成されている場合でも、Tableau Server 上にシークレットを安全に保存するためにネイティブの Java キーストアとローカル KMS が引き続き使用されます。AWS KMS は、暗号化された抽出のルート マスター キーを暗号化するためにのみ使用されます。

AWS を使用してマスター ルート キーを暗号化すると、マスター キーが抽出と同じパーミッションで保存されないため、セキュリティ特性が向上します。

AWS KMS を使用して Tableau Server が構成されている場合のキー階層

Tableau Server の暗号化された抽出用に AWS KMS を構成する

AWS カスタマー マスター キー (CMK) を使用して Tableau Server KMS 階層内のルート キーを暗号化するには、このセクションの説明のように Tableau Server を構成する必要があります。

開始する前に、次の要件を満たしていることを確認してください。

  • Tableau Server は AWS EC2 で展開されている必要があります。
  • Tableau Server は Advanced Management ライセンスを使用して構成されている必要があります。Tableau Server 上の Tableau Advanced Management についてを参照してください。
  • AWS Key Management Service で作成された顧客マスター キー (CMK) の管理権限を持っている必要があります。

ステップ 1: AWS で CMK を作成して Tableau Server 用のキー ポリシーを設定する

以下の手順は、AWS KMS サービスで実行します。参照情報は AWS のドキュメントに含まれています。

  1. Tableau Server に使用する CMK を作成します。AWS のトピック「データ キーの作成」(新しいウィンドウでリンクが開く)を参照してください。
  2. サーバー インスタンスの IAM ロールを更新します。

    Tableau Server は、インスタンスの IAM ロールを使用して AWS KMS で認証を実行できる必要があります。このロールにはポリシーが付いている必要があります。そのポリシーにより、CMK に対して "GenerateDataKey" および "Decrypt" アクションを呼び出すためのインスタンス パーミッションを付与する必要があります。「Amazon EC2 の IAM ロール」(新しいウィンドウでリンクが開く)を参照してください。

    Tableau Server のマルチノード展開では、サーバーの全ノードがこの (または同等の) ポリシーの付いたロールの下で実行されている必要があります。同じロールをクラスタ内のすべてのノードに割り当てることができます。

  3. 少なくとも CMK には、EffectPrinicpal (サーバー インスタンスに関連付けられている IAM ロール) に GenerateDataKey および DecryptActionAllow するように設定されているキー ポリシーが必要です。「AWS KMS でのキー ポリシーの使用」(新しいウィンドウでリンクが開く)を参照してください。

ステップ 2: AWS 構成パラメーターを収集する

AWS KMS から完全な ARN 文字列を取得する必要があります。この文字列は、AWS KMS 管理ページの [General configuration (一般設定)] セクションにあります。ARN は arn:aws:kms:<region>:<account>:key/<CMK_ID> の形式で表示されます (たとえば arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567)。

また、AWS の地域も指定する必要があります。これも ARN 文字列に含まれています。上記の例では、地域は us-west-2 です。地域とは KMS インスタンスが存在する場所のことです。次のステップでは、「Amazon API Gateway」表(新しいウィンドウでリンクが開く)の [Region (地域)] 列で示されるとおりに地域を指定する必要があります。

ステップ 3: AWS KMS 用に Tableau Server を構成する

Tableau Server で次のコマンドを実行します。このコマンドによりサーバーが再起動します。

  • tsm security kms set-mode aws --aws-region "<region>" --key-arn "arn:aws:kms:<region>:<account_number>:key/<CMK_ID>"

    --key-arn オプションは、AWS KMS 管理ページの [General configuration (一般設定)] セクション内の ARN から文字列を直接コピーします。

    たとえば、AWS KMS インスタンスが us-west-2 地域で実行されており、アカウント番号が 867530990073、CMK キーが 1abc23de-fg45-6hij-7k89-1l0mn1234567 である場合、コマンドは次のようになります。

    tsm security kms set-mode aws --aws-region "us-west-2" --key-arn "arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567"

ステップ 4: 保存中の暗号化を有効にする

保存中の抽出の暗号化を参照してください。

ステップ 5: インストールを検証する

  1. 次のコマンドを実行します。

    tsm security kms status

    返される可能性のある情報は次のとおりです。

    • カスタマー マスター キー (CMK) の ARN (ID)
    • CMK がある地域
    • 使用中のルート マスタ ーキー (RMK) の ID。RMK は CMK によって暗号化されたキーです。Tableau Server は AWS KMS を呼び出すことによって CMK を復号化します。その後、RMK を使用してマスター抽出キー (MEK) を暗号化/復号化します。RMK は変更できますが、同時に 1 つしか存在できません。
    • KMS にはマスター抽出キー (MEK) のコレクションが保管されます。各 MEK は次の情報を持ちます。
      • ID (8ddd70df-be67-4dbf-9c35-1f0aa2421521 など)
      • "暗号化または復号化キー" または "復号化専用キー" のステータス。キーが "暗号化または復号化キー" である場合、Tableau Server はそれを使用して新しいデータを暗号化します。そうでない場合、キーは復号化にのみ使用されます。
      • 作成タイムスタンプ ("Created at:2019-05-29T23:46:54Z" など)。
      • 暗号化または復号化キーへの最初の移行日時: キーが暗号化または復号化キーになった日時を示すタイムスタンプ。
      • 復号化専用キーへの移行日時: キーが復号化専用に移行した日時を示すタイムスタンプ。
  2. 抽出を暗号化して復号化した後でログを表示します。

    • 抽出をサイトにパブリッシュしてから暗号化します。保存中の抽出の暗号化を参照してください。

    • Tableau Desktop またはブラウザーで Web 作成を使用して抽出にアクセスします (このとき、抽出は使用のために復号化されます)。

    • vizqlserver_node ログ ファイルで AwsKmsEncryptionEnvelopeAccessorAwsKmsEncryptionEnvelope を検索します。このログの既定の場所は /var/opt/tableau/tableau_server/data/tabsvc/logs/ です。

      構成に成功したことを示すログ エントリの例を次に示します。

      • Decrypted the RMK with ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 using the CMK with ARN arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f
      • Using RMK with ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 to decrypt KMS store

      KMS に関連するパブリッシュと抽出更新については、バックグラウンダーのログを検索します。ログの詳細については、Tableau Server ログとログ ファイルの場所を参照してください。

構成のトラブルシューティング

マルチノードの構成ミス

AWS KMS のマルチノード セットアップでは、クラスタ内の別のノードが正しく構成されていなくても、tsm security kms status コマンドから正常 (OK) ステータスが返される場合があります。KMS のステータス チェックでは、Tableau Server 管理コントローラー プロセスが実行されているノードだけが報告され、クラスタ内の他のノードは報告されません。既定では、Tableau Server 管理コントローラー プロセスは、クラスタ内の最初のノードで実行されます。

したがって、他のノードが誤って構成されているために Tableau Server が AWS CMK にアクセスできない場合、これらのノードではさまざまなサービスについてエラー状態が報告され、起動が失敗します。

KMS を AWS モードに設定した後で一部のサービスが起動に失敗する場合は、コマンド tsm security kms set-mode local を実行してローカル モードに戻します。

AWS CMK を更新する

AWS CMK の更新は AWS で実行するタスクです。既定では、AWS CMK は 1 年に 1 回更新されます。AWS のトピック「自動キー ローテーションの仕組み」(新しいウィンドウでリンクが開く)を参照してください。ARN と地域が変更されないため、通常の CMK 更新シナリオでは Tableau Server で KMS 構成を更新する必要はありません。

AWS CMK が更新された後、Tableau Server で内部 RMK と MEK を再生成する必要があります。また、すべての抽出を新しい CMK で再暗号化する必要があります。

  1. tsm security regenerate-internal-tokens コマンドを実行して、Tableau Server ですべての内部キーを再生成します。これには抽出の暗号化に使用される RMK と MEK が含まれます。
  2. tabcmd reencryptextracts <site-name> を実行して、特定のサイトで抽出を再暗号化します。暗号化された抽出を保存するすべてのサイトでこのコマンドを実行してください。サイト上の暗号化された抽出の数によっては、この操作によってサーバーの処理負荷が大幅に大きくなる可能性もあります。業務時間外にこの操作を実行することを検討してください。保存中の抽出の暗号化を参照してください。

Tableau Server で RMK と MEK を再生成する

Tableau Server でルート マスター キーとマスター暗号化キーを再生成するには、tsm security regenerate-internal-tokens コマンドを実行します。

AWS KMS を使用してバックアップと復元を実行する

サーバーのバックアップは、AWS モードで追加の構成や手順を使用せずに作成できます。バックアップには、RMK と MEK の暗号化されたコピーが含まれます。キーを復号化するには、AWS CMK にアクセスして操作する必要があります。

復元シナリオの場合、復元先のサーバーは、ローカルを含むいずれかの KMS モードにすることができます。唯一の要件は、バックアップの復元先のサーバーが、バックアップで使用された CMK に対する復号化アクセス権を持っていることです。

復元の際は、バックアップから取り出された MEK が復号化専用キーとしてインポートされます。RMK は移行されません。インストール/復元プロセスの一部として新しい RMK が生成されます。

フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!