3 統一モードの構成
統一モードでは、CDB、およびキーストアが統一モードになっているPDBの共通のキーストアを作成できます。
CDBおよびPDBのキーは共通キーストアに格納されます。
- 統一モードの構成について
統一モード(デフォルト)では、キーストアはCDBルートと、統一モードで構成されているすべてのPDB間で共有されます。統一モードの各PDBには、共有キーストアに独自のマスター暗号化キーのセットがあります。 - 統一モードで許可される操作
CDBルートで実行される多くのADMINISTER KEY MANAGEMENT
操作は、統一モードのPDBのキーストアおよび暗号化キーに適用されます。 - 統一モードでのキーストアの場所とタイプの構成
統一モードでは、パラメータのみ、またはパラメータとALTER SYSTEM
文の組合せを使用して、キーストアの場所とタイプを構成できます。 - 統一モード用のソフトウェア・キーストアおよびTDEマスター暗号化キーの構成
統一モードでは、ソフトウェア・キーストアはCDBルート内に存在しますが、このキーストアのマスター・キーは統一モードのキーストアを持つPDBで使用できます。 - 統一モードのPDBで許可されない操作
統一モードのPDBで許可されないADMINISTER KEY MANAGEMENT
操作は、CDBルートで実行できます。 - 統一モードでの外部キーストアの構成
統一モードでは、外部キーストアは暗号化キーを保存するために設計された外部キー・マネージャ内にあります。
親トピック: 透過的データ暗号化の使用
3.1 統一モードの構成について
統一モード(デフォルト)では、キーストアはCDBルートと、統一モードで構成されているすべてのPDB間で共有されます。統一モードの各PDBには、共有キーストアに独自のマスター暗号化キーのセットがあります。
統一モードのキーストアを持つPDBのキーは、CDBルートまたはPDBから作成できます。
この設計により、1つのキーストアでCDB環境全体を管理し、PDBでそのキーストアを共有できますが、個々の統一モードのPDBでこのキーストアの動作をカスタマイズできます。たとえば、統一モードのPDBでは、CDBルートで作成した統合キーストア内のPDB用のTDEマスター暗号化キーを構成し、キーストアをローカルで開き、キーストアをローカルで閉じることができます。これらのアクションを実行するには、CDBルートのキーストアが開いている必要があります。
統一モードまたは分離モードを使用するように環境を構成する前は、CDB環境内のすべてのPDBは、統一モードであるとみなされます。
統一モードを使用するには、次の一般的なステップに従う必要があります。
-
CDBルートで、
WALLET_ROOT
パラメータとTDE_CONFIGURATION
パラメータを設定することで、統一モードを使用するようにデータベースを構成します。WALLET_ROOT
パラメータは、ウォレット・ディレクトリの場所を設定し、TDE_CONFIGURATION
パラメータは、使用するキーストアのタイプを設定します。 -
静的初期化パラメータ
WALLET_ROOT
の設定後にデータベースを再起動してから、動的初期化パラメータTDE_CONFIGURATION
を設定します。 -
CDBルートで、キーストアを作成し、キーストアを開き、TDEマスター暗号化キーを作成します。
-
統一モードの各PDBで、統一モードのPDBでローカルにキーストアを開いたり、PDBのTDEマスター暗号化キーを作成したりするなど、必要に応じてTDEマスター暗号化キーのタスクを実行します。キーストアはCDBルートで管理されますが、PDBでTDEを使用できるようにするには、PDB固有のTDEマスター暗号化キーがキーストアに含まれている必要があることに注意してください。
CDBルートから統一モードでADMINISTER KEY MANAGEMENT
文を実行すると、文でCONTAINER
句が受け入れられ、それをALL
に設定した場合、その文は、CDBルートおよびそれに関連付けられた統一モードのPDBにのみ適用されます。分離モードのPDBはすべて影響を受けません。
親トピック: 統一モードの構成
3.2 統一モードで許可される操作
CDBルートで実行される多くのADMINISTER KEY MANAGEMENT
操作は、統一モードのPDBのキーストアおよび暗号化キーに適用されます。
CDBルートで使用可能な統一モード関連の操作
表3-1では、CDBルートで実行できるADMINISTER KEY MANAGEMENT
操作について説明します。
表3-1 CDBルートでのADMINISTER KEY MANAGEMENT統一モード操作
操作 | 構文 | ノート |
---|---|---|
キーストアの作成 |
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE ['keystore_location'] IDENTIFIED BY keystore_password; |
CDBルートでキーストアを作成した後、デフォルトで、そのキーストアは、統一モードのPDBで使用できます。 |
キーストアを開く |
ADMINISTER KEY MANAGEMENT
SET KEYSTORE OPEN
IDENTIFIED BY
[EXTERNAL STORE | keystore_password]
[CONTAINER = ALL | CURRENT]; |
この操作の |
キーストア・パスワードの変更 |
ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD IDENTIFIED BY old_keystore_password SET new_keystore_password WITH BACKUP [USING 'backup_identifier']; |
|
キーストアのバックアップ |
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE [USING 'backup_identifier'] [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [TO 'keystore_location']; |
|
強制せずにキーストアを閉じる |
ADMINISTER KEY MANAGEMENT
SET KEYSTORE CLOSE
[IDENTIFIED BY [EXTERNAL STORE | keystore_password]]
[CONTAINER = ALL | CURRENT]; |
- |
強制的にキーストアを閉じる |
ADMINISTER KEY MANAGEMENT
FORCE KEYSTORE CLOSE
[IDENTIFIED BY [EXTERNAL STORE | keystore_password]]
[CONTAINER = ALL | CURRENT]; |
- |
新しいTDEマスター暗号化キーの作成およびアクティブ化(キー更新) |
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY [FORCE KEYSTORE] [USING TAG 'tag_name'] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']] [CONTAINER = ALL | CURRENT] |
- |
今すぐ( |
ADMINISTER KEY MANAGEMENT [SET | CREATE] [ENCRYPTION] KEY 'mkid:mk | mk' [USING ALGORITHM 'algorithm'] [FORCE KEYSTORE] [USING TAG 'tag_name'] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']] [CONTAINER = CURRENT]; |
- |
既存のTDEマスター暗号化キーのアクティブ化 |
ADMINISTER KEY MANAGEMENT USE [ENCRYPTION] KEY 'key_id' IDENTIFIED BY [EXTERNAL STORE | keystore_password] WITH BACKUP [USING 'backup_identifier']; |
|
TDEマスター暗号化キーのタグ付け |
ADMINISTER KEY MANAGEMENT SET TAG 'tag' FOR 'key_id' IDENTIFIED BY [EXTERNAL STORE | keystore_password ] WITH BACKUP [USING 'backup_identifier']; |
|
TDEマスター暗号化キーを新しいキーストアに移動する |
ADMINISTER KEY MANAGEMENT MOVE [ENCRYPTION] KEYS TO NEW KEYSTORE 'keystore_location1' IDENTIFIED BY keystore1_password FROM [FORCE] KEYSTORE IDENTIFIED BY keystore_password [WITH IDENTIFIER IN { 'key_id' [, 'key_id' ]... | ( subquery ) } ] [WITH BACKUP [USING 'backup_identifier']; |
マスター暗号化キーは、同じコンテナ内のキーストアにのみ移動できます(たとえば、CDBルートのキーストア間や同じPDBのキーストア間)。CDBルートのキーストアのマスター暗号化キーをPDBのキーストアに移動することはできず、その逆もできません。
|
統一モードのPDBで使用可能な操作
表3-2では、統一モードのPDBで実行できるADMINISTER KEY MANAGEMENT
操作について説明します。
表3-2 ADMINISTER KEY MANAGEMENT統一モードPDB操作
操作 | 構文 | ノート |
---|---|---|
キーストアを開く |
ADMINISTER KEY MANAGEMENT
SET KEYSTORE OPEN
IDENTIFIED BY
[EXTERNAL STORE | keystore_password]
[CONTAINER = CURRENT]; |
この操作では、 |
強制せずにキーストアを閉じる |
ADMINISTER KEY MANAGEMENT
SET KEYSTORE CLOSE
[EXTERNAL STORE | keystore_password]
[CONTAINER = CURRENT]; |
- |
強制的にキーストアを閉じる |
ADMINISTER KEY MANAGEMENT
FORCE KEYSTORE CLOSE
IDENTIFIED BY
[EXTERNAL STORE | keystore_password]
[CONTAINER = CURRENT]; |
- |
新しいTDEマスター暗号化キーを作成およびアクティブ化する(キー更新またはローテーション) |
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY [FORCE KEYSTORE] [USING TAG 'tag_name'] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']] [CONTAINER = CURRENT]; |
- |
今すぐ( |
ADMINISTER KEY MANAGEMENT SET | CREATE [ENCRYPTION] KEY 'mkid:mk | mk' [USING ALGORITHM 'algorithm'] [FORCE KEYSTORE] [USING TAG 'tag'] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']] [CONTAINER = CURRENT]; |
- |
既存のTDEマスター暗号化キーのアクティブ化 |
ADMINISTER KEY MANAGEMENT USE [ENCRYPTION] KEY 'key_id' IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']]; |
|
TDEマスター暗号化キーのタグ付け |
ADMINISTER KEY MANAGEMENT SET TAG 'tag' FOR 'key_id' [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']]; |
|
暗号化キーを新しいキーストアに移動する |
ADMINISTER KEY MANAGEMENT MOVE [ENCRYPTION] KEYS TO NEW KEYSTORE 'keystore_location1' IDENTIFIED BY keystore1_password FROM [FORCE] KEYSTORE IDENTIFIED BY keystore_password [WITH IDENTIFIER IN { 'key_id' [, 'key_id' ]... | ( subquery ) } ] [WITH BACKUP [USING 'backup_identifier']]; |
|
CDBルートの統一モードのキーストアにあるキーをPDBの分離モードのキーストアに移動する |
ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE IDENTIFIED BY isolated_keystore_password FROM ROOT KEYSTORE [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | united_keystore_password] [WITH BACKUP [USING backup_id]]; |
|
PDBのクローンが分離されているTDEマスター暗号化キーを使用している場合に |
ADMINISTER KEY MANAGEMENT FORCE ISOLATE KEYSTORE IDENTIFIED BY isolated_keystore_password FROM ROOT KEYSTORE [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | united_keystore_password] [WITH BACKUP [USING backup_id]]; |
- |
親トピック: 統一モードの構成
3.3 統一モードのキーストアの場所とタイプの構成
統一モードでは、パラメータのみ、またはパラメータとALTER SYSTEM
文の組合せを使用して、キーストアの場所とタイプを構成できます。
- 統一モードでのキーストアの場所およびタイプの構成について
ソフトウェア・キーストアとは、TDEマスター暗号化キーを格納するコンテナです。 - 初期化パラメータ・ファイルの編集による統一モードの構成
初期化パラメータ・ファイル内のWALLET_ROOT
パラメータとTDE_CONFIGURATION
パラメータの両方を設定することにより、統一モードを構成できます。 - 初期化パラメータ・ファイルおよびALTER SYSTEMを使用した統一モードの構成
環境がサーバー・パラメータ・ファイル(spfile
)に依存している場合は、SCOPE
を指定したALTER SYSTEM SET
を使用して、WALLET_ROOT
およびTDE_CONFIGURATION
を設定できます。 - 例: 複数のデータベースが同じホストを共有する場合のソフトウェア・キーストアの構成
WALLET_ROOT
パラメータを設定することで、同じホストを共有するように複数のデータベースを構成できます。 - 例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成
Oracle Real Applications Clusters (Oracle RAC)環境では、WALLET_ROOT
パラメータは、そのデータベースのすべてのOracle RACインスタンスからアクセスできるOracle Automatic Storage Management (ASM)の共有ディレクトリを指します。
親トピック: 統一モードの構成
3.3.1 統一モードでのキーストアの場所およびタイプの構成について
ソフトウェア・キーストアとは、TDEマスター暗号化キーを格納するコンテナです。
キーストアを構成する前に、まず静的初期化パラメータWALLET_ROOT
を設定して、その場所を定義する必要があります。次に、データベースの再起動後に、動的初期化パラメータTDE_CONFIGURATION
を設定して、ソフトウェア・キーストア、Oracle Key Vaultまたはその他の外部キーストアからそれぞれのドキュメントに従ってマスター暗号化キーを取得するようデータベースに指示する必要があります。この設定が作成されていない場合、Oracle Databaseは、sqlnet.ora
ファイルをチェックします。必要に応じて、キーストアのコピーなどの他のキーストアを作成したり、キーが含まれているファイルをエクスポートすることができます。WALLET_ROOT
の場所で構成したキーストアを除去または削除する必要がある場合は、このキーストア内のTDEマスター暗号化キーを別のキーストアに移動した後でのみ行う必要があります。次に、キーストアの新しい場所を指すようにWALLET_ROOT
を再設定する必要があります。
WALLET_ROOT
およびTDE_CONFIGURATION
パラメータを使用してソフトウェア・キーストアの場所を構成したら、CDBにログインしてキーストアを作成して開き、次にTDEマスター暗号化キーを設定できます。これらのステップを完了したら、データの暗号化を開始できます。
親トピック: 統一モードのキーストアの場所とタイプの構成
3.3.2 初期化パラメータ・ファイルの編集による統一モードの構成
初期化パラメータ・ファイル内のWALLET_ROOT
パラメータとTDE_CONFIGURATION
パラメータの両方を設定することにより、統一モードを構成できます。
親トピック: 統一モードのキーストアの場所とタイプの構成
3.3.3 初期化パラメータ・ファイルおよびALTER SYSTEMを使用した統一モードの構成
環境がサーバー・パラメータ・ファイル(spfile
)に依存している場合は、SCOPE
を指定したALTER SYSTEM SET
を使用して、WALLET_ROOT
およびTDE_CONFIGURATION
を設定できます。
親トピック: 統一モードのキーストアの場所とタイプの構成
3.3.4 例: 複数のデータベースで同じホストを共有する場合のソフトウェア・キーストアの構成
WALLET_ROOT
パラメータを設定することで、同じホストを共有するように複数のデータベースを構成できます。
WALLET_ROOT
パラメータはOracleデータベースの内部にあるため、複数のデータベースで同じホストを共有できるようにするパラメータの設定のみが必要です。
たとえば:
ALTER SYSTEM SET WALLET_ROOT = '/etc/ORACLE/KEYSTORES/$ORACLE_SID' SCOPE = SPFILE;
各データベースに対して個々のソフトウェア・キーストアを完全に分離して実装するには、WALLET_ROOT
パラメータ設定にORACLE_SID
(またはOracle Real Application ClustersではORACLE_UNQNAME
)を追加します。
親トピック: 統一モードのキーストアの場所とタイプの構成
3.3.5 例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成
Oracle Real Applications Clusters (Oracle RAC)環境では、WALLET_ROOT
パラメータは、そのデータベースのすべてのOracle RACインスタンスからアクセスできるOracle Automatic Storage Management (ASM)の共有ディレクトリを指します。
次の例では、ASMのソフトウェア・キーストアについてWALLET_ROOT
およびTDE_CONFIGURATION
を設定する方法を示します。
ALTER SYSTEM SET WALLET_ROOT = '+DATA/unique_name_of_database' SCOPE = SPFILE SID = '*';
たとえば、この値を+DATA/FINRAC
に設定すると、ウォレットの作成時に/tde
ディレクトリが自動的に生成されます。
親トピック: 統一モードのキーストアの場所とタイプの構成
3.4 統合モードでのソフトウェア・キーストアおよびTDEマスター暗号化キーの構成
統一モードでは、ソフトウェア・キーストアは、CDBルート内に存在しますが、このキーストアのマスター・キーは、統一モードのキーストアを持つPDBで使用可能です。
- 統一モードでのソフトウェア・キーストアおよびTDEマスター暗号化キーの構成について
統一モードでは、CDBルートで作成されたキーストアは、統一モードのPDBからアクセス可能になります。 - ステップ1: ソフトウェア・キーストアの作成
ソフトウェア・キーストアのディレクトリの場所を指定したら、キーストアを作成できます。 - ステップ2: ソフトウェア・キーストアを開く
作成したキーストアの種類に応じて、使用する前にキーストアを手動で開く必要があります。 - ステップ3: ソフトウェア・キーストアのTDEマスター暗号化キーの設定
キーストアが開いたら、それに対してTDEマスター暗号化キーを設定できます。 - ステップ4: 統一モードでのデータの暗号化
外部キーストアまたはOracle Key Vaultキーストアの構成が完了したので、データの暗号化を開始できます。
親トピック: 統一モードの構成
3.4.1 統合モードでのソフトウェア・キーストアおよびTDEマスター暗号化キーの構成について
統一モードでは、CDBルートで作成されたキーストアは、統一モードのPDBからアクセス可能になります。
一般的に、統一モードを有効にした後、統一モードのソフトウェア・キーストアを構成するには、CDBルートでキーストアを作成して開き、そのキーストアのマスター暗号化キーを作成します。その後、CDB環境全体からアクセスできる表と表領域のデータの暗号化を開始できます。
V$ENCRYPTION_WALLET
動的ビューでは、キーストアのステータスと場所が示されます。たとえば、次の問合せでは、CDBルート・キーストア(CON_ID 1
)のステータス(開いている/閉じている)と場所、およびそれに関連付けられている統一モードのPDBのキーストアが示されます。WRL_PARAMETER
列では、CDBルート・キーストアの場所がWALLET_ROOT/tde
ディレクトリ内にあることが示されています。
SELECT CON_ID, STATUS, WRL_PARAMETER FROM V$ENCRYPTION_WALLET; CON_ID STATUS WRL_PARAMETER ------ ------ ----------------------------- 1 OPEN /app/oracle/wallet/tde/ 2 CLOSED 3 OPEN 4 OPEN 5 OPEN
この出力では、このCDB内の他のPDBに対してキーストアのパスはリストされていません。それらのPDBは、CDBルート内のキーストアを使用するからです。これらのいずれかのPDBが分離されており、分離モードのPDBでキーストアを作成した場合は、この問合せを実行したときに、WRL_PARAMETER
列で分離モードのPDBのキーストア・パスが示されます。
安全性の高い外部パスワード・ストアでソフトウェア・キーストア・パスワードを非表示にできます。
ADMINISTER KEY MANAGEMENT ADD SECRET 'software-keystore-password'
FOR CLIENT 'TDE_WALLET' INTO [LOCAL]
AUTO_LOGIN KEYSTORE 'WALLET_ROOT/tde_seps';
この機能では、パスワードをオペレーティング・システムから隠すことができます。それにより、終夜のバッチ・スクリプトなどのユーザーの操作なしにデータベースにアクセスできるスクリプトや他のツールにクリアテキスト・キーストア・パスワードを保存する必要がなくなります。このキーストアの場所は、wallet_root/tde_seps
です。マルチテナント環境では、ADMINISTER KEY MANAGEMENT
文をIDENTIFIED BY EXTERNAL STORE
句を使用して実行すると、様々なPDBがこの外部ストアの場所にアクセスできます。このように、パスワードをまとめて配置すると、パスワードの更新は外部ストアで一度のみで済みます。
3.4.2 ステップ1: ソフトウェア・キーストアの作成
ソフトウェア・キーストアのディレクトリの場所を指定したら、キーストアを作成できます。
- ソフトウェア・キーストアを作成することについて
3つの異なるタイプのソフトウェア・キーストアがあります。 - パスワード保護されたソフトウェア・キーストアの作成
パスワード保護されたソフトウェア・キーストアには、TDEマスター・キーを保護するために使用するパスワードが必要です。統一モードでは、CDBルート内にキーストアを作成する必要があります。 - 自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの作成
パスワード保護されたキーストアに代わる方法として、自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアのいずれかを作成できます。
3.4.2.1 ソフトウェア・キーストアを作成することについて
3つの異なるタイプのソフトウェア・キーストアがあります。
パスワード保護されたソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを作成できます。
問合せSELECT * FROM V$ENCRYPTION_WALLET
を実行すると、自動ログイン・ソフトウェア・キーストアが自動的に開くため、注意してください。たとえば、パスワード保護されたキーストアと自動ログイン・キーストアがあるとします。パスワード保護されたキーストアが開いているときに、このパスワード保護されたキーストアを閉じて、V$ENCRYPTION_WALLET
ビューを問い合せると、出力にキーストアが開いていることが示されます。ところが、これはV$ENCRYPTION_WALLET
が自動ログイン・ソフトウェア・キーストアを開いて、自動ログイン・キーストアのステータスを表示したことによるものです。
関連項目
親トピック: ステップ1: ソフトウェア・キーストアの作成
3.4.2.2 パスワード保護されたソフトウェア・キーストアの作成
パスワード保護されたソフトウェア・キーストアには、TDEマスター・キーを保護するために使用するパスワードが必要です。統一モードでは、CDBルート内にキーストアを作成する必要があります。
ADMINISTER KEY MANAGEMENT
文を使用します。
ewallet.p12
ファイルが、指定したキーストアの場所に生成されます。たとえば、WALLET_ROOT
パラメータを$ORACLE_BASE/wallet
に設定し、TDE_CONFIGURATION
パラメータをFILE
(TDEの場合、ウォレットのルートの場所にtde
ディレクトリが作成されます)に設定した場合、キーストアは、$ORACLE_BASE/wallet/tde
ディレクトリに作成されます。キーストアの名前は、ewallet.p12
です。
親トピック: ステップ1: ソフトウェア・キーストアの作成
3.4.2.3 自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの作成
パスワード保護されたキーストアに代わる方法として、自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアのいずれかを作成できます。
次のガイドラインに従ってください。
- 自動ログイン・キーストア(
.sso
ファイル)の作成後は、PKCS#12
ウォレット(ewallet.p12
ファイル)は削除しないでください。将来、TDEマスター暗号化キーを再生成またはキー更新するには、PKCS#12
ウォレットが必要です。デフォルトでは、このファイルは$ORACLE_BASE
または$ORACLE_HOME
の場所のadmin/db_unique_name/wallet
ディレクトリにあります。 - 透過的データ暗号化が自動ログイン・キーストアを使用するのは、このキーストアが正しい場所(
WALLET_ROOT/tde
、ENCRYPTION_LOCATION
またはデフォルトのキーストアの場所)にあり、かつ、暗号化されたキーストアを開くためのSQLがまだ実行されていない場合のみであることに留意してください。自動ログイン・キーストアにはシステム生成のパスワードがあり、暗号化されていることに注意してください。ENCRYPTION_WALLET_LOCATION
パラメータが設定されている場合、このパラメータは非推奨となったことに注意してください。かわりに、WALLET_ROOT
静的初期化パラメータおよびTDE_CONFIGURATION
動的初期化パラメータを使用することをお薦めします。
親トピック: ステップ1: ソフトウェア・キーストアの作成
3.4.3 ステップ2: ソフトウェア・キーストアを開く
作成したキーストアの種類に応じて、使用する前にキーストアを手動で開く必要があります。
- ソフトウェア・キーストアを開くことについて
キーストアにおいてTDEマスター暗号化キーを作成またはアクセスする前に、パスワード保護されたソフトウェア・キーストアが開いている必要があります。 - 統一モードのPDBでソフトウェア・キーストアを開く
統一モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN
句を指定して、ADMINISTER KEY MANAGEMENT
文を使用する必要があります。
3.4.3.1 ソフトウェア・キーストアを開くことについて
キーストアにおいてTDEマスター暗号化キーを作成またはアクセスする前に、パスワード保護されたソフトウェア・キーストアが開いている必要があります。
透過的データ暗号化の多くの操作では、ソフトウェア・キーストアが開いている必要があります。ソフトウェア・キーストアを開くことができる方法は2つあります。
-
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
文を発行して、キーストアを手動で開きます。その後、操作を実行できます。 -
操作を実行するために使用される
ADMINISTER KEY MANAGEMENT
文にFORCE KEYSTORE
句を含めます。FORCE KEYSTORE
は操作中にキーストアを一時的に開き、操作が完了すると、キーストアは再度閉じられます。FORCE KEYSTORE
は、データベースの負荷が高い場合に役に立ちます。このシナリオでは、データベース内の暗号化されたオブジェクトへの同時アクセスにより、自動ログイン・キーストアは、閉じられた直後でユーザーがパスワードベースのキーストアを開く機会を持つ前に開かれ続けます。
キーストアには、開いている、閉じている、開いていてもマスター暗号化キーがない、開いていても不明なマスター暗号化キーがある、定義されていない、または使用できない(つまりWALLET_ROOT/tde
の場所にない)というステータスがあります。
キーストアを手動で開くと、手動で閉じるまでキーストアは開いたままになります。PDBまたはCDBを再起動するたびに、パスワード・キーストアを手動で開いて暗号化と復号化の操作を再有効化する必要があります。
キーストアが開いているか、開いていないかのステータスは、V$ENCRYPTION_WALLET
ビューのSTATUS
列を問い合せて確認できます。
3.4.3.2 統一モードのPDBでソフトウェア・キーストアを開く
統一モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
V$ENCRYPTION_WALLET
ビューのSTATUS
列によってOPEN_NO_MASTER_KEY
ステータスが知らされます。
親トピック: ステップ2: ソフトウェア・キーストアを開く
3.4.4 ステップ3: ソフトウェア・キーストアのTDEマスター暗号化キーの設定
キーストアが開いたら、それに対してTDEマスター暗号化キーを設定できます。
- ソフトウェア・キーストアTDEマスター暗号化キーの設定について
TDEマスター暗号化キーはキーストアに格納されます。 - 統一モードのソフトウェア・キーストアのTDEマスター暗号化キーの設定
PDBが統一モードで構成されている場合、キーストアのTDEマスター暗号化キーを設定するには、SET KEY
句にADMINISTER KEY MANAGEMENT
文を使用します。
3.4.4.1 ソフトウェア・キーストアのTDEマスター暗号化キーの設定について
TDEマスター暗号化キーはキーストアに格納されます。
TDEマスター暗号化キーは、TDE表キーおよび表領域暗号化キーを保護します。デフォルトでは、TDEマスター暗号化キーは、TDEによって生成されるキーです。V$ENCRYPTION_WALLET
ビューのSTATUS
列を問い合せることで、キーストアに、設定されているTDEマスター暗号化キーがないかどうか、または不明なTDEマスター暗号化キーがないかどうかを確認できます。
データベースの外部でマスター暗号化IDを手動で作成できます。これはCloud環境で役立ちます。また、後で使用するためにTDEマスター暗号化キーを作成でき、その後それらを手動で有効にできます。
3.5 統一モードのPDBで許可されない操作
統一モードのPDBで許可されないADMINISTER KEY MANAGEMENT
操作は、CDBルートで実行できます。
操作は次のとおりです。
-
キーストアの操作:
-
キーストアでのマージ操作の実行
-
キーストアのエクスポート
-
キーストアのインポート
-
キーストアの移行
-
キーストアの逆移行
-
PDBのキーストアへのCDBルートにあるキーストアのキーの移動
-
CDBルートにある統一モードのキーストアへのPDBにあるキーの移動
-
-
暗号化キーの操作:
-
CONTAINER = ALL
句を使用した、各プラガブル・データベース(PDB)での後から使用する新しいTDEマスター暗号化キーの作成
-
-
クライアント・シークレットの操作:
-
クライアント・シークレットの追加
-
クライアント・シークレットの更新
-
クライアント・シークレットの削除
-
親トピック: 統一モードの構成
3.6 統一モードでの外部キーストアの構成
統一モードでは、外部キーストアは暗号化キーを保存するために設計された外部キー・マネージャ内にあります。
- 外部キーストアについて
外部キーストアは、暗号化キーのセキュリティ記憶域を提供する独立したサーバーまたはデバイスです。 - 統一モードでの外部キーストアの構成について
統一モードでは、sqlnet.ora
(非推奨)を編集して外部キーストアを構成するか、パラメータWALLET_ROOT
およびTDE_CONFIGURATION
を設定できます。 - ステップ1: 統一モードの外部キーストアの構成
TDE_CONFIGURATION
パラメータを設定して、統一モードの外部キーストアを構成できます。 - ステップ2: 外部キーストアを開く
外部キーストアを構成したら、使用する前に開く必要があります。 - ステップ3: 外部キーストアでの最初のTDEマスター暗号化キーの設定
外部キーストアを開くと、最初のTDEマスター暗号化キーを設定できるようになります。 - ステップ4: 統一モードでのデータの暗号化
外部キーストアまたはOracle Key Vaultキーストアの構成が完了したので、データの暗号化を開始できます。
親トピック: 統一モードの構成
3.6.1 外部キーストアについて
外部キーストアは、暗号化キーのために安全な記憶域を提供する独立したサーバーまたはデバイスです。
外部キーストアはOracleデータベースの外部にあります。Oracleデータベースは外部キーストアとのインタフェースをとることができますが、Oracleインタフェースの外部でそれらを操作することはできません。Oracleデータベースは外部キーストアにキーの作成をリクエストできますが、このキーが外部データベースに格納される方法を定義することはできません。外部キーストアの例は、Oracle Key Vaultキーストアです。サポートされている外部キーストアは、Oracle Key VaultおよびOracle Cloud Infrastructure Vaultです。(反対に、TDEを使用して作成されるソフトウェア・キーストアの場合は、Oracleデータベースが完全な制御権限を持ちます。つまり、SQL文を使用してこのタイプのキーストアを操作できます。)
外部キーストアを構成するには、まずTDE_CONFIGURATION
パラメータ設定にキーストア・タイプを定義し、外部キーストアを構成して開き、最初のTDEマスター暗号化キーを外部キーストアに設定する必要があります。要するに、データベースごとに1つの外部キーストアがあり、データベースは、TDE_CONFIGURATION
パラメータで定義されているキーストア・タイプを確認することでこのキーストアを見つけます。
親トピック: 統一モードでの外部キーストアの構成
3.6.2 統一モードでの外部キーストアの構成について
統一モードでは、sqlnet.ora
(非推奨)を編集して外部キーストアを構成するか、パラメータWALLET_ROOT
およびTDE_CONFIGURATION
を設定できます。
新しいデプロイメントにパラメータWALLET_ROOT
およびTDE_CONFIGURATION
を設定することをお薦めします。あるいは、sqlnet.ora file
の古い構成から、できるだけ早く(四半期ごとのバンドル・パッチを次に適用するときなど)、WALLET_ROOT
およびTDE_CONFIGURATION
を使用して新しい構成に移行できます。
統一モードは、Oracle Databaseリリース12.1.0.2以降でsqlnet.ora
のTDE構成で使用されるデフォルトのTDE設定です。Oracle Databaseリリース18c以降では、sqlnet.ora
のTDE構成は非推奨です。まず、静的初期化パラメータWALLET_ROOT
を既存のディレクトリに設定する必要があります。この変更が取得されるには、データベースの再起動が必要です。再起動後、動的TDE_CONFIGURATION
パラメータのKEYSTORE_CONFIGURATION
属性をOKV
(Oracle Key Vaultへのパスワードで保護された接続の場合)、またはOracle Key Vaultへの自動オープン接続の場合はOKV|FILE
に設定し、構成済の外部キーストアを開いてから、TDEマスター暗号化キーを設定します。これらのタスクを完了すると、データベース内のデータを暗号化できるようになります。
親トピック: 統一モードでの外部キーストアの構成
3.6.3 ステップ1: 統一モードの外部キーストアの構成
TDE_CONFIGURATION
パラメータを設定することで、統一モードの外部キーストアを構成できます。
親トピック: 統一モードでの外部キーストアの構成
3.6.4 ステップ2: 外部キーストアを開く
外部キーストアを構成したら、使用する前に開く必要があります。
- 外部キーストアを開くことについて
暗号化または復号化を実行する前に、データベースにアクセスできるように外部キーストアを開く必要があります。 - 統一モードのPDBで外部キーストアを開く
統一モードで外部キーストアを開くには、SET KEYSTORE OPEN
句を指定して、ADMINISTER KEY MANAGEMENT
文を使用する必要があります。
親トピック: 統一モードでの外部キーストアの構成
3.6.4.1 外部キーストアを開くことについて
暗号化または復号化を実行する前に、外部キーストアがデータベースにアクセスできるようにするために、外部キーストアを開く必要があります。
データベースにリカバリ操作が必要な場合(データベースが正常に停止しておらず、リカバリが必要な暗号化された表領域がある場合など)、データベース自体を開く前に外部キーストアを開く必要があります。
外部キーストアを開く方法としては、次の2つがあります。
-
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
文を発行して、キーストアを手動で開きます。その後、操作を実行できます。 -
ADMINISTER KEY MANAGEMENT
文にFORCE KEYSTORE
句を含めます。FORCE KEYSTORE
は操作中にキーストアを一時的に開き、操作が完了すると、キーストアは再度閉じられます。FORCE KEYSTORE
は、データベースの負荷が高い場合に役に立ちます。このシナリオでは、データベース内の暗号化されたオブジェクトへの同時アクセスにより、自動ログイン・キーストアは、閉じられた直後でユーザーがパスワードベースのキーストアを開く機会を持つ前に開かれ続けます。
キーストアのステータスを確認するには、V$ENCRYPTION_WALLET
ビューのSTATUS
列を問い合せます。キーストアには、CLOSED
、NOT_AVAILABLE
(つまりWALLET_ROOT
の場所にない)、OPEN
、OPEN_NO_MASTER_KEY
、OPEN_UNKNOWN_MASTER_KEY_STATUS
というステータスがあります。
外部キーストアの場合は、データベースがマウント状態だと、データ・ディクショナリを使用できないため、マスター・キーが設定されているかどうかを確認できないということに注意してください。この場合、ステータスはOPEN_UNKNOWN_MASTER_KEY_STATUS
になります。
関連項目
親トピック: ステップ2: 外部キーストアを開く
3.6.4.2 統一モードのPDBで外部キーストアを開く
統一モードで外部キーストアを開くには、SET KEYSTORE OPEN
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
親トピック: ステップ2: 外部キーストアを開く
3.6.5 ステップ3: 外部キーストアでの最初のTDEマスター暗号化キーの設定
外部キーストアを開いたら、最初のTDEマスター暗号化キーを設定できます。
- 外部キーストアのTDEマスター暗号化キーの設定について
外部キーストア内に格納されたTDEマスター暗号化キーを作成する必要があります。 - 外部キーストアのハートビート・バッチ・サイズ
各ハートビート期間中に発行されるハートビートのバッチのサイズを制御できます。 - 統一モードの外部キーストアのTDEマスター暗号化キーの設定
PDBが統一モードで構成されている場合、キーストアのTDEマスター暗号化キーを設定するには、SET KEY
句を指定して、ADMINISTER KEY MANAGEMENT
文を使用します。 - 前に構成したTDEマスター暗号化キーの移行
ソフトウェア・キーストアを以前に構成した場合は、前に構成したTDEマスター暗号化キーを移行する必要があります。
親トピック: 統一モードでの外部キーストアの構成
3.6.5.1 外部キーストアのTDEマスター暗号化キーの設定について
外部キーストア内に格納されたTDEマスター暗号化キーを作成する必要があります。
Oracle Databaseは、マスター暗号化キーを使用して、外部キーストア内部のTDE表キーまたは表領域暗号化キーの暗号化または復号化を行います。
TDE用にソフトウェア・キーストアをまだ構成していない場合は、マスター暗号化キーを設定する必要があります。TDE用にソフトウェア・キーストアをすでに構成している場合は、データベースを外部キー・ストアに移行する必要があります。
現在のマスター暗号化キーとともに、Oracleウォレットでは、マスター暗号化キーを更新するキーの更新操作のたびに生成される履歴マスター暗号化キーを保持します。これらの履歴マスター・キーにより、履歴マスター暗号化キーのいずれかを使用して、以前に作成されたOracleデータベースのバックアップをリストアできます。
3.6.5.2 外部キーストアのハートビート・バッチ・サイズ
各ハートビート期間中に発行されるハートビートのバッチのサイズを制御できます。
PDBが外部キー・マネージャを使用するように構成されている場合、GEN0
バックグラウンド・プロセスは、PDBのかわりに外部キー・マネージャへのハートビート・リクエストを実行する必要があります。このバックグラウンド・プロセスにより、外部キー・マネージャが使用可能であり、PDBのTDEマスター暗号化キーが外部キー・マネージャから使用可能であり、暗号化と復号化の両方に使用できることが確認されます。GEN0
バックグラウンド・プロセスは、ハートビート期間(デフォルトは3秒)内にこのリクエストを完了する必要があります。
外部キー・マネージャを使用するように非常に多数のPDB (1000など)が構成されている場合は、ハートビートをバッチ処理するようにHEARTBEAT_BATCH_SIZE
データベース・インスタンス初期化パラメータを構成することで、割り当てられたハートビート期間内に各PDBに対してハートビートを実行する時間がなかった場合に、ハング・アナライザがGEN0
プロセスが停止していると誤ってフラグを設定する可能性を軽減できます。
ハートビート・バッチ・サイズを設定することで、PDBのバッチ間でハートビートをずらして、ハートビート期間中にバッチ内の各PDBに対してバッチごとにハートビートを完了できるようにしたり、PDBマスター暗号化キーをOracle Key Vaultサーバーから確実にフェッチしてOracle Key Vault永続キャッシュにキャッシュできるようにすることができます。HEARTBEAT_BATCH_SIZE
パラメータは、ハートビート期間ごとに外部キー・マネージャに送信されるハートビートのバッチのサイズを構成します。値は2から100の間にする必要があり、デフォルトは5です。ハートビート期間のデフォルトの期間は3秒です。
たとえば、500個のPDBが構成されており、Oracle Key Vaultを使用している場合、GEN0
が単一のPDBのかわりにハートビートを実行するのに要した通常の時間は、0.5秒未満です。また、CDB$ROOT
が、Oracle Key Vault (OKV
)などの外部キー・マネージャを使用するように構成されているとします。したがって、通常は、3秒のハートビート期間ごとに5つのハートビート(CDB$ROOT
に1つと、4つのPDBバッチに4つ)を単一のバッチで送信できます。
HEARTBEAT_BATCH_SIZE
パラメータで1つのバッチで送信されるハートビートの数を構成しても、CDB$ROOT
が外部キー・マネージャを使用するように構成されている場合は、各ハートビート・バッチにCDB$ROOT
のハートビートが含まれている必要があります。HEARTBEAT_BATCH_SIZE
パラメータの最小値は2、最大値は100です。CDB$ROOT
が外部キー・マネージャを使用するように構成されている場合、ハートビートの各バッチにはCDB$ROOT
用にハートビート1つが含まれます。このため、最小バッチ・サイズは2になります。外部キー・マネージャを使用するように構成されている可能性があるため、CDB$ROOT
用に1つ予約する必要があります。
たとえば、HEARTBEAT_BATCH_SIZE
パラメータを次のように設定するとします。
ALTER SYSTEM SET HEARTBEAT_BATCH_SIZE=3 SCOPE=BOTH SID='*';
各反復は、GEN0
の3秒間のハートビート期間1つに対応します。
例1: Oracle Key Vaultを使用するように構成されたコンテナのハートビートの設定
コンテナ・リストが1 2 3 4 5 6 7 8 9 10で、すべてのコンテナがOracle Key Vault (OKV
)を使用するように構成されているとします。反復は次のとおりです。
- 反復1: バッチを構成するコンテナ: 1 2 3
- 反復2: バッチを構成するコンテナ: 1 4 5
- 反復3: バッチを構成するコンテナ: 1 6 7
- 反復4: バッチを構成するコンテナ: 1 8 9
- 反復5: バッチを構成するコンテナ: 1 10
- このサイクルを繰り返します。
例2: OKVおよびFILEキーストアを持つコンテナのハートビートの設定
この例では、コンテナ・リストは1 2 3 4 5 6 7 8 9 10で、奇数のコンテナのみがOKV
キーストアを使用するように構成され、偶数のコンテナはソフトウェア・キーストア(FILE
)を使用するように構成されています。
- 反復1: バッチを構成するコンテナ: 1 3 5
- 反復2: バッチを構成するコンテナ: 1 7 9
- 反復3: バッチを構成するコンテナ: 1
- このサイクルを繰り返します。
例3: CDB$ROOT
が外部キー・マネージャを使用するように構成されていない場合のハートビートの設定
コンテナ・リストが1 2 3 4 5 6 7 8 9 10で、偶数のコンテナ番号のみがOracle Key Vaultを使用するように構成され、偶数のコンテナがFILE
を使用するように構成されているとします。次の例では、FILE
を使用するように構成されているため、CDB$ROOT
のハートビートはありません。
- 反復1: バッチを構成するコンテナ: 2 4 6
- 反復2: バッチを構成するコンテナ: 8 10
- このサイクルを繰り返します。
3.6.5.3 統一モードの外部キーストアのTDEマスター暗号化キーの設定
PDBが統一モードに設定されている場合にキーストアのTDEマスター暗号化キーを設定するには、SET KEY
句を指定して、ADMINISTER KEY MANAGEMENT
文を使用します。
3.6.5.4 前に構成したTDEマスター暗号化キーの移行
ソフトウェア・キーストアを以前に構成した場合は、前に構成したTDEマスター暗号化キーを移行する必要があります。
Oracle Data PumpやOracle Recovery Managerなどのツールでは、ソフトウェア・キーストアを使用してエクスポートまたはバックアップされたデータに対して復号化と暗号化の操作を実行するために、古いソフトウェア・キーストアにアクセスする必要があります。ソフトウェアから外部キーストアに移行できます。
現在のマスター暗号化キーともに、Oracleキーストアでは、マスター暗号化キーをローテーションするキーの更新操作のたびに生成される履歴マスター暗号化キーを保持します。これらの履歴マスター暗号化キーにより、履歴マスター暗号化キーのいずれかを使用して、以前に作成されたOracleデータベースのバックアップをリストアできます。