11 Oracle Key Vaultマスター暗号化キーの管理
セキュリティ・オブジェクトの管理には、セキュリティ・オブジェクトのアップロードとダウンロード、永続マスター暗号化キー・キャッシュの管理、ユーザー定義のTDEキーの使用などがあります。
- 永続マスター暗号化キー・キャッシュの使用
永続マスター暗号化キー・キャッシュ機能を使用すると、Oracle Key Vaultサーバーを使用できないときでもデータベースは稼働できます。 - Oracle Key Vaultから新しいTDE対応データベースへの接続の構成
Oracle Key Vaultと、まだTransparent Data Encryption用に構成されていないデータベースの間の接続を構成できます。 - 既存のTDEウォレットからOracle Key Vaultへの移行
移行したTDEウォレットを使用して、TDEによって以前に暗号化されたデータベースの内容をリストアできます。 - Oracleウォレットのアップロードおよびダウンロード
Oracleウォレットを格納および共有するには、それらをOracle Key Vaultにアップロードする必要があります。 - JKSおよびJCEKSキーストアのアップロードとダウンロード
okvutil upload
コマンドおよびokvutil download
コマンドによって、JKSおよびJCEKSキーストアをアップロードおよびダウンロードできます。 - TDEマスター暗号化キーとしてのユーザー定義のキーの使用
生成されたキーをインポートして、Oracle Key VaultでTransparent Data Encryption (TDE)マスター暗号化キーとして使用できます。
11.1 永続マスター暗号化キー・キャッシュの使用
永続マスター暗号化キー・キャッシュ機能を使用すると、Oracle Key Vaultサーバーを使用できない場合にデータベースを稼働させることができます。
- 永続マスター暗号化キー・キャッシュについて
永続マスター暗号化キー・キャッシュによって、TDEマスター暗号化キーの可用性が確保されます。 - Oracle Key Vaultの永続マスター暗号化キー・キャッシュのアーキテクチャについて
Oracle Key Vaultの永続マスター暗号化キー・キャッシュは、Oracle Key VaultのPKCS#11
ライブラリに実装されています。 - インメモリーおよび永続マスター暗号化キー・キャッシュでのマスター暗号化キーのキャッシュ
マスター暗号化キーは、異なる場所から作成またはフェッチされた後、Oracle Key Vaultキャッシュに格納されます。 - 永続マスター暗号化キー・キャッシュの格納場所
永続マスター暗号化キー・キャッシュは、構成ファイルokvclient.ora
と同じ場所に作成されます。 - 永続マスター暗号化キー・キャッシュの操作モード
永続マスター暗号化キー・キャッシュは、2つのモードで動作します。 - 永続マスター暗号化キー・キャッシュ・リフレッシュ期間
永続マスター暗号化キー・キャッシュ・リフレッシュ期間は、マスター暗号化キーの可用性を拡張する場合に役立ちます。 - 永続マスター暗号化キー・キャッシュのパラメータ
Oracle Key Vaultには、永続マスター暗号化キー・キャッシュを構成するためのパラメータが用意されています。 - 永続マスター・キー・キャッシュのコンテンツのリスト
okvutil
listコマンドを使用すると、永続マスター暗号化キー・キャッシュにキャッシュされているマスター暗号化キーをリストできます。 - Oracle Databaseのデプロイメントと永続マスター暗号化キー・キャッシュ
永続マスター暗号化キー・キャッシュは、他のOracle機能とOracle Key Vaultの統合に影響します。
親トピック: Oracle Key Vaultマスター暗号化キーの管理
11.1.1 永続マスター暗号化キー・キャッシュについて
永続マスター暗号化キー・キャッシュによって、TDEマスター暗号化キーの可用性が確保されます。
Oracle Key Vaultサーバーの状態への依存を減らすことでこれを実現します。
TDEマスター暗号化キーは、インメモリー・キャッシュに加えて永続マスター暗号化キー・キャッシュにキャッシュされ、データベース・プロセス全体でマスター暗号化キーを使用できるようにします。これにより、データベースが新しいプロセスごとに、またはREDOログの切替えやデータベースの起動操作のたびに、Oracle Key Vaultサーバーと通信する必要がなくなります。
TDEマスター暗号化キーの可用性を保証する利点は、次のとおりです。
-
アップグレード、プライマリ/スタンバイ構成、スイッチオーバー、フェイルオーバー、およびOracle Key Vaultの再起動操作が必要なその他の手順におけるエンドポイントの継続的な運用
-
1つのデータベースの複数のセッションが同一のマスター暗号化キーをリクエストしたときのOracle Key Vaultサーバーの負荷の削減
-
Oracle Key Vaultのスケーラビリティの改善
TDEマスター暗号化キーの抽出可能属性をtrueに設定する必要があります。そうしないと、TDEマスター暗号化キーはOracle Key Vaultで保持されるため、インメモリー・キャッシュまたは永続マスター暗号化キー・キャッシュにキャッシュできません。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.2 Oracle Key Vaultの永続マスター暗号化キー・キャッシュのアーキテクチャについて
Oracle Key Vaultの永続マスター暗号化キー・キャッシュは、Oracle Key VaultのPKCS#11
ライブラリに実装されます。
永続マスター暗号化キー・キャッシュ機能が構成されている場合、Oracle Key Vaultから最初のマスター暗号化キーが取得されるときに、Oracle Key VaultのPKCS#11
ライブラリによって永続マスター暗号化キー・キャッシュが作成されます。
-
パスワードを指定してOracle Key Vaultクライアントがインストールされている場合、永続マスター暗号化キー・キャッシュはパスワードベースのウォレットになります。
-
パスワードを指定せずにOracle Key Vaultクライアントがインストールされている場合、永続マスター暗号化キー・キャッシュは自動ログイン・ウォレットになります。
PKCS#11
ライブラリは、インメモリー・マスター暗号化キー・キャッシュも実装しています。インメモリー・マスター暗号化キー・キャッシュ機能が構成されている場合、マスター暗号化キーは、ライブラリをメモリーにロードしたプロセスのプロセス・メモリーにキャッシュされます。インメモリー・マスター暗号化キー・キャッシュと永続マスター・キー・キャッシュは互いに独立しています。これらのキャッシュは、個別に有効化および無効化できます。
暗号化と復号化を伴う操作の場合、PKCS#11
はインメモリー・マスター暗号化キー・キャッシュでマスター暗号化キーを検索しようとします。見つからない場合、PKCS#11
は永続マスター暗号化キー・キャッシュでマスター暗号化キーを検索します。マスター暗号化キーがインメモリーまたは永続マスター暗号化キー・キャッシュで見つからない場合は、Oracle Key Vaultサーバーから取得します(サーバーがオンラインの場合)。
11.1.3 インメモリーおよび永続マスター暗号化キー・キャッシュでのマスター暗号化キーのキャッシュ
マスター暗号化キーは、作成または別の場所からフェッチされた後、Oracle Key Vaultキャッシュに格納されます。
マスター暗号化キーが最初にOracle Key Vaultサーバーからフェッチされるか、Oracle Key Vaultサーバーで作成されると、マスター暗号化キーはインメモリー・マスター暗号化キー・キャッシュおよび永続マスター暗号化キー・キャッシュに格納されます。
インメモリー・マスター暗号化キー・キャッシュに格納されたマスター暗号化キーは、キーが永続キャッシュに配置された時点から一定の時間使用できます。期間は、okvclient.ora
ファイルのPKCS11_CACHE_TIMEOUT
パラメータによって定義されます。
永続キャッシュが存在する場合は、それが使用されます。永続キャッシュが存在しない場合は、Oracle Key Vaultによって作成されます。キーが作成されると、今後のすべてのセッションで、インメモリー・マスター暗号化キー・キャッシュまたは永続マスター暗号化キー・キャッシュからキーが取得されます。
永続マスター暗号化キー・キャッシュに格納された永続マスター暗号化キーは、キーが永続キャッシュに配置された時点から一定の時間使用できます。この時間は、okvclient.ora
ファイルでPKCS11_PERSISTENT_CACHE_TIMEOUT
パラメータを設定することで定義できます。
エンドポイントがマスター暗号化キーを削除すると、そのキーはインメモリー・マスター暗号化キー・キャッシュおよび永続マスター暗号化キー・キャッシュから削除されます。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.4 永続マスター暗号化キー・キャッシュの格納場所
永続マスター暗号化キー・キャッシュは、構成ファイルokvclient.ora
と同じ場所に作成されます。
okvclient.ora
ファイルのデフォルトの場所は、$OKV_HOME/conf
ディレクトリです。
ORACLE_HOME
、ORACLE_BASE
およびOKV_HOME
環境変数を、デプロイメント時に一貫した設定にしておくことが重要です。一貫性がない場合、永続キャッシュを必要とする操作が失敗し、永続キャッシュが複数の場所に作成される可能性があります。
環境変数OKV_HOME
が設定されていると、永続キャッシュは$OKV_HOME/conf
に作成されます。
OKV_HOME
を設定せずに、ORACLE_BASE
を設定すると、永続キャッシュは$ORACLE_BASE/okv/$ORACLE_SID
に作成されます。
OKV_HOME
もORACLE_BASE
も設定せずに、ORACLE_HOME
を設定すると、永続キャッシュは$ORACLE_HOME/okv/$ORACLE_SID
に作成されます。
ノート:
永続キャッシュが作成されるディレクトリが安全で、権限が制限されていることを確認します。親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.5 永続マスター暗号化キー・キャッシュの操作モード
永続マスター暗号化キー・キャッシュは、2つのモードで動作します。
2つのモードの違いは、マスター暗号化キーを取得するために永続マスター暗号化キー・キャッシュとOracle Key Vaultが検索される順序です。
- Oracle Key Vault優先モード
Oracle Key Vault優先モードでは、エンドポイントはOracle Key Vaultサーバーからマスター暗号化キーを取得しようとします。 - 永続マスター暗号化キー・キャッシュ優先モード
永続マスター暗号化キー・キャッシュ優先モードでは、エンドポイントは永続マスター暗号化キー・キャッシュからマスター暗号化キーを取得します。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.5.1 Oracle Key Vault優先モード
Oracle Key Vault優先モードでは、エンドポイントはOracle Key Vaultサーバーからマスター暗号化キーを取得しようとします。
Oracle Key Vaultサーバーがオフラインの場合、エンドポイントは永続マスター暗号化キー・キャッシュからマスター暗号化キーを取得しようとします。
エンドポイントは、Oracle Key Vaultサーバーのステータスを確認する必要があり、オフラインの場合、エンドポイントは永続マスター暗号化キー・キャッシュからマスター暗号化キーを取得しようとします。そのため、マスター暗号化キーへのアクセスが必要なデータベース操作には遅延が発生します。
親モード: 永続マスター暗号化キー・キャッシュの操作モード
11.1.5.2 永続マスター暗号化キー・キャッシュ優先モード
永続マスター暗号化キー・キャッシュ優先モードでは、エンドポイントは永続マスター暗号化キー・キャッシュからマスター暗号化キーを取得します。
マスター暗号化キーが永続マスター暗号化キー・キャッシュで使用できない場合、エンドポイントはOracle Key Vaultサーバーからマスター暗号化キーを取得しようとします。
Oracle Key Vaultサーバー上のマスター暗号化キーへの変更は、キーが永続マスター暗号化キー・キャッシュで期限切れになるまで適用されません。
親モード: 永続マスター暗号化キー・キャッシュの操作モード
11.1.6 永続マスター暗号化キー・キャッシュ・リフレッシュ期間
永続マスター暗号化キー・キャッシュ・リフレッシュ期間は、マスター暗号化キーの可用性を拡張する場合に役立ちます。
永続マスター暗号化キー・キャッシュのリフレッシュ期間機能を使用すると、データベース・エンドポイントはOracle Key Vaultサーバーから期限が切れたマスター暗号化キーのリフレッシュを複数回試行できます。この意味で、エンドポイントは、マスター暗号化キーのリフレッシュを完了するためにOracle Key Vaultサーバーがオンラインに戻るのを待機します。一方、マスター暗号化キー・リフレッシュの試行に失敗した場合、キーはリフレッシュ期間の継続中に、永続キャッシュから取得されます。
したがって、永続マスター暗号化キー・キャッシュのリフレッシュ期間機能は、永続マスター暗号化キー・キャッシュにキャッシュされた後のマスター暗号化キーの使用可能期間を延長します。同時に、エンドポイントはキャッシュ時間の最後に一度ではなく、リフレッシュ期間中にキーをリフレッシュできます。これは、プライマリ・スタンバイ・スイッチオーバーの進行中など、Oracle Key Vaultを使用できないときに永続キャッシュ期間の期限が切れる可能性に対応しています。リフレッシュ期間が終了し、キーがリフレッシュされるとすぐにキャッシュ期間が開始します。
okvclient.ora
ファイルでは、PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
パラメータを使用して、永続マスター暗号化キー・キャッシュにキャッシュされた後のマスター暗号化キーの使用可能期間を延長できます。この値は、Oracle Key Vaultサーバーがリカバリしてオンラインに戻るのにかかる時間を反映しています。この値は分単位で指定する必要があります。PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
のデフォルト値は30
(分)です。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.7 永続マスター暗号化キー・キャッシュのパラメータ
Oracle Key Vaultには、永続マスター暗号化キー・キャッシュを構成するためのパラメータが用意されています。
- PKCS11_CACHE_TIMEOUTパラメータ
PKCS11_CACHE_TIMEOUT
パラメータは、インメモリー・キャッシュでマスター暗号化キーが使用可能な期間を設定します。 - PKCS11_PERSISTENT_CACHE_TIMEOUTパラメータ
PKCS11_PERSISTENT_CACHE_TIMEOUT
パラメータは、永続キャッシュでマスター暗号化キーが使用可能な期間を設定します。 - PKCS11_PERSISTENT_CACHE_FIRSTパラメータ
PKCS11_PERSISTENT_CACHE_FIRST
パラメータは、永続マスター暗号化キー・キャッシュ操作モードを設定します。 - PKCS11_CONFIG_PARAM_REFRESH_INTERVALパラメータ
PKCS11_CONFIG_PARAM_REFRESH_INTERVAL
パラメータは、長時間実行されるプロセスがokvclient.ora
構成ファイルを再読込みする頻度を指定します。 - PKCS11_PERSISTENT_CACHE_REFRESH_WINDOWパラメータ
PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
パラメータは、永続マスター暗号化キー・キャッシュにキャッシュされた後のマスター暗号化キーの使用可能時間を延長します。 - EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWNパラメータ
EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
パラメータを使用すると、エンドポイント・データベースの停止時に、指定したエンドポイント・データベースのPKCS#11永続キャッシュが自動的に期限切れになることが保証されます。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.7.1 PKCS11_CACHE_TIMEOUTパラメータ
PKCS11_CACHE_TIMEOUT
パラメータは、インメモリー・キャッシュでマスター暗号化キーが使用可能な期間を設定します。
値は分単位で指定する必要があります。指定した期間が経過すると、マスター暗号化キーは期限切れになります。キーはインメモリー・キャッシュから削除されます。
PKCS11_CACHE_TIMEOUT
のデフォルト値は、60
(分)です。Oracle Key Vault管理コンソールでPKCS11_CACHE_TIMEOUT
パラメータを設定することをお薦めします。
関連トピック
親トピック:永続マスター暗号化キー・キャッシュのパラメータ
11.1.7.2 PKCS11_PERSISTENT_CACHE_TIMEOUTパラメータ
PKCS11_PERSISTENT_CACHE_TIMEOUT
パラメータは、永続キャッシュでマスター暗号化が使用可能な期間を設定します。
この時間は、データベースがOracle Key Vaultサーバーからキーを取得してキャッシュに格納したときから始まります。この期間が経過すると、マスター暗号化キーが期限切れになります。この時点で、エンドポイントがOracle Key Vaultサーバーに接続してキーを取得しようとします。成功すると、このパラメータで指定された期間、このキーが再度使用可能になります。キーを取得できない場合、PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
パラメータで指定された期間はキーを引き続き使用できます。その後、データベースがOracle Key Vaultサーバーからキーを再度正常に取得できなければ、そのキーを使用できなくなります。暗号化キーは永続マスター暗号化キー・キャッシュから削除されます。
OKV Persistent Cache entries
リストに表示されるCache Start Time
およびMaximum Use Time
の値は、マスター暗号化キーが更新される際に更新されます。
PKCS11_PERSISTENT_CACHE_TIMEOUT
のデフォルト値は、1440
(分)です。
PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
とPKCS11_PERSISTENT_CACHE_TIMEOUT
の両方のパラメータを0
(ゼロ)に設定することにより、永続マスター暗号化キー・キャッシュを無効にできます。
このグローバル・パラメータはOracle Key Vault管理コンソールで設定することをお薦めします。
ノート:
PKCS11_PERSISTENT_CACHE_TIMEOUT
パラメータとそのデフォルト値は、デフォルトでokvclient.ora
に含まれています。
関連トピック
親トピック:永続マスター暗号化キー・キャッシュのパラメータ
11.1.7.3 PKCS11_PERSISTENT_CACHE_FIRSTパラメータ
PKCS11_PERSISTENT_CACHE_FIRST
パラメータは、永続マスター暗号化キー・キャッシュ操作モードを設定します。
PKCS11_PERSISTENT_CACHE_FIRST
パラメータは、okvclient.ora
ファイルに設定します。
操作モードは次のとおりです。
-
Oracle Key Vault優先モード: Oracle Key Vault優先モードを有効にするには、
PKCS11_PERSISTENT_CACHE_FIRST
パラメータの値を0
(ゼロ)に設定します。 -
永続マスター暗号化キー・キャッシュ優先モード: 永続マスター暗号化キー・キャッシュ優先モードは、デフォルト・モードです。
永続マスター暗号化キー・キャッシュ優先モードを有効にするには、
PKCS11_PERSISTENT_CACHE_FIRST
パラメータの値を1
に設定します。
11.1.7.4 PKCS11_CONFIG_PARAM_REFRESH_INTERVALパラメータ
PKCS11_CONFIG_PARAM_REFRESH_INTERVAL
パラメータは、長時間実行されるプロセスがokvclient.ora
構成ファイルを再読込みする頻度を指定します。
このパラメータは、プロセスが永続キャッシュから期限切れのマスター暗号化キーを削除しようとする頻度も指定します。
プロセスがインメモリー・キャッシュのキーを使用できず、かわりに永続キャッシュまたはOracle Key Vaultサーバーが使用されていて、okvclient.ora
が最後に読み取られてから経過した時間がPKCS11_CONFIG_PARAM_REFRESH_INTERVAL
に指定された値を超えた場合、プロセスがokvclient.ora
を再読取りし、変更されたパラメータが使用され始め、okvclient.ora
構成ファイルを再読取りし、変更されたパラメータが使用され始め、期限切れのマスター暗号化キーを永続キャッシュから削除します。インメモリー・キャッシュのパラメータおよびPKCS11_CACHE_TIMEOUT
がPKCS11_CONFIG_PARAM_REFRESH_INTERVAL
より大きい場合、これらの操作は、PKCS11_CACHE_TIMEOUT
パラメータで指定されている間隔で実行されます。
Oracle Key Vault管理コンソールでPKCS11_CONFIG_PARAM_REFRESH_INTERVAL
パラメータを設定することをお薦めします。この値は分単位で指定する必要があります。PKCS11_CONFIG_PARAM_REFRESH_INTERVAL
のデフォルト値は10
(分)です。
このパラメータを無効にするには、PKCS11_CONFIG_PARAM_REFRESH_INTERVAL
パラメータに0
(ゼロ)を設定します。
関連トピック
親トピック:永続マスター暗号化キー・キャッシュのパラメータ
11.1.7.5 PKCS11_PERSISTENT_CACHE_REFRESH_WINDOWパラメータ
PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
パラメータは、永続マスター暗号化キー・キャッシュにキャッシュされた後のマスター暗号化キーの使用可能時間を延長します。
これらのグローバル・パラメータはOracle Key Vault管理コンソールで設定することをお薦めします。値は分単位で指定する必要があります。PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
のデフォルト値は30
(分)です。
PKCS11_PERSISTENT_CACHE_REFRESH_WINDOW
とPKCS11_PERSISTENT_CACHE_TIMEOUT
パラメータを0
(ゼロ)に設定することにより、永続マスター暗号化キー・キャッシュを無効にできます。
関連トピック
親トピック:永続マスター暗号化キー・キャッシュのパラメータ
11.1.7.6 EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWNパラメータ
EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
パラメータを使用すると、エンドポイント・データベースの停止時に、指定したエンドポイント・データベースのPKCS#11永続キャッシュが自動的に期限切れになることが保証されます。
有効にした場合、EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
により、自動ログイン・ウォレットが使用されていても、エンドポイント・データベースをOracle Key Vaultに登録したときに設定したパスワードとは関係のないシステム生成のランダム・パスワードを使用して、永続キャッシュは保護されます。永続キャッシュ・パスワードを保護しておくと、セキュリティが向上します。
EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
パラメータを使用する前に、エンドポイント・データベースにバグ29869906: AUTO-LOGIN OKV NEEDS PERSISTENT CACHE PROTECTION KEY FROM RDBMS
のパッチが適用されていることを確認します。このパッチは、Oracle Databaseリリース12.1から19cまでに適用されます。詳細は、Oracleサポートに問い合せてください。
Oracle Key Vaultにエンロールされている個々のエンドポイント・データベースにEXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
を設定することも、Oracle Key Vaultにエンロールされているすべてのエンドポイント・データベースにグローバルに設定することもできます。このパラメータは、データベース・エンドポイントのokvclient.ora
構成ファイルでは使用できません。このパラメータを設定するには、Oracle Key Vault管理コンソールを使用します。
EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
を有効にすると、Oracle Key VaultからキーがフェッチされるときにPKCS#11永続キャッシュが作成されます。キャッシュがエンドポイント・データベースで引き続き使用できるのは、データベース・インスタンスがマウントまたはオープンされている場合にかぎります。エンドポイント・データベースが停止すると、PKCS#11永続キャッシュは使用できなくなりますが、次にエンドポイント・データベースが起動するときに再作成されます。ただし、永続キャッシュは、エンドポイント・プラガブル・データベース(PDB)がクローズしてから再オープンされた場合、使用可能な状態のままです。
特定のエンドポイント・データベースに対してEXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
を有効にすると、okvutil list -t okv_persistent_cache
コマンドを使用して永続キャッシュの内容を表示できなくなります。また、エンドポイント・データベースの起動後にキーがフェッチされる際、Oracle Key Vaultが使用可能であることを確認する必要があります。
個々のエンドポイント・データベースに対するEXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWNの設定
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
- 「Endpoints」タブをクリックします。
- 「Endpoints」ページで、
EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
を設定するエンドポイントを選択します。 - 「Endpoint Details」ページで、下部までスクロールして、「Expire PKCS11 Persistent Cache on Database Shutdown」チェック・ボックスを設定します。
- 「Save」をクリックします。
EXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWNのグローバルな設定
次の手順では、Oracle Key Vaultにエンロールされている現在および将来のすべてのエンドポイント・データベースにEXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWN
を適用します。
- システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
- 「Endpoints」タブを選択して、左側のバーから「Settings」を選択します。
- 「Global Endpoint Configuration Parameters」ページで、「Expire PKCS11 Persistent Cache on Database Shutdown」チェック・ボックスを設定します。
- 「Save」をクリックします。
親トピック:永続マスター暗号化キー・キャッシュのパラメータ
11.1.8 永続マスター・キー・キャッシュのコンテンツのリスト
okvutil
listコマンドを使用すると、永続マスター暗号化キー・キャッシュにキャッシュされているマスター暗号化キーをリストできます。
okvutil list
コマンドを実行した後に期限切れになったマスター暗号化キーを自動的に削除します。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.1.9 Oracle Databaseのデプロイメントと永続マスター暗号化キー・キャッシュ
永続マスター暗号化キー・キャッシュは、他のOracle機能とOracle Key Vaultの統合に影響します。
-
Oracle Key Vaultサーバーがオフラインの場合のデータベースの再起動: 自動ログイン・ウォレットを使用するようにOracle Key Vaultを構成すると、データベースはデータベースの再起動時にOracle Key Vaultサーバーに接続します。データベースの再起動時にOracle Key Vaultサーバーがオフラインの場合、データベースは永続マスター暗号化キー・キャッシュからマスター暗号化キーを取得します。マスター暗号化キーがアクティブで期限切れになっていない場合、データベース操作は正常に再開します。
永続マスター暗号化キー・キャッシュおよびOracle Key Vaultエンドポイント・ウォレットのパスワードが同期されていることを確認してください。
ノート:
エンドポイント・ウォレットの資格証明が変更された場合は、永続マスター暗号化キー・キャッシュを削除する必要があります。 -
Oracle Real Application Cluster (Oracle RAC)環境での永続マスター暗号化キー・キャッシュの使用: Oracle RAC環境では、各Oracle RACノードは一意のデータベース・エンドポイントであり、一意の永続マスター暗号化キー・キャッシュを使用します。
Oracle RAC環境では、各Oracle RACノードの永続マスター暗号化キー・キャッシュにマスター暗号化キーの最新バージョンをキャッシュするために、各Oracle RACノードからデータベースを問い合せる必要があります。
-
Oracle Data Guard環境での永続マスター暗号化キー・キャッシュの使用: プライマリ・サーバーのデータベースにあるマスター暗号化キーのローテーションによって、プライマリ・サーバーのデータベースの永続マスター暗号化キー・キャッシュにマスター暗号化キーがキャッシュされます。
プライマリ・サーバーから新しい
REDO
ログがスタンバイ・サーバーに適用された後、スタンバイ・サーバーでは、新しいマスター暗号化キーを取得してスタンバイ・サーバーのデータベースの永続マスター暗号化キー・キャッシュにキャッシュします。混乱を回避するために、プライマリ・サーバーのデータベース内のマスター暗号化キーのローテーション直後に、プライマリ・サーバーとスタンバイ・サーバーを同期化してください。
親トピック: 永続マスター暗号化キー・キャッシュの使用
11.2 Oracle Key Vaultから新しいTDE対応データベースへの接続の構成
Oracle Key Vaultと、まだTransparent Data Encryption用に構成されていないデータベースの間の接続を構成できます。
- Oracle Key Vaultから新しいTDE対応データベースへの接続の構成について
Oracle Key Vaultと、まだTDE用に構成されていないデータベースの間の接続を構成できます。 - Transparent Data Encryptionエンドポイント統合の制限
このタイプのTransparent Data Encryption (TDE)エンドポイント統合には、バージョンに互換性がない場合、問題が発生する可能性があります。 - ステップ1: Oracle Key Vaultサーバー環境の構成
接続を構成する前に、Oracle DatabaseおよびOracle Key Vaultの設定が正しいことを確認する必要があります。 - ステップ2: Transparent Data EncryptionとOracle Key Vaultの統合
この統合により、Oracle Key VaultでTDEマスター暗号化キーを直接管理できます。
親トピック: Oracle Key Vaultマスター暗号化キーの管理
11.2.1 Oracle Key Vaultから新しいTDE対応データベースへの接続の構成について
Oracle Key Vaultと、まだTDE用に構成されていないデータベースの間の接続を構成できます。
接続の構成を始める前に、Oracle Key Vaultクライアントのインストール環境がデータベース・ランタイム環境と同じであることを確認してください。環境変数ORACLE_HOME
、ORACLE_BASE
およびORACLE_SID
は、svrctl
およびオペレーティング・システム環境変数で同じ値に設定する必要があります。これは、エンドポイントのエンロールにOracle Key Vault RESTfulサービス・ユーティリティを使用している場合にも該当します。
TDEおよびOracle Key Vaultと連携できるようにOracle Data Guardを構成する方法の詳細は、次を参照してください。
- Oracle Database Advanced Securityガイド リリース19c
- Oracle Database Advanced Securityガイド リリース18c
- Oracle Database Advanced Securityガイド リリース12.2.0.1
TDEおよびOracle Key Vaultと連携するようにOracle Real Application Clusters (Oracle RAC)を構成する方法の詳細は、次を参照してください。
- Oracle Database Advanced Securityガイド リリース19c
- Oracle Database Advanced Securityガイド リリース18c
- Oracle Database Advanced Securityガイド リリース12.2.0.1
11.2.2 Transparent Data Encryptionエンドポイント統合の制限事項
このタイプのTransparent Data Encryption(TDE)エンドポイント統合では、バージョンが非互換の場合、問題が発生する可能性があります。
TDEエンドポイントの統合の制限事項は次のとおりです。
-
同じコンピュータ上のすべてのエンドポイントは、同じバージョンのOracle Key Vaultライブラリを使用する必要があります。
liborapkcs.so
ファイルのコンピュータごとに1つの場所(/opt/oracle/expapi/64/hsm/oracle/1.0.0/liborapkcs.so
)があります。 -
同じホストに複数のデータベースがあり、それらのデータベースで同じ
sqlnet.ora
ファイルが共有されている場合は、すべてのデータベースを同時に移行する必要があります。各データベースにそれ固有のsqlnet.ora
ファイルがある場合(TNS_ADMIN
パラメータの個別設定によって制御)、データベースをOracle Key Vaultに個別に移行できます。
注意:
TDEを構成した後はウォレットからキーを削除することや、ウォレット自体を削除することがないようにしてください。キーを失うとデータベースが失われます。これは、次のシナリオでも同様です。-
キーストア(ウォレットまたはOracle Key Vault)を作成またはオープンした場合は、最初のキーを設定する前でも、データベース内のデータを暗号化する前でも同様です
-
暗号化されたすべてのデータが復号化されている場合
-
キーとウォレットをハードウェア・セキュリティ・モジュールに移行した場合
11.2.3 ステップ1: Oracle Key Vaultサーバー環境の構成
接続を構成する前に、Oracle DatabaseおよびOracle Key Vaultの設定が正しいことを確認する必要があります。
COMPATIBILITY
パラメータが含まれます。
sqlnet.ora
ファイルが正しく構成されている場合、次のいずれかのSQL文を使用して暗号化キーを設定すると、TDEマスター暗号化キーがOracle Key Vaultに作成されます。
ALTER SYSTEM SET [ENCRYPTION] KEY IDENTIFIED BY "password";
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY IDENTIFIED BY "password"
これら両方のSQL文のパスワードは、Oracle Key Vaultクライアント・ソフトウェアをインストールしたときに定義したパスワードです。その時点でパスワードを定義しなかった場合、これら2つの文のパスワードはNULL
になります。
11.3 既存のTDEウォレットのOracle Key Vaultへの移行
移行したTDEウォレットを使用して、TDEによって以前に暗号化されたデータベースの内容をリストアできます。
- 既存のTDEウォレットのOracle Key Vaultへの移行について
sqlnet.ora
ファイルを使用すると、既存のTDEウォレットをOracle Key Vaultに移行できます。 - Oracle Key Vaultへの既存のTDEウォレットの移行
okvutil upload
コマンドを使用して、既存のTDEウォレットからOracle Key VaultへのTDE対応データベースの移行を開始できます。 - Oracleウォレットを使用してTDEによって以前に暗号化されたデータベース内容のリストア
Oracleウォレットをダウンロードしたエンドポイントでリストア・プロセスを実行します。
親トピック: Oracle Key Vaultマスター暗号化キーの管理
11.3.1 既存のTDEウォレットのOracle Key Vaultへの移行について
sqlnet.ora
ファイルを使用すると、既存のTDEウォレットをOracle Key Vaultに移行できます。
Oracle Databaseリリース12.2.0.1以前では、sqlnet.ora
ファイルを使用して、既存のTDEウォレットをOracle Key Vaultに移行できます。Oracle Databaseリリース18c以降では、ウォレットをOracle Key Vaultに移行するには、パラメータTDE_CONFIGURATION
およびWALLET_ROOT
を設定する必要があります。
Transparent Data Encryption (TDE)ウォレットがすでに存在する場合は、Oracle Key Vaultを認識するようにsqlnet.ora
ファイルまたはTDE_CONFIGURATION
パラメータを変更してから、既存のTDEウォレットをOracle Key Vaultに移行する必要があります。
Oracle Walletは、現在のTDEマスター暗号化キーとともに、TDEマスター暗号化キーをローテーションさせる毎回のキー更新操作によって上書きされた、過去のTDEマスター暗号化キーを保持しています。この過去のTDEマスター暗号化キーは、過去のTDEマスター暗号化キーの1つを使用して作成されたOracle Databaseバックアップをリストアする際に助けになります。Oracle WalletファイルからOracle Key VaultへのTDE移行の際、Key Vaultは新しいマスター暗号化キーを生成します。このマスター暗号化キー生成の後は、Oracle Key Vaultがすべての新しいキーを保持します。
移行を実行する前に、Oracle WalletをOracle Key Vaultにアップロードすることをお薦めします。これにより、移行を開始する前に、過去のすべてのキー情報とともにウォレットのバックアップを保管できます。移行が完了したら、クライアント・システムで、手動で古いウォレットを削除してください。
Oracle Real Application Clusters (Oracle RAC)構成で操作する場合は、共有TDEウォレット(Oracle Automatic Storage Management (Oracle ASM)またはOracle Advanced Cluster File System (Oracle ACFS))からOracle Key Vaultに移行してください。Oracle RACノードごとの個別のウォレットはサポートされていません。
11.3.2 既存のTDEウォレットのOracle Key Vaultへの移行
okvutil upload
コマンドを使用して、既存のTDEウォレットからOracle Key VaultへのTDE対応データベースの移行を開始できます。
11.3.3 TDEによって以前に暗号化されたデータベース内容のOracle Walletを使用したリストア
Oracleウォレットをダウンロードしたエンドポイントでリストア・プロセスを実行します。
Finance_DB
データベースを最近移行し、移行前のウォレットをアップロードした後、Oracle Key Vaultへのオンライン・マスター暗号化キーが使用されるようになったとします。システム障害のために、Oracle Key Vaultへの移行前に取ったデータベース・バックアップからリストアする必要が生じた場合も、以前にアップロードしたFinance_DB
ウォレット・データが含まれるOracle仮想ウォレットからダウンロードしたOracle Walletを使用して、データベースの内容をリストアできます。
関連トピック
11.4 Oracle Walletのアップロードとダウンロード
Oracle Walletを保存および共有するには、それらをOracle Key Vaultにアップロードする必要があります。
- Oracleウォレットのアップロードとダウンロードについて
Oracleウォレットをアップロードおよびダウンロードするには、okvutil
ユーティリティを使用します。 - Oracleウォレットのアップロード
okvutil upload
コマンドは、ウォレットをOracle Key Vaultにアップロードします。 - Oracleウォレットのダウンロード
okvutil download
コマンドは、Oracle Key VaultサーバーからエンドポイントにOracleウォレットをダウンロードします。 - Oracleウォレットのアップロードとダウンロードのガイドライン
Oracleでは、Oracle Key Vaultにウォレットをアップロードおよびダウンロードするためのガイドラインが提供されています。
親トピック: Oracle Key Vaultマスター暗号化キーの管理
11.4.1 Oracle Walletのアップロードとダウンロードについて
Oracleウォレットをアップロードおよびダウンロードするには、okvutil
ユーティリティを使用します。
ウォレットをOracle Key Vaultにアップロードした後、Key Vaultで新しい仮想ウォレットを作成し、共有するセキュリティ・オブジェクトを追加できます。ダウンロードする前に、仮想ウォレットへのエンドポイント・アクセス権を付与する必要があります。okvutil upload
およびokvutil download
コマンドを使用して、Oracle Key Vaultとそのエンドポイントの間でOracle Walletをアップロードおよびダウンロードできます。okvutil
ユーティリティは、エンドポイントにインストールするエンドポイント・ソフトウェアとともにパッケージ化されています。
Oracle Key Vaultのokvutil
ソフトウェアでは、個々のセキュリティ・オブジェクトの粒度レベルでOracle Walletを読み取ることができ、最大128 KBのサイズのセキュリティ・オブジェクトがサポートされています。そのため、ウォレットの内容は、個々の項目としてアップロードされます。ダウンロード中に、同じセキュリティ・オブジェクトのセットを使用して元のウォレットを再作成するか、別のセキュリティ・オブジェクトのセットを使用して新しいウォレットを作成できます。
パスワード・ベースのウォレットと自動ログイン・ウォレットの両方を、アップロードおよびダウンロードできます。ウォレットの内容は、いずれかのタイプの新しいウォレットに、後でダウンロードできます。たとえば、アップロードされたパスワード保護済ウォレットを自動ログイン・ウォレットとしてダウンロードしたり、アップロードされた自動ログイン・ウォレットをパスワード保護されたウォレットとしてダウンロードしたりできます。
Oracle Key Vaultを使用して、以前アップロードしたOracle Walletのセキュリティ・オブジェクトを含む新しい仮想ウォレットを構成できます。たとえば、以前にアップロードしたOracle Walletに5つの対称キーと3つの不透明オブジェクトが含まれていた場合は、元の5つの対称キーのうち3つと、元の3つの不透明オブジェクトのうちの1つのみから構成される、新しい仮想ウォレットを作成できます。この仮想ウォレットは元のウォレットと同様にダウンロードでき、キーのサブセットのみに対するアクセス権を持つエンドポイントを提供します。このプロセスは、元のウォレットを変更しません。
okvutil upload
を使用してOracle Key Vaultで作成されたオブジェクトの「Extractable」属性設定は、エンドポイントから継承されることに注意してください。ウォレットをダウンロードできますが、ウォレットのオブジェクトの「Extractable」属性がFALSE
に設定されている場合、それらのオブジェクトはダウンロードできません。
11.4.2 Oracle Walletのアップロード
okvutil upload
コマンドは、ウォレットをOracle Key Vaultにアップロードします。
okvutil upload
を使用してOracle Key Vaultで作成されたオブジェクトの「Extractable」属性設定は、エンドポイントから継承されることに注意してください。
これでアップロードは完了です。他のユーザーおよびエンドポイントと仮想ウォレットを共有できるようになりました。
11.4.3 Oracle Walletのダウンロード
okvutil download
コマンドは、Oracle Key VaultサーバーからエンドポイントにOracle Walletをダウンロードします。
11.4.4 Oracle Walletのアップロードとダウンロードに関するガイドライン
Oracle Key Vaultとの間でウォレットをアップロードおよびダウンロードするためのガイドラインが用意されています。
-
元のウォレットの内容に変更がある場合は(キー・ローテーションやキー更新操作など)、Key Vaultにウォレットの最新のコピーが保持されるように、Oracle Key Vaultにウォレットを再アップロードします。
-
okvutil upload
およびokvutil download
コマンドで上書き(-o
)オプションを使用する予定がある場合は注意してください。このオプションは、アップロードするデータと競合する仮想ウォレットのデータを上書きします。-o
オプションを使用する前に、ウォレット・ファイルのローカル・バックアップを作成してください。 -
Oracle Key Vaultサーバー上の複数の仮想ウォレットに対して、同一の物理的なOracle Walletをアップロードしないでください。Oracle Walletを複数のエンドポイントと共有する場合は、エンドポイント・グループを作成します。
関連トピック
親トピック: Oracle Walletのアップロードとダウンロード
11.5 JKSおよびJCEKSキーストアのアップロードとダウンロード
okvutil upload
およびokvutil download
コマンドは、JKSおよびJCEKSキーストアをアップロードおよびダウンロードできます。
- JKSおよびJCEKSキーストアのアップロードとダウンロードについて
okvutil
ユーティリティを使用して、JKSおよびJCEKSキーストアをアップロードおよびダウンロードします。 - JKSまたはJCEKSキーストアのアップロード
okvutil upload
コマンドは、JKSまたはJCEKSをOracle Key Vaultサーバーにアップロードできます。 - JKSまたはJCEKSキーストアのダウンロード
okvutil download
コマンドは、アップロードされたJKSまたはJCEKSキーストアをダウンロードできます。 - JKSおよびJCEKSキーストアのアップロードおよびダウンロードのガイドライン
Oracleでは、JKSおよびJCEKSキーストアをアップロードおよびダウンロードする際の推奨事項を提供しています。
親トピック: Oracle Key Vaultマスター暗号化キーの管理
11.5.1 JKSおよびJCEKSキーストアのアップロードとダウンロードについて
okvutil
ユーティリティを使用して、JKSおよびJCEKSキーストアをアップロードおよびダウンロードします。
JKSおよびJCEKSキーストアを長期保持、リカバリおよび共有のためにOracle Key Vaultにアップロードし、必要に応じてそれらをエンドポイントにダウンロードできます。
ウォレットと同様に、JKSまたはJCEKSキーストアをアップロードする場合、Oracle Key Vaultはキーストア内の各項目を読み取ることができます。キーストアの内容は個々のアイテムとしてアップロードされ、最大128 KBのサイズのアイテムがサポートされています。
okvutil upload
を使用してOracle Key Vaultで作成されたオブジェクトの「Extractable」属性設定は、エンドポイントから継承されることに注意してください。JKSおよびJCEKSキーストアをダウンロードできますが、このキーストアのオブジェクトの「Extractable」属性がFALSE
に設定されている場合、それらのオブジェクトはダウンロードできません。
関連トピック
11.5.2 JKSまたはJCEKSキーストアのアップロード
okvutil upload
コマンドは、JKSまたはJCEKSをOracle Key Vaultサーバーにアップロードできます。
okvutil upload
を使用してOracle Key Vaultで作成されたオブジェクトの「Extractable」属性設定は、エンドポイントから継承されることに注意してください。JKSおよびJCEKSキーストアをダウンロードできますが、このキーストアのオブジェクトの「Extractable」属性がFALSE
に設定されている場合、それらのオブジェクトはダウンロードできません。
これでアップロードは完了です。必要に応じて、Javaキーストアを共有およびダウンロードする準備が整いました。
11.5.4 JKSおよびJCEKSキーストアのアップロードとダウンロードに関するガイドライン
JKSおよびJCEKSキーストアをアップロードおよびダウンロードする場合の推奨事項は、次のとおりです。
-
元のJKSまたはJCEKSキーストアの内容に変更がある場合は、Key Vaultにキーストアの最新のコピーが保持されるように、Oracle Key Vaultにキーストアを再アップロードします。
-
okvutil upload
およびokvutil download
コマンドで上書き(-o
)オプションを使用する予定がある場合は注意してください。このオプションは、ファイル内のデータを上書きします。-o
オプションを使用するには、キーストア・ファイルをダウンロードする前にバックアップを作成してください。 -
Oracle Key Vaultサーバー上の複数の仮想ウォレットに対して、同一の物理的なJKSまたはJCEKSキーストアをアップロードしないでください。Javaキーストアを複数のエンドポイントと共有する場合は、エンドポイント・グループを作成します。
関連トピック
11.6 TDEマスター暗号化キーとしてのユーザー定義のキーの使用
生成したキーをインポートして、Oracle Key VaultでTransparent Data Encryption (TDE)マスター暗号化キーとして使用できます。
- TDEマスター暗号化キーとしてのユーザー定義のキーの使用について
キー管理者ロールを持つユーザーは、ユーザー定義のキーを書込みアクセス権を持つ仮想ウォレットにアップロードできます。 - ステップ1: ユーザー定義のキーのアップロード
ユーザー定義のマスター暗号化キーをOracle Key Vaultにアップロードするには、okvutil upload
コマンドを使用します。 - ステップ2: TDEマスター暗号化キーとしてのユーザー定義のキーのアクティブ化
ユーザー定義のキーをアップロードした後は、そのキーをTDEマスター暗号化キーとしてアクティブ化する準備が整います。
親トピック: Oracle Key Vaultマスター暗号化キーの管理
11.6.1 TDEマスター暗号化キーとしてのユーザー定義のキーの使用について
キー管理者ロールを持つユーザーは、ユーザー定義のキーを書込みアクセス権を持つ仮想ウォレットにアップロードできます。
これにより、Transparent Data Encryption (TDE)マスター暗号化キーとして使用できるようになります。この機能によって、キー管理者は、TDEデータ暗号化キーの暗号化に使用するマスター暗号化キーの作成に対する管理を強化できます。
okvutil upload
コマンドのtype
パラメータには、TDEマスター暗号化キーとして使用されるユーザー定義のキー・バイトをOracle Key VaultにアップロードできるオプションTDE_KEY_BYTES
が含まれています。その後、データベースでADMINISTER KEY MANAGEMENT
SQL文を実行して、キーをTDEマスター暗号化キーとしてアクティブ化する必要があります。
okvutil upload
を使用してOracle Key Vaultで作成されたオブジェクトの「Extractable」属性設定は、エンドポイントから継承されることに注意してください。TDEマスター暗号化キーをダウンロードできますが、このキーのオブジェクトの「Extractable」属性がFALSE
に設定されている場合、それらのオブジェクトはダウンロードできません。
11.6.2 ステップ1: ユーザー定義のキーのアップロード
okvutil upload
コマンドを使用して、ユーザー定義のマスター暗号化キーをOracle Key Vaultにアップロードします。
ユーザー定義のキーのRAWバイト・データをテキスト・ファイルに格納して、Oracle Key Vaultにアップロードします。Oracle Key VaultにアップロードされたRAWバイト・データは、TDE Master Encryption Key
とTDE Master Encryption Key Identifier
の一部を構成します。データベースがTDE Master Encryption Key
とTDE Master Encryption Key
としてデータを識別およびアクティブ化できるように、追加のメタデータがRAWバイト・データに追加されます。テキスト・ファイルでは、TDEマスター・キーを構成するRAWバイト・データの先頭にTDE Master Encryption Key Identifier
の接頭辞が付きます。TDE Master Key Identifier
を構成するRAWバイト・データには、TDE Master Key Identifier
の接頭辞が付きます。TDE Master Key Identifier
はデータベースのマスター暗号化キーを表します。キーがアクティブ化されると、TDE Master Key Identifier
をV$ENCRYPTION_KEYS
ビューのKEY_ID
列のサブセットとして構成するユーザー定義のRAWバイトが表示されます。Oracle Key Vaultでは、TDE Master Key
とTDE Master Key Identifier
の値は、対称キーがKMIPオブジェクト型である管理対象KMIPオブジェクトとして格納されます。
okvutil upload
を使用してOracle Key Vaultで作成されたオブジェクトの「Extractable」属性設定は、エンドポイントから継承されることに注意してください。
11.6.3 ステップ2: TDEマスター暗号化キーとしてのユーザー定義のキーのアクティブ化
ユーザー定義のキーをアップロードした後は、そのキーをTDEマスター暗号化キーとしてアクティブ化する準備が整います。
TDEマスター・キー識別子
用にOracle Key VaultにアップロードされるRAWバイト・データは、Oracle Key Vaultの対応するTDEマスター暗号化キーとして作成されるKMIPオブジェクトのNAME
属性として表示されます。
親トピック: TDEマスター暗号化キーとしてのユーザー定義のキーの使用