既存のDSE Searchインデックスの暗号化

既存のDSE Searchインデックス・ファイルを暗号化する手順

DSE Searchインデックスを暗号化すると、新しいファイルに対してのみ、暗号化が有効になります。既存のデータを暗号化するには、追加のステップが必要です。既存のDSE Searchインデックスを暗号化した場合は、ノードを再起動する必要があります。

既存のDSE Searchインデックスを暗号化するには、複数の方法があります。お使いの環境に適した方法を選択してください。

始める前に

TDEの効率を上げるには、セキュアなローカル・ファイル・システムが必要です。暗号化の証明書は、KMIP暗号化の場合は、サーバー外にサーバー内暗号化の場合はローカルに格納されます。

手順

暗号化は、コアごとに有効にされます。

  1. 既存コアの暗号化を有効にするには、solrconfig.xmlファイルでdirectoryFactoryのクラスをsolr.EncryptedFSDirectoryFactoryに変更します。
    <directoryFactory name="DirectoryFactory" class="solr.EncryptedFSDirectoryFactory"/>
  2. 変更したsolrconfig.xmlファイルをアップロードします。
    たとえば、変更したリソース・ファイルをアップロードするには、次のようにdsetoolを使用します。
    dsetool reload_core keyspace.table 
    reload_core keyspace.table [option ...]
    [-l username -p password]が指定されたCassandraパスワード認証をサポートします。
    指定されたキースペースとテーブル名でSolrコアを再度読み込みますこのコマンドを実行すると、キースペース名とテーブル名の大文字/小文字の区別が維持されます。キースペース名とテーブル名では、大文字/小文字を正しく使用する必要があります。 以下のオプションを指定してコアを再度読み込みます。
    オプション 設定 デフォルト 説明
    schema= filepath なし スキーマ・ファイルのパス
    solrconfig= filepath なし solrconfig.xmlファイルのパス
    distributed= trueまたはfalse true
    • trueの場合、再読み込み操作がローカルDCのすべてのノードに分散および適用されます。
    • falseの場合、再読み込み操作が送信されたノードにのみ適用されます。
    reindex= trueまたはfalse false
    • trueの場合、データのインデックスが再作成されます。
    • falseの場合、データのインデックスは再作成されません。
    deleteAll= trueまたはfalse false
    • trueの場合、インデックスが再作成される前に、既存のインデックスが削除されます。インデックスの再作成中は、検索結果にデータはまったく表示されないか、一部のデータのみが表示されます。
    • falseの場合、既存のインデックスは削除されず、インデックスの再作成がその場で実行されます。インデックスの更新中は、検索結果に部分的に不正な結果が返されます。
  3. DataStax Enterpriseノードを再起動します。
    暗号化を有効にするためにノードを再起動する必要はありません。しかし、directoryFactoryを変更した場合は、ノードを再起動する必要があります。
    暗号化は、新しいファイルに対してのみ有効になります。既存のデータを暗号化するには、追加のステップが必要です。
  4. 既存のファイルを暗号化するには、以下のいずれかの方法を使用します。
    • 最も遅いオプション:dsetoolを使用してコアを再度読み込み、ノードの実行中にインデックスを再作成します。
      dsetool reload_core keyspace.table deleteAll=true reindex=true
    • 最も速いオプション:ローカル・ノードがオフラインである必要があります。

      DataStax Enterpriseクラスターに、実行中の2つ目のリモート・ノードが存在する場合は、ローカルのオフライン・ノードでインデックス・ファイルを暗号化します。暗号化構成は、リモート・ノードから読み取られます。 暗号化構成が格納されているノードが実行されている必要があります。ローカル・ノードはオフラインです。このコマンドを実行するユーザーは、インデックス・ファイルが格納されているディレクトリーの読み取りおよび書き込みパーミッションが付与されている必要があります。

      1. Solrインデックスの付いているすべてのノードの暗号化を有効にします。
      2. 以下のdsetoolコマンドを実行します。
        dsetool upgrade_index_files keyspace.table -h IP_address [options]
        オフライン・インデックス暗号化に関して、以下のオプションが指定できます。
        • -h IP_address - 必須。暗号化構成を含んでいるリモート・ノードのノード・ホスト名またはIPアドレス。リモート・ノードは実行中である必要があります。
        • -c cassandra_port - 暗号化構成を含んでいるリモート・ノードのCassandraポート。
        • --backup - 正常なアップグレード後のバックアップとして現在のインデックスからのインデックス・ファイルを保持します。指定しない場合、現在のインデックスからのインデックス・ファイルは削除されます。
        • --workspace directory - アップグレード・プロセス用のワークスペース・ディレクトリーを指定します。アップグレードされたインデックスがこのディレクトリーに作成されます。--backupを指定しない場合、保持されたインデックス・ファイルのバックアップはここに移動されます。指定しない場合、デフォルトのディレクトリーは、Solrインデックス・ファイルを含んでいる同じディレクトリーになります。
        • --index directory - Solrインデックス・ファイルを含んでいるデータ・ディレクトリーを指定します。指定しない場合は、Solrコアの名前からデフォルトのディレクトリーが推測されます。
    • 単純なオプション:しかし、結果待ちで不確定です。

      ただ待ちます。インデックスに追加された新しいデータは、インデックスがコンパクションされるか、マージされたときに暗号化されます。新しいファイルは暗号化されるので、ファイルはやがて暗号化されます。

  5. どのファイルが暗号化されたかを確認するには、次のコマンドを使用して、ローカル・ノード上の指定されたSolrコアに関するすべてのDSE Searchインデックス・ファイルの一覧を表示します。
    dsetool list_index_files keyspace.table [--index directory]
    ここで、--index directoryには、Solrインデックス・ファイルが格納されているデータ・ディレクトリーを指定します。何も指定しない場合は、Solrコア名からデフォルト・ディレクトリーが推測されます。
  6. 暗号化されているファイルが特定できたら、既存のファイルを別のオプションを使用して暗号化できます。

次のタスク

暗号化を無効にするには、バックのCQLテーブルの暗号化を無効にします。ノードの再起動は必要ありません。