暗号化したテーブルデータを置き換える¶
暗号化したテーブルデータを置き換えるケースとして以下が挙げられます。
- 暗号化キー情報(暗号化キー)を変更する場合
- データを暗号化してデータベースに保存することをやめる場合
ここでは既存暗号化データを新しい暗号化データに置き換える方法について説明します。使用する例は、以下の暗号化データが格納されているテーブルです。
重要
この作業は対象のテーブルにデータの追加、変更、または、削除などが行われない時間帯に行ってください。
暗号化キー情報(暗号化キー)を変更する¶
現在使用している暗号化キー情報を刷新するなど、暗号化キーのローテーションはセキュリティリスクを回避するための 1つの方法です。
ただし、暗号化キーを新しくすることにより、既存の暗号化データを新しい暗号化データに置き換える必要があります。置き換える方法としてここでは以下の手順を紹介します。
- 新しい暗号化キーファイルを作成し、新しい暗号化キー情報を追加する
- 既存暗号化データを復号し、新しい暗号化キー情報で暗号化する
- 2 で暗号化したデータをエクスポートする
- 既存テーブルを複製し、3 で作成したデータをインポートする
- 既存テーブルを削除し、新しく作成したテーブル名を削除した既存テーブル名に変更する
- 既存暗号化キー情報の配置ロケーションに配置されている暗号化キーファイルを 1 で作成したファイルで置き換え、1 で作成した暗号化キー情報を削除する
暗号化キー情報を追加する¶
- 暗号化キー情報を新しくするために、まず、新しい暗号化キーファイルを作成します。詳しい作成方法については、暗号化キーを作成する を参照してください。
ヒント
- 既存暗号化キーファイルを既定の作成方法(ランダムなパスワードで暗号化キーファイルを作成する)で作成している場合は、再度既定の作成で暗号化キーファイルを作成することで異なる暗号化キーファイルを作成することができます。
- 既存暗号化キーファイルを任意のパスワードを指定して作成している場合は、前回と異なるパスワードを設定することで異なる暗号化キーファイルを作成することができます。
- 暗号化キー情報を追加します。詳しい追加方法については、暗号化キーを登録する を参照してください。
ヒント
- ここでは既存暗号化キー情報と異なる「暗号化キー名」と「配置ロケーション」を設定します。
- データを置き換えるためなので、暗号化キーファイルはローカルパスに配置します。
![]()
既存暗号化データを復号して新しい暗号化キー情報で暗号化する¶
「取得」アクションを使用して、対象テーブルのデータを全件取得してシートに表示するアプリを作成します。
- シートに置き換え対象となるテーブルのテーブルのカラムと同じカラムヘッダーを持つ行と列(A 領域)を作成します。
- 作業用にデータを取得する行と列(B 領域)、および、それを復号するための行と列(C 領域)をシートに追加し、C 領域のセルに復号関数(UTIL.DECRYPT 関数)を設定しておきます。
- 以下のような全件取得アクションを作成し、2 で作成した B 領域にセットするように設定します。
- 1 で作成した A 領域に、新しい暗号化キー名を指定した暗号化関数(UTIL.ENCRYPT 関数)を設定します。
- 「取得」アクションを実行します。1 で作成した A 領域に新しい暗号化キー情報で暗号化されたデータが表示されます。
![]()
ヒント
ここで、以下を確認しておきます。
- C 領域に出力されている復号結果が正しいこと
- A 領域に出力されている暗号化データにエラーがないこと
- 暗号化データ A 領域と B 領域の暗号化データが異なること
「CSV 出力」アクションでデータをエクスポートする¶
「CSV 出力」アクションを使用して、置き換えるデータを CSV ファイルにエクスポートします。
- 「CSV 出力」アクションにて、以下のように出力範囲を指定します。
- 1 で作成した「CSV 出力」アクションを実行し、新しい暗号化データを CSV ファイルにエクスポートします。
![]()
ヒント
出力した CSV ファイルをテキストエディタ等で開き、余分な行があれば削除しておきます。
![]()
新しいテーブルを作成して新しい暗号化データをインポートする¶
新しいテーブルを作成して、出力した CSV ファイルをインポートします。
- 既存テーブルを選択し、「テーブル定義の複製」メニューで複製テーブルを作成します。テーブル名はそのままで OK です。
- 複製テーブルを選択し、右クリックメニューから「テーブルデータのインポート」をクリックし、エクスポートした CSV ファイルを選択してデータをインポートします。
- 複製テーブルにデータがインポートされたことを確認します。
作成したテーブルを置き換える¶
既存テーブルを削除して、新しい暗号化データをインポートしたテーブルに置き換えます。(複製テーブルを「正」とします。)
- 既存テーブル名を変更、または、削除します。
- 複製テーブル名を既存テーブル名に変更します。
暗号化キーファイルを置き換える¶
最後に暗号化キーファイルを置き換えます。(新しい暗号化キーファイルを「正」とします。)
- 既存暗号化キー情報の配置ロケーションに配置してある暗号化キーファイルを新しい暗号化キーファイルに置き換えます。
- 新規作成した暗号化キー情報(作業用)は削除します。
ちなみに
- 暗号化キーファイルの配置ロケーションにローカルファイルパスを設定している場合は、開発者、および、利用者に新しい暗号化キーファイルを配布する必要があります。
- 暗号化キーファイルの配置ロケーションに Web サーバーの URL を設定した場合は、ロケーションを変更しない限り、開発者、および、利用者に特に通知することはありません。