既存の検索インデックスの暗号化
既存のDSE Searchインデックス・ファイルを暗号化するための手順。
既存のDSE Searchインデックスを暗号化するには、複数の方法があります。お使いの環境に適切な方法を選択します。
始める前に
TDEを使用する場合は、ローカル・ファイル・システムのセキュリティを保護します。暗号化キーはKMIP暗号化を使用してリモートに格納されるか、サーバー内暗号化を使用してローカルに格納されます。
手順
暗号化はコアごとに有効になります。
-
既存のコアの暗号化を有効にするには、solrconfig.xmlファイルを編集して、directoryFactoryのクラスを
solr.EncryptedFSDirectoryFactory
に変更します。<directoryFactory name="DirectoryFactory" class="solr.EncryptedFSDirectoryFactory"/>
-
変更したsolrconfig.xmlファイルをアップロードします。
たとえば、dsetoolを使用して、変更したリソース・ファイルをアップロードできます。
dsetool reload_core keyspace_name.table_name
-
DataStax Enterpriseノードを再起動します。
暗号化を有効にしても、ノードを再起動する必要はありません。ただし、directoryFactoryを変更した場合は、ノードを再起動する必要があります。暗号化は新しいファイルに対してのみ有効です。既存のデータを暗号化するには、追加の手順が必要です。
-
既存のファイルを暗号化するには、以下の方法のいずれかを使用します。
- 時間のかかる方法:dsetoolを使用してコアを再度読み込み、ノードの実行中にインデックスを再作成します。
dsetool reload_core keyspace_name.table_name deleteAll=true reindex=true
- 短時間で行う方法:ローカル・ノードがオフラインである必要があります。
DataStax Enterpriseクラスターの2番目のリモート・ノードが実行中のときに、dsetoolを使用してローカル・オフライン・ノードでインデックス・ファイルを暗号化します。暗号化構成がリモート・ノードから読み取られます。
要件:- 暗号化構成を含むリモート・ノードを実行している必要があります。
- ローカル・ノードはオフラインです。
- このコマンドを実行するユーザーには、インデックス・ファイルを含むディレクトリーに対する読み取りおよび書き込みパーミッションが付与されている必要があります。
- 検索インデックスを持つすべてのノードに対して暗号化を有効にします。
- dsetoolコマンドを実行します。
dsetool upgrade_index_files keyspace_name.table_name -h IP_address [options]
オフラインのインデックス暗号化には、以下のオプションを指定できます。- keyspace_name.table_name
- 必須。検索インデックスのキースペース名とテーブル名。キースペース名とテーブル名の大文字と小文字は区別されます。大文字を含む名前は二重引用符で囲みます。
- -h IP_address
- 必須。インデックスの暗号化に使用される暗号化構成を含むリモート・ノードのホスト名またはIPアドレス。リモート・ノードを実行している必要があります。
- -c port
- 暗号化構成を含むリモート・ノードのDSEポート。
- --backup
- 正常にアップグレードした後のバックアップとして、現在のインデックスからのインデックス・ファイルを保持します。保持されたインデックス・ファイルのバックアップは、--workspaceディレクトリーに移動されます。指定しない場合、現在のインデックスからのインデックス・ファイルは削除されます。
- --workspace directory
- アップグレード・プロセスのワークスペース・ディレクトリー。アップグレード済みのインデックスは、このディレクトリーで作成されます。指定しない場合、デフォルトのディレクトリーは、検索インデックス・ファイルが含まれている同じディレクトリーになります。
- --index directory
- 検索インデックス・ファイルを含むデータ・ディレクトリー。指定しない場合、デフォルトのディレクトリーは検索インデックス名から推測されます。
- 簡単な方法:結果として起こることであり、不確実です。
ただ待つだけです。新しいデータがインデックスに追加されると、インデックスのコンパクションまたはマージが行われたときに暗号化されます。新しいファイルが暗号化されるので、ファイルは最終的に暗号化されます。
- 時間のかかる方法:dsetoolを使用してコアを再度読み込み、ノードの実行中にインデックスを再作成します。
-
どのファイルが暗号化されているかを確認するには、以下のコマンドを使用して、ローカル・ノード上の指定した検索コアのすべてのDSE Searchインデックス・ファイルをリストします。
dsetool list_index_files keyspace_name.table_name [--index directory]
ここで、--index directory
は、検索インデックス・ファイルを含んでいるデータ・ディレクトリーを指定します。指定しない場合、デフォルトのディレクトリーは検索コア名から推測されます。 - どのファイルが暗号化されているかを確認した後に、別の方法を使用して既存のファイルを暗号化できます。