すべてのシャードに対する単一の暗号化キーの作成

分散データベース構成内のすべてのデータベースに単一の暗号化キーを伝播するには、シャード・カタログでマスター暗号化キーを作成し、ウォレットをエクスポートしてシャードにインポートし、キーをアクティブ化する必要があります。

この手順は、キーストア・パスワードとウォレット・ディレクトリ・パスがシャード・カタログおよびすべてのシャードで同じであることを前提としています。別のパスワードおよびディレクトリ・パスが必要な場合は、シャードの独自のパスワードとパスを使用して、シャードDDLを無効にした各シャードとシャード・カタログに対してすべてのコマンドを個別に発行する必要があります。

次のステップは、データの暗号化を実行する前に行う必要があります。

  1. シャード・カタログで暗号化キーを作成します。

    シャードDDLを有効にして、次の文を発行します。

    ADMINISTER KEY MANAGEMENT CREATE KEYSTORE wallet_directory_path
     IDENTIFIED BY keystore_password;
    ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY keystore_password;

    ウォレットのオープンおよびクローズ・コマンドをシャード・カタログから一元的に発行する場合は、keystore_passwordの値が同じである必要があります。

    ウォレット・ディレクトリ・パスは、対応する初期化パラメータ・ファイルのWALLET_ROOTと一致する必要があります。

  2. シャードDDLを無効にして、次の文を発行して暗号化キーをアクティブにします。

    ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
     IDENTIFIED BY keystore_password;
    ADMINISTER KEY MANAGEMENT USE KEY master_key_id
     IDENTIFIED BY keystore_password WITH BACKUP;

    これで、すべてのシャードとシャード・カタログ・データベースで同じ暗号化キーがアクティブ化され、データの暗号化に使用する準備が完了しました。シャード・カタログで、(シャードDDLを有効にして),次のようなTDE DDLを発行できます。

    • 暗号化された表領域および表領域セットを作成します。

    • 暗号化された表領域を使用してシャード表を作成します。

    • 暗号化された列を含むシャード表を作成します(制限があります)。

  3. すべてのシャード上のキーIDがシャード・カタログ上のIDと一致していることを検証します。

    SELECT KEY_ID  FROM V$ENCRYPTION_KEYS 
    WHERE ACTIVATION_TIME =
     (SELECT MAX(ACTIVATION_TIME) FROM V$ENCRYPTION_KEYS
      WHERE ACTIVATING_DBID = (SELECT DBID FROM V$DATABASE));
  4. ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY keystore_password WITH BACKUP;

    シャード・カタログ・データベースのウォレットに暗号化キーが作成され、アクティブ化されます。

    DDLを有効にしてこの文を発行すると、各シャードのウォレットにも暗号化キーが作成されますが、これはシャード・カタログとは異なるキーです。データ移動が機能するには、各シャードで異なる暗号化キーを使用しないでください。

  5. シャード・カタログのキーストアからマスター・キーのIDを取得します。

    SELECT KEY_ID  FROM V$ENCRYPTION_KEYS 
    WHERE ACTIVATION_TIME =
     (SELECT MAX(ACTIVATION_TIME) FROM V$ENCRYPTION_KEYS
      WHERE ACTIVATING_DBID = (SELECT DBID FROM V$DATABASE));
  6. シャードDDLを無効にして、カタログの暗号化キーを含むウォレットをエクスポートします。

    ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET secret_phrase TO
     wallet_export_file IDENTIFIED BY keystore_password;
  7. ウォレット・ファイルを各シャード・ホストの対応するウォレット・エクスポート・ファイルの場所に物理的にコピーするか、すべてのシャードがアクセスできる共有ディスクに格納します。

  8. シャードDDLを無効にして、各シャードにログオンし、キーを含むウォレットをインポートします。

    ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY keystore_password;
    ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET secret_phrase FROM
     wallet_export_file IDENTIFIED BY keystore_password WITH BACKUP;
  9. シャード・データベースを再起動します。

  10. シャードDDLを有効にしたシャード・カタログのすべてのシャードでキーをアクティブにします。