11 他の Oracle機能で透過的データ暗号化を使用
Oracle Data Encryptionは、Oracle Data GuardやOracle Real Application ClustersなどのOracle機能とともに使用できます。
11.1 透過的データ暗号化とエクスポートおよびインポート操作との連携
Oracle Data Pumpによって、暗号化列を含む表をエクスポートおよびインポートしたり、ダンプ・セット全体を暗号化することができます。
11.1.1 暗号化データされたデータのエクスポートおよびインポートについて
暗号化列を持つ表のエクスポートとインポートには、Oracle Data Pumpを使用できます。
ソフトウェア・キーストアと外部キーストアのどちらについても、暗号化された列を含む表をエクスポートする必要がある場合には次の点が重要となります。
-
転送中も機密データが解読されないように保つ必要があります。
-
権限のあるユーザーは、宛先にインポートされたデータを復号化できる必要があります。
Oracle Data Pumpを使用して暗号化列を含む表をエクスポートおよびインポートする場合、ENCRYPTION
パラメータを使用してダンプ・ファイル・セットのデータを暗号化できるようにします。ENCRYPTION
パラメータには、次の値を指定できます。
-
ENCRYPTED_COLUMNS_ONLY
: 暗号化列が暗号化された形式でダンプ・ファイル・セットに書き込まれます。 -
DATA_ONLY
: すべてのデータが暗号化された形式でダンプ・ファイル・セットに書き込まれます。 -
METADATA_ONLY
: すべてのメタデータがダンプ・ファイル・セットに暗号化された形式で書き込まれます。 -
ALL
: すべてのデータとメタデータが暗号化された形式でダンプ・ファイル・セットに書き込まれます。 -
NONE
: ダンプ・ファイル・セットに対して暗号化は使用されません。
11.1.2 暗号化された列のある表のエクスポートおよびインポート
ENCRYPTION=ENCRYPTED_COLUMNS_ONLY
設定を使用して、暗号化された列のある表をエクスポートおよびインポートできます。
11.1.3 Oracle Data Pumpを使用してダンプ・セット全体を暗号化
Oracle Data Pumpによって、透過的データ暗号化列のみではなく、ダンプ・セット全体を暗号化できます。
インポートでは、パスワードまたはキーストアTDEマスター暗号化キーのいずれかを使用してデータを復号化できます。パスワードを指定しなかった場合、データの復号化にはキーストアのTDEマスター暗号化キーが使用されます。ターゲット・データベースにおいて、キーストアが存在して開いている必要があります。この開いているキーストアは、ターゲット・データベースで列暗号化データを再暗号化する際にも必要です。
ENCRYPTION_MODE=TRANSPARENT
設定を使用すると、キーストアに格納されているTDEマスター暗号化キーを使用してダンプ・ファイル・セットを透過的に暗号化できます。この場合、パスワードは不要です。キーストアは、ターゲット・データベースに存在して開かれている必要があり、インポート操作中に列暗号化メタデータを正常に復号化するためにソース・データベースのTDEマスター暗号化キーを含んでいる必要があります。
この開いているキーストアは、ターゲット・データベースで列暗号化メタデータを再暗号化する際にも必要です。キーストアがすでにターゲット・データベースに存在している場合には、ソース・データベースのキーストアから現在のTDEマスター暗号化キーをエクスポートし、ターゲット・データベースのキーストアにインポートできます。
-
ENCRYPTION_MODE
パラメータを使用して、暗号化モードを指定します。ENCRYPTION_MODE=DUAL
によって、キーストアに格納されているTDEマスター暗号化キーと指定したパスワードを使用してダンプ・セットが暗号化されます。
たとえば、二重暗号化モードを使用して、暗号化されたデータをエクスポートする場合、次のようにします。
expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc.dmp ENCRYPTION=all ENCRYPTION_PASSWORD=encryption_password ENCRYPTION_PWD_PROMPT=yes ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=dual Password: password_for_hr Encryption Password: password_for_encryption
11.1.4 暗号化されたデータ・ディクショナリ・データでのOracle Data Pumpの使用
Oracle Data Pumpの操作では、暗号化されたパスワードおよびその他の暗号化されたデータが保護されます。
ソース・データベースでの固定ユーザー・データベース・パスワードの暗号化を有効にすると、Oracle Data Pumpエクスポート操作のダンプにより、データベース・リンクのパスワードの既知の無効なパスワードが格納されます。このパスワードは、エクスポート操作によってデータベースから抽出された暗号化パスワードのかわりに適用されています。「ORA-39395: 警告: インポート後、オブジェクト<データベース・リンク名>にパスワードの再設定が必要です
」という警告メッセージが結果として表示されます。Oracle Database 18c以上のデータベースにデータをインポートした場合、無効なパスワードを持つデータベース・リンク・オブジェクトがターゲット・データベースに作成されたときにこの同じ警告が表示されます。これが発生すると、次のようにデータベース・リンクのパスワードをリセットする必要があります。
ALTER DATABASE LINK database_link_name CONNECT TO schema_name IDENTIFIED BY password;
データベース・リンクについての情報を検索するために、V$DBLINK
動的ビューを問い合せることができます。
固定ユーザー・データベース・パスワードの暗号化がソース・データベースで無効になっている場合、Data Pumpに対する変更はありません。不明瞭化されたデータベース・リンクのパスワードは、以前のリリースと同様にエクスポートおよびインポートされます。
この場合、Oracleでは、次のことをお薦めします。
-
不明瞭化されたデータベース・リンクのパスワードをさらに保護できるように、
expdp
コマンドでENCRYPTION_PASSWORD
パラメータを設定します。 -
画面にエコーされるのではなく、プロンプトから対話式にパスワードを入力できるように、
ENCRYPTION_PWD_PROMPT
パラメータをYES
に設定します。
ENCRYPTION_PASSWORD
とENCRYPTION_PWD_PROMPT
の両方のパラメータがインポート操作で使用できます。ENCRYPTION_PWD_PROMPT
は、expdp
およびimpdp
のコマンドライン・クライアントでのみ使用できるのに対して、ENCRYPTION_PASSWORD
は、コマンドライン・クライアントとDBMS_DATAPUMP
PL/SQLパッケージの両方で使用できます。
インポート操作時に、キーストアが開いているか閉じているかにより、暗号化パスワードが指定されている必要があるかどうかの動作が影響を受けます。キーストアがエクスポート操作中に開いていて、暗号化パスワードを指定した場合は、インポート操作中にパスワードを指定する必要はありません。AUTOLOGIN
を使用している場合、ウォレットはデフォルトでオープンされます。キーストアがエクスポート操作中に閉じられている場合は、インポート操作中にパスワードを指定する必要があります。
11.2 透過的データ暗号化とOracle Data Guardとの連携
Oracle Data Guardでは、プライマリ・データベースとスタンバイ・データベースが同じ暗号化にアクセスできる必要があります。
TDEウォレットをスタンバイ・データベースにコピーするか、すべてのプライマリ・データベースとスタンバイ・データベースのエンドポイントがOracle Key Vaultの同じ仮想ウォレットまたは暗号化キーにアクセスできる必要があります。詳細は、「Oracle Data Guardでのウォレットベースの透過的データ暗号化の構成」および「Oracle Data Guard環境でのTDEおよびOracle Key Vaultの構成」を参照してください。
11.2.1 Oracle Data Guardでの透過的データ暗号化の使用について
Oracle Data Guardでは、TDEウォレットと外部キーストアのどちらについても、透過的データ暗号化(TDE)がサポートされています。
プライマリ・データベースでTDEを使用する場合、Data Guard構成の各スタンバイ・データベースには、プライマリ・データベースからの暗号化キーストアのコピーが必要です。プライマリ・データベースでTDEマスター暗号化キーを再設定した場合は、そのTDEマスター暗号化キーが格納されているプライマリ・データベースから各スタンバイ・データベースにキーストアをコピーする必要があります。
次の点に注意してください。
-
ウォレットベースのTDEによるキー更新操作では、新しいTDEマスター暗号化キーがまだ使用可能でないため、スタンバイ・データベースでの管理リカバリ・プロセス(MRP)が失敗します。この問題を回避するには、
set key
コマンドをcreate key
およびuse key
コマンドに分割できます。各コマンドの後で、ウォレットをスタンバイ・データベースにコピーし、キーストアを強制的にオープンします。 -
データをスタンバイ・データベースに転送する場合、ログ・ファイル内の暗号化データは暗号化されたままです。暗号化データは転送中も暗号化されたままです。
11.2.2 Oracle Data Guard環境での表領域の暗号化
Oracle Data Guard環境でプライマリ・データベースとスタンバイ・データベースの表領域の暗号化を制御できます。
11.2.2.1 Oracle Data Guard環境での表領域の暗号化について
Oracle Data Guard環境では、オンプレミス環境およびOracle Cloud Infrastructure (OCI)環境についてプライマリ・データベースとスタンバイ・データベースの両方の表領域の自動暗号化を制御できます。
新しい表領域の暗号化を制御するには、TABLESPACE_ENCRYPTION
初期化パラメータを設定します。
プライマリ・データベースを暗号化することをお薦めします。ただし、暗号化の要件はサイトによって異なる可能性があるため、TABLESPACE_ENCRYPTION
パラメータを使用して、オンプレミス環境とインクラウド環境の混合暗号化環境を構成できます。
TABLESPACE_ENCRYPTION
パラメータの使用については、次のことに注意してください。
- REDO復号化は、REDOトランスポート・レベルで行われます。
- 透過的データ暗号化を含むAdvanced Security Option (ASO)ライセンスがない場合は、Oracle Cloud Infrastructure (OCI)に暗号化されたスタンバイ・データベースを持つように、暗号化されていないオンプレミス・プライマリ・データベースを構成できます。ロール・トランジション後(計画済または計画外)でも、新しいオンプレミス・スタンバイ・データベースは暗号化されないままですが、OCIのプライマリ・データベースは暗号化されます。透過的データ暗号化(TDE)ライセンスがないハイブリッドOracle Data GuardというYouTubeビデオを参照してください。
- 選択した
ENCRYPT_NEW_TABLESPACES
設定がTABLESPACE_ENCRYPTION
設定と競合する場合は、TABLESPACE_ENCRYPTION
が優先されます。ノート:
Oracle Databaseリリース19.16および23aiでは、ENCRYPT_NEW_TABLESPACES
は非推奨となり、TABLESPACE_ENCRYPTION
に置き換えられました。 TABLESPACE_ENCRYPTION
はPDBではなくCDBルートで設定する必要があります。- OCIデータベースのデフォルトの
TABLESPACE_ENCRYPTION
設定はAUTO_ENABLE
です。この設定は必須で、変更を加えても無視されます。 - オンプレミス・データベースのデフォルトの
TABLESPACE_ENCRYPTION
設定はMANUAL_ENABLE
です。
オンプレミス・データベースおよびOracle Base Database ServiceまたはOracle Exadata Cloud (ExaCS)を使用するOracle Data Guard環境では、次のいずれかのシナリオで表領域の暗号化を構成できます。
- クラウド・スタンバイ・データベースでは表領域を暗号化するが、オンプレミス・プライマリ・データベースでは暗号化しない: 暗号化されていないオンプレミス・プライマリ・データベースが、暗号化されていない表領域を作成したり、データ・ファイルを追加したり、表を更新する場合、REDOは暗号化されません。一方、暗号化されたクラウド・スタンバイ・データベースがREDOを適用する場合は、クラウドで表領域またはデータ・ファイルが作成され、ブロックが更新され、すべてが暗号化されていることを確認します。スイッチオーバー操作の後、暗号化されたクラウド・プライマリ・データベースが、暗黙的に暗号化された表領域またはデータ・ファイルを追加するか、表を更新すると、表領域が暗号化されます。暗号化されていないオンプレミス・スタンバイ・データベースはREDOを復号化し、暗号化されていない表領域またはデータ・ファイルを作成した後、ブロックがオンプレミスで暗号化されていないことを確認する必要があります。
- クラウド・プライマリ・データベースでは表領域を暗号化するが、オンプレミス・スタンバイ・データベースでは暗号化しない: 暗号化されたクラウド・プライマリ・データベースが、暗黙的に暗号化された表領域を作成したり、データ・ファイルを追加したり、表を更新する場合、REDOも暗号化されます。暗号化されていないオンプレミス・スタンバイ・データベースは、REDOを復号化し、表領域およびデータ・ファイルが作成されているか、更新されたファイルがすべて暗号化されていないことを確認する必要があります。スイッチオーバー操作の後、暗号化されていないオンプレミス・プライマリ・データベースが、暗号化されていない表領域またはデータ・ファイルを追加するか、表を更新する場合、REDOは暗号化されません。暗号化されたクラウド・スタンバイ・データベースは、暗号化された表領域またはデータ・ファイルを追加した後、ブロックがクラウドで暗号化されていることを確認します。
たとえば、オンプレミス・データベースとOCIデータベースの両方を暗号化するというベスト・プラクティスに従った構成でTABLESPACE_ENCRYPTION
を使用する場合は、オンプレミス・データベースとOCIデータベースの両方についてTABLESPACE_ENCRYPTION
をAUTO_ENABLE
に設定します。また、Oracle Base Database ServiceまたはOracle ExaCSとのハイブリッド障害時リカバリ構成でオンプレミス・データベースが暗号化されない場合は、たとえば、TABLESPACE_ENCRYPTION
をDECRYPT_ONLY
に設定できます。OCIデータベースは、デフォルトでAUTO_ENABLE
に設定されています。
透過的データ暗号化(TDE)ライセンスがないハイブリッドOracle Data Guardというビデオも参照してください。
11.2.2.2 Oracle Data Guard環境での表領域の暗号化の構成
表領域のハイブリッド暗号化を構成するには、TABLESPACE_ENCRYPTION
初期化パラメータを設定する必要があります。
キー更新操作に関しては、次のことに注意してください。
TABLESPACE_ENCRYPTION
パラメータを変更しても、マスター・キーのローテーション操作には影響しません。プライマリ・データベースで表領域キーのローテーションがトリガーされると、スタンバイ・データベースも表領域のキーをローテーションしようとします。ただし、スタンバイ表領域が暗号化されておらず、キーがない場合は、再生成するキーがないため、エラーが生成されます。スタンバイ表領域が暗号化されていないが、
DECRYPT_ONLY
設定のためにプライマリからキーを継承した場合は、キーがローテーションされます。いずれの場合も、暗号化されていない表領域には影響しません。- マスター暗号化キーと表領域キーのローテーションはどちらも、プライマリ・データベースでのみ実行できます。
- プライマリ・データベースで表領域キーのローテーションが実行されると、スタンバイ・データベースも表領域のキーをローテーションしようとします。ただし、スタンバイ表領域が暗号化されていない場合、再生成するキーがないため、キー更新操作の試行でエラーが発生します。
11.2.2.3 オンライン変換を使用したOracle Data Guardの既存の表領域の暗号化
Oracle Data Guard環境の既存の表領域をオンライン変換で暗号化するには、ALTER TABLESPACE
をONLINE
およびENCRYPT
句とともに使用します。
V$ENCRYPTED_TABLESPACES
動的ビューのSTATUS
列を問い合せて、暗号化ステータスを確認できます。このビューのENCRYPTIONALG
列には、使用されている暗号化アルゴリズムが示されます。変換プロセスが中断された場合、ALTER TABLESPACE
をFINISH
句とともに実行してプロセスを再開できます。たとえば、プライマリ・データ・ファイルが変換され、スタンバイ・データ・ファイルは変換されなかった場合、スタンバイ・データ・ファイルのスタンバイ・データベースでALTER TABLESPACE ... FINISH
を実行できます。
11.2.3 Oracle Data Guard環境でのTDEおよびOracle Key Vaultの構成
TDEおよびOracle Key Vaultと連携できるように、マルチテナント環境でOracle Data Guardを構成できます。
関連トピック
11.2.4 Oracle Data Guardでのウォレットベースの透過的データ暗号化の構成
Oracle Data Guard環境でウォレットベースの透過的データ暗号化(TDE)を構成できます。
11.2.5 Oracle Data Guard環境でのTDEウォレットのOracle Key Vaultへの移行
Oracle Data Guard環境でTDEウォレットベースの透過的データ暗号化(TDE)を構成した後は、停止時間なしでプライマリ・データベースとスタンバイ・データベースをOracle Key Vaultに移行できます。
11.2.6 Oracle Data Guard環境での暗号化PDBの分離
Oracle Data Guard環境内の分離PDBには、構成を手動で実行する必要があります。
ADMINISTER KEY MANAGEMENT
コマンドがスタンバイに影響しないためです。まず、プライマリ・データベースでPDBを分離します。ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE
コマンドは、PDBのTDE_CONFIGURATION
パラメータをFILE
に変更し、統合モードのウォレットから新しく作成された分離モードのウォレットにキーを移動するなど、必要な分離タスクを実行します。次に、分離プロセスを完了するために、スタンバイでこれらの同じタスクを手動で実行する必要があります。
11.2.7 プライマリ・データベースのオンライン暗号化プロセスからのスタンバイ・データベースの結合解除
DB_RECOVERY_AUTO_REKEY
初期化パラメータを使用して、Oracle Data Guard環境での透過的データ暗号化(TDE)キー更新操作の実行方法を制御できます。
DB_RECOVERY_AUTO_REKEY
を次のように設定します。- スタンバイのデフォルトである
ON
を使用すると、スタンバイは、スタンバイ・メディア・リカバリ・プロセスの一部としてオンライン表領域のキー更新操作を自動的に実行できます。この設定はメディア・リカバリを一時停止することに注意してください。表領域が大きい場合は、拡張スタンバイ適用ラグを確認できます。DB_RECOVERY_AUTO_REKEY
を有効にするには:ALTER SYSTEM _RECOVERY_AUTO_REKEY = ON;
メディア・リカバリ(バックアップからのリストアなど)でこのキー更新操作が実行されるように、プライマリで
DB_RECOVERY_AUTO_REKEY
をON
に設定できます。ただし、この設定により、メディア・リカバリが遅くなり、プライマリ・オープン操作が遅延する可能性があります。 - プライマリのデフォルトである
OFF
は、表領域のキー更新操作を実行しません。この設定により、拡張スタンバイ・データベースはオンライン変換中のラグ時間を回避でき、大規模なOracle Data Guard表領域デプロイメント用に設計されています。これにより、スタンバイ・リカバリでは表領域のキー情報のみが記録されますが、キー更新操作はインラインで実行されません。V$ENCRYPTED_TABLESPACES
動的ビューでは、対応する表領域のSTATUS
列値がスタンバイ・データベースでREKEYING
またはENCRYPTING
になった後、スタンバイSQLセッションを使用してALTER TABLESPACE ENCRYPTION ONLINE FINISH REKEY
|ENCRYPT
コマンドを発行し、メディア・リカバリのパラレルでキー更新を実行できます。たとえば、STATUS
列がREKEYING
に変更されるとします。ALTER SYSTEM _RECOVERY_AUTO_REKEY = OFF; ... ALTER TABLESPACE ENCRYPTION ONLINE FINISH REKEY;
- スタンバイのデフォルトである
関連トピック
11.3 透過的データ暗号化とOracle Real Application Clustersとの連携
Oracle Real Application Clusters (Oracle RAC)ノードでは、TDEウォレットと外部キーストアの両方を共有できます。
11.3.1 Oracle Real Application Clustersでの透過的データ暗号化の使用について
Oracleは、Oracle Real Application Clusters (Oracle RAC)の共有TDEウォレット、つまり、クラスタ・インスタンス間で共有されるOracle Key Vault内の共通の仮想ウォレットを必要とします。
Oracle Key Vaultを使用するTDE構成では、データベースの各インスタンスから外部キー・マネージャへのネットワーク接続が使用されます。Oracle Key Vaultでは、Oracle RAC対応データベースのインスタンスごとに1つのエンドポイントを作成し、Oracle RAC対応データベースごとに1つの仮想ウォレットを作成する必要があります。次に、その仮想ウォレットを、そのデータベースに属するすべてのエンドポイントのデフォルト・ウォレットにします。Oracle RAC対応のData Guard構成では、すべてのインスタンス(プライマリおよびすべてのスタンバイ・データベース)で1つの仮想ウォレットが共有されます。この構成では、関連するすべてのインスタンスが自動的に同期されるため、キー設定操作とキー更新操作は完全に透過的に行われます。これにより、クラスタ内のその他の各ノードにTDEウォレットを手動でコピーする必要がなくなります。
Oracleでは、Oracle RACノードごとの個別のTDEウォレットの使用はサポートされていません。かわりに、Oracle RAC環境でTDE用の共有ウォレットを使用してください。これによってすべてのインスタンスが、同じ共有TDEウォレットにアクセスできます。対象の環境でOracle Automatic Storage Management Cluster File System (Oracle ACFS)を使用している場合は、これが共有ウォレットの推奨される場所です。Oracle ACFSを使用できない場合は、Oracle Automatic Storage Management (Oracle ASM)でウォレットを直接共有する(推奨されるデフォルトは+DATA/$ORACLE_UNQNAME/
)という方法もあります。
キーストア操作(キーストアの開閉、TDEマスター暗号化キーのキー更新など)は、任意の1つのOracle RACインスタンスで実行可能です。内部的には、Oracleデータベースにより、各Oracle RACノードでキーストアのコンテキストが同期されます。こうすることで、キーストア操作の結果が、クラスタ内の他のすべてのOracle RACインスタンスに表示されます。同様に、TDEマスター暗号化キーのキー更新操作が実行されると、新しいキーが各Oracle RACインスタンスで使用可能になります。TDEマスター暗号化キーのエクスポート、キーストアのパスワードのローテーション、キーストアのマージ、キーストアのバックアップを含む他のキーストア操作なども、1つのインスタンスのみから実行できます。
共有ファイル・システムを使用する場合は、次のようにすべてのOracle RACインスタンスのWALLET_ROOT
静的システム・パラメータが同じ共有TDEウォレットの場所を指していることを確認します:
ALTER SYSTEM SET WALLET_ROOT = '+DATA/<db-unique-name>' SCOPE = SPFILE SID = '*';
ALTER SYSTEM SET TABLESPACE_ENCRYPTION = 'AUTO_ENABLE' SCOPE = SPFILE SID = '*';
$ srvctl stop database -db DB_NAME -o immediate
$ srvctl start database -db DB_NAME
ALTER SYSTEM SET TDE_CONFIGURATION = "KEYSTORE_CONFIGURATION=OKV" SCOPE = BOTH SID = '*';
ノート:
Oracle Real Application Clusters (Oracle RAC)インスタンスごとの個別のウォレットでのTDEマスター暗号化キーの格納はサポートされていません。かわりに、オンプレミスまたはクラウドベースのデータベース・デプロイメント、Oracle Automatic Storage Management (Oracle ASM)またはOracle ASM Cluster File System (Oracle ACFS)間の集中キー管理用のOracle Key Vaultを使用してローカル共有ウォレットを提供します。11.3.2 Oracle Real Application ClustersにおけるOracle Key Vault用のTDEの構成
Oracle Exadata Cloud at Customer (ExaCC)およびその他のサーバーのOracle Real Application Clusters (Oracle RAC)でTDEを、Oracle Key Vaultによって実現される一元管理されたキー管理のために構成できます。
関連トピック
11.4 透過的データ暗号化とSecureFilesとの連携
LOBが格納されるSecureFilesには、圧縮、重複除外および暗号化の3つの機能があります。
11.4.1 透過的データ暗号化およびSecureFilesについて
SecureFilesの暗号化では、LOBの暗号化機能を提供するためにTDEを使用します。
表を作成または変更する際に、SecureFiles記憶域を使用する必要があるSecureFiles暗号化やLOB列を指定できます。現在の透過的データ暗号化(TDE)構文を使用するか、またはLOB列に関するLOBパラメータの一部としてENCRYPT
句を使用することによって、LOB列の暗号化を有効化できます。現在の構文またはLOBパラメータにおけるDECRYPT
オプションによって、暗号化を無効化できます。
11.4.2 例: 特定の暗号化アルゴリズムを使用したSecureFiles LOBの作成
CREATE TABLE
文によって、暗号化を指定してSecureFiles LOBを作成できます。
例11-1では、CREATE TABLE
文でSecureFiles LOBを作成する方法を示しています。
例11-1 特定の暗号化アルゴリズムを使用したSecureFiles LOBの作成
CREATE TABLE table1 ( a BLOB ENCRYPT USING 'AES256') LOB(a) STORE AS SECUREFILE ( CACHE );
11.4.3 例: 列パスワードを指定したSecureFiles LOBの作成
CREATE TABLE
文によって、列パスワードを指定してSecureFiles LOBを作成できます。
例11-2では、暗号化された列に対してパスワード保護を使用するSecureFiles LOBの作成例を示しています。
LOB列のすべてのLOBが、同じ暗号化の指定で暗号化されます。
例11-2 列パスワードを指定したSecureFiles LOBの作成
CREATE TABLE table1 (a VARCHAR2(20), b BLOB)
LOB(b) STORE AS SECUREFILE (
CACHE
ENCRYPT USING 'AES192' IDENTIFIED BY password
);
11.5 透過的データ暗号化とOracle Call Interfaceとの連携
透過的データ暗号化は、Oracle Call Interface (OCI)の動作に影響しません。
多くの実用的な目的のために、TDEは行の受渡し機能を除き、OCIに対して透過的です。行を使用可能にするキーは受信ポイントでは使用できないため、OCIの行の受渡し機能をTDEで使用できません。
11.6 透過的データ暗号化とエディションとの連携
透過的データ暗号化は、Oracle Databaseのエディション機能に影響しません。
多くの実用的な目的のために、TDEはエディションに対して透過的です。表は常に非エディション化オブジェクトです。TDEの列暗号化によって、表の列が暗号化されます。エディションは、TDEの表領域の暗号化によって影響されません。
11.7 マルチデータベース環境で機能するように透過的データ暗号化を構成
同じサーバー上の各Oracle Database (同じOracleバイナリを共有しているが異なるデータ・ファイルを使用しているデータベースなど)は、それぞれ独自のTDEキーストアにアクセスする必要があります。
キーストアは、データベース間で共有されるようには設計されていません。設計によって、データベースごとに1つのキーストアが必要となっています。複数のデータベースには同じキーストアを使用できません。
-
複数データベース環境に対してキーストアの使用を構成するには、次のオプションのいずれかを使用します。
-
オプション1: CDB (またはスタンドアロン・データベース)ごとに、
WALLET_ROOT
静的初期化パラメータおよびTDE_CONFIGURATION
動的初期化パラメータ(KEYSTORE_CONFIGURATION
属性をFILE
に設定)を個別に設定することで、キーストアの場所を指定します。たとえば:
WALLET_ROOT = '$ORACLE_BASE/admin/${ORACLE_SID}' scope = spfile;
TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"
データベースを再起動してパラメータを有効にします。
-
注意:
他のデータベースからキーストアを使用することによって、データの一部または全部が失われる可能性があります。