6 分離モードでのキーストアおよびTDEマスター暗号化キーの管理
Oracle Cloudデータベース(オンプレミス・データベースではない)では、分離モードを使用すると、プラガブル・データベース(PDB)ごとにキーストアを作成できます。
- 分離モードでのキーストアおよびTDEマスター暗号化キーの管理について
分離モードでは、プラガブル・データベース(PDB)に固有のキーストアがあるため、キーストアおよびTDEマスター暗号化キーの管理をPDBからのみ行います。 - 分離モードで実行可能な操作
分離モードでは、ADMINISTER KEY MANAGEMENT
の多くの操作を実行できます。 - 分離モードのPDBで実行できない操作
ADMINISTER KEY MANAGEMENT
の操作の中には、分離モードのPDBで実行できないものがいくつかあります。 - 分離モードでのキーストアの場所とタイプの構成
分離モードでは、キーストアの場所とタイプを、パラメータのみ、またはパラメータとALTER SYSTEM
文の組合せを使用して構成できます。 - 分離モードでのキーストアおよびTDEマスター暗号化キーの構成
分離モードでは、ソフトウェア・キーストアがPDBに関連付けられます。 - 分離モードでの外部キーストアの構成
Oracle Databaseがサポートする外部キーストアには、Oracle Key VaultキーストアまたはOCI Vault - Key Managementキーストアの2つのタイプがあります。 - 分離モードでのキーストアおよびTDEマスター暗号化キーの管理
分離モードでキーストアとTDEマスター暗号化キーを作成した後は、暗号化キーのキー更新やタグ付けなどの管理タスクを実行できます。 - 分離モードでの透過的データ暗号化の管理
分離モードでは、透過的データ暗号化に対する一般的な管理タスクをいくつか実行できます。
親トピック: 透過的データ暗号化の使用
6.1 分離モードでのキーストアおよびTDEマスター暗号化キーの管理について
分離モードでは、プラガブル・データベース(PDB)に固有のキーストアがあるため、キーストアおよびTDEマスター暗号化キーの管理をPDBからのみ行います。
統一モードと同様に、まずWALLET_ROOT
パラメータとTDE_CONFIGURATION
パラメータを設定することで、分離モードを使用するようにPDBを構成する必要があります。これらのパラメータを設定すると、PDBからキーストアを作成および管理できるようになります。この方法では、次のシナリオが考えられます。
-
分離モードが設定されていないすべてのPDBに、CDBルートに対する統一モード設定が適用されます。たとえば、CDBルートで作成したキーストアが、そのルートに関連付けられた統一モードのPDBによって使用されます。
-
分離モードで構成されているPDBでは、独自のキーストアの作成および管理を個別に行うことができます。分離モードのPDBには、CDBルートのキーストアとは別に、独自のキーストアを作成できます。
このシナリオは、多くのPDBでは1つのタイプのキーストアを使用する必要があるが、異なるタイプのキーストアを使用する必要があるPDBもいくつか含まれている場合に便利です。異なるタイプのキーストアとは、TDEソフトウェア・キーストア、またはOracleがサポートする外部キーストア(Oracle Key Vault、クラウド・キー管理サービスなど)のいずれかを指します。Oracleサーバーは単一のPKCS#11ベンダー・ライブラリしかロードできないため、1つのCDB環境に異なる外部キーストアのタイプを混在させることはできません。必要に応じ、これらのPDBを分離モードで構成して、各PDBが独自のキーストアを使用できるようにすることができます。
PDBを分離モードで構成することの利点は、暗号化されたPDBの数が多い場合に、PDBにおけるキー更新操作のパフォーマンスが、統一モードでのキー更新パフォーマンスに比べて優れていることです。
CDBに暗号化されたPDBが多数含まれる場合は、PDBを分離モードで構成することで、PDBにおけるキー更新操作のパフォーマンスが、スタンドアロン・システムにおけるキー更新操作のパフォーマンスと同等になり、システム全体の暗号化されたPDBの数が増えても低下することがなくなります。
6.2 分離モードで実行可能な操作
分離モードでは、ADMINISTER KEY MANAGEMENT
の多くの操作を実行できます。
これらの操作には、キーストアの作成、バックアップ、オープンや、キーストアのパスワード変更、マージ、クローズなどが含まれます。また、暗号化キーの作成、アクティブ化、タグ付け、移動、エクスポート、インポート、移行や、クライアント・シークレットの追加、更新、削除も実行できます。
表6-1は、分離モードのPDBで実行できるADMINISTER KEY MANAGEMENT
の操作を示しています。
表6-1 分離モードでのADMINISTER KEY MANAGEMENTの操作
操作 | 構文 | 分離モードでのノート |
---|---|---|
キーストアの作成 |
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE ['keystore_location'] IDENTIFIED BY keystore_password; |
分離モードのPDBでは、パスワード保護されたキーストア、ローカル自動ログイン・キーストアおよび自動ログイン・キーストアを作成できます。
|
自動ログイン・キーストアの作成 |
ADMINISTER KEY MANAGEMENT CREATE [LOCAL] AUTO_LOGIN KEYSTORE FROM KEYSTORE ['keystore_location'] IDENTIFIED BY keystore_password; |
|
キーストアを開く |
ADMINISTER KEY MANAGEMENT
SET KEYSTORE OPEN
[FORCE KEYSTORE]
IDENTIFIED BY
[EXTERNAL STORE | keystore_password]; |
この操作では、 分離モードのPDBでは、 |
キーストア・パスワードの変更 |
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'] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [TO 'keystore_location']; |
- |
キーストアの内容を既存のキーストアにマージする |
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore_location1' [IDENTIFIED BY keystore1_password] INTO EXISTING KEYSTORE 'keystore_location2' IDENTIFIED BY keystore2_password WITH BACKUP [USING 'backup_identifier']; |
- |
2つのキーストアの内容をマージして3番目のキーストアを作成する |
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore_location1' [IDENTIFIED BY keystore1_password] AND KEYSTORE 'keystore_location2' [IDENTIFIED BY keystore2_password] INTO NEW KEYSTORE 'keystore_location3' IDENTIFIED BY keystore3_password; |
- |
キーストアを閉じる |
ADMINISTER KEY MANAGEMENT
SET KEYSTORE CLOSE
[IDENTIFIED BY
[EXTERNAL STORE | keystore_password]]; |
- |
分離モードのPDBのキーストアが開いているときにCDBルートのキーストアを閉じる |
ADMINISTER KEY MANAGEMENT
FORCE KEYSTORE CLOSE
[IDENTIFIED BY
[EXTERNAL STORE | keystore_password]]; |
|
新しいTDEマスター暗号化キーの作成およびアクティブ化(キー更新) |
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY [USING TAG 'tag_name'] [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password ]WITH BACKUP [USING 'backup_identifier']; |
- |
ユーザー定義のTDEマスター暗号化キーを今すぐ( |
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' [USING TAG 'tag'] 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 EXPORT [ENCRYPTION] KEYS WITH SECRET secret TO 'filename' IDENTIFIED BY keystore_password [WITH IDENTIFIER IN { 'key_id' [, 'key_id' ]... | ( subquery ) }]; |
- |
TDEマスター暗号化キーのインポート |
ADMINISTER KEY MANAGEMENT IMPORT [ENCRYPTION] KEYS WITH SECRET secret FROM 'filename' IDENTIFIED BY keystore_password [WITH BACKUP [USING 'backup_identifier']]; |
- |
TDEマスター暗号化キーのソフトウェア・キーストアから外部キーストアへの移行 |
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY IDENTIFIED BY external_key_manager_password [FORCE KEYSTORE] MIGRATE USING software_keystore_password WITH BACKUP [USING 'backup_identifier']; |
- |
TDEマスター暗号化キーの外部キーストアからソフトウェア・キーストアへの逆移行 |
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY IDENTIFIED BY software_keystore_password REVERSE MIGRATE USING external_key_manager_password; |
- |
クライアント・シークレットの追加 |
ADMINISTER KEY MANAGEMENT ADD SECRET 'secret' FOR CLIENT 'client_identifier' [USING TAG 'tag_name' ] IDENTIFIED BY [EXTERNAL STORE | keystore_password] WITH BACKUP [USING 'backup_identifier']; |
- |
クライアント・シークレットの更新 |
ADMINISTER KEY MANAGEMENT UPDATE SECRET 'secret' FOR CLIENT 'client_identifier' [USING TAG 'tag_name' ] IDENTIFIED BY [EXTERNAL STORE | keystore_password] WITH BACKUP [USING 'backup_identifier']; |
- |
クライアント・シークレットの削除 |
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'client_identifier' IDENTIFIED BY [EXTERNAL STORE | keystore_password] WITH BACKUP [USING 'backup_identifier']; |
- |
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]; |
この操作では2つのアクションが実行されます。まず、PDBの |
6.3 分離モードのPDBで実行できない操作
分離モードのPDBで実行できないADMINISTER KEY MANAGEMENT
の操作がいくつかあります。
これには次の操作が含まれます。
-
CONTAINER = ALL
句を使用して、各プラガブル・データベース(PDB)で後から使用するための新しいTDEマスター暗号化キーを作成する -
暗号化キーをCDBルートのキーストアから分離モードで構成されているPDBのキーストアに移動する
6.4 分離モードでのキーストアの場所とタイプの構成
分離モードでは、キーストアの場所とタイプを、パラメータのみ、またはパラメータとALTER SYSTEM
文の組合せを使用して構成できます。
- 分離モードの構成
分離モードを構成するには、CDBルートにある初期化パラメータ・ファイルのWALLET_ROOT
と、分離するPDBのTDE_CONFIGURATION
を設定します。 - 例: 古いバージョンの制御ファイルのリストア
リストアが必要な古いバージョンの制御ファイルがあり、分離モードで構成されているPDBの数が少ない場合は、TDE_CONFIGURATION
を設定できます。 - 例: 制御ファイル紛失の問題への対処
制御ファイルを紛失した場合は、ALTER SYSTEM
文を使用してこの問題に対処できます。 - 例: Oracle Real Application Clusters環境での分離モードの構成
Oracle Real Application Clusters (Oracle RAC)環境で分離モードを構成するには、ALTER SYSTEM
を使用します。
6.4.1 分離モードの構成
分離モードを構成するには、CDBルートにある初期化パラメータ・ファイルのWALLET_ROOT
と、分離するPDBのTDE_CONFIGURATION
を設定します。
CDB環境のWALLET_ROOT
パラメータおよびTDE_CONFIGURATION
パラメータの構成は、統一モードの構成時と同様の手順で行いますが、ALTER SYSTEM
文のRESET
句を使用するのではなく、SET
句を使用する点が異なります。この構成を行うには、初期化パラメータ・ファイルにWALLET_ROOT
パラメータとTDE_CONFIGURATION
パラメータを追加します。PDBを分離モードで構成するには、PDBのTDE_CONFIGURATION
パラメータに値を設定します。この操作は、ALTER SYSTEM
文を使用するか、ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE
文を発行することによって行います。この項では、ALTER SYSTEM
文を使用する方法について説明します。
PDBのTDE_CONFIGURATION
パラメータの値を設定するときに、システムでpfileとspfileのどちらが使用されているかに応じて、ALTER SYSTEM
文のSCOPE
句を適切な値に設定する必要があります。TDE_CONFIGURATION
パラメータの値は、属性と値のペアのリストであり、キーストアのタイプを指定するのは、KEYSTORE_CONFIGURATION
属性の値です。その内容は次のとおりです。
-
FILE
は、ソフトウェア・キーストアを示します。 -
OKV
は、Oracle Key Vault外部キーストアを示します。 -
FILE|OKV
は、OKV
キーストア・タイプからFILE
キーストア・タイプへの逆移行が発生しことを示します。 -
FILE|HSM
は、HSM
キーストア・タイプからFILE
キーストア・タイプへの逆移行が発生したことを示します。 -
OKV|FILE
は、FILE
キーストア・タイプからOKV
キーストア・タイプへの移行が発生したことを示します。キーストア・タイプには2つの意味があります。FILE
からOKV
に移行しているという意味か、OKV
の使用時に構成が開始されたが現在は自動ログインOKV
構成が使用されている(この場合、OKV
パスワードはWALLET_ROOT/PDB_GUID/tde
ディレクトリのcwallet.sso
ファイルにある)という意味です。
ALTER SYSTEM
を使用して、選択したPDBのTDE_CONFIGURATION
値を構成すると、CDB環境内のPDBが分離モードになります。この手順のステップでは、個々のPDBを分離モードに構成して、独自のキーストア・タイプを使用できるようにする方法を詳しく説明します。
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限を付与されたユーザーとしてPDBに接続します。ALTER SYSTEM
文を実行して、CDB環境のWALLET_ROOT
パラメータおよびTDE_CONFIGURATION
パラメータを構成します。ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type" SCOPE=both;
- CDBルートが開いており、PDBがマウント状態である場合は、
scope
をspfile
に設定します。ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type" SCOPE=spfile;
- 構成を確認します。
TDE_CONFIGURATION
パラメータの設定を確認するには、次のように指定します。SHOW PARAMETER TDE_CONFIGURATION
出力には、現在のPDBに対して設定したキーストア構成が反映されている必要があります。異なるキーストア構成が表示される場合(
OKV
に設定したがFILE
と表示される場合など)は、その設定が統一モードでCDBルートに対して設定されたキーストア構成を示している可能性があります。- キーストアのモードを確認するには、次のように指定します。
SELECT KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;
出力は
ISOLATED
となっている必要があります。
KEYSTORE_CONFIGURATION
パラメータがFILE
(PDBがソフトウェア・キーストアを使用するように構成されていることを示す)であった場合、そのPDBに対して構成されるキーストアの場所は、WALLET_ROOT/PDB-GUID/tde
です。キーストアがその場所に存在し、TDEマスター暗号化キーが含まれている場合、そのキーはこのPDBのみが使用可能で、他のPDBは使用できません。キーストアがその場所に存在しない場合は、ソフトウェア・キーストアを作成して、TDEマスター暗号化キーを設定する手順に進むことができます。分離モードのPDBを、後から統一モードのPDBに戻すことにした場合は、ADMINISTER KEY MANAGEMENT UNITE KEYSTORE
文を使用できます。ADMINISTER KEY MANAGEMENT UNITE KEYSTORE
を実行すると、PDBのキーストアからCDBルートのキーストアにキーが移されますが、クライアント・シークレットは元の場所に残ります。このため、元の場所にクライアント・シークレットがなかった場合、PDBのキーストアは実質的に「空」のままになります。これで、バックアップして削除できる状態になります。キーストアを削除する場合は、キーストアが空であっても、必ず事前にバックアップを行ってください。
6.4.2 例: 古いバージョンの制御ファイルのリストア
リストアが必要な古いバージョンの制御ファイルがあり、分離モードで構成されているPDBの数が少ない場合は、TDE_CONFIGURATION
を設定できます。
CDBルートとPDBの両方がマウント状態である場合は、CDBルートからPDBのキーストア構成のみを変更できます。
-
SYSDBA
管理権限を付与されたユーザーとしてCDBルートにログインします。 -
変更する各PDBに対して、次の構文を使用します。
ALTER SYSTEM SET TDE_CONFIGURATION="CONTAINER=pdb_name;KEYSTORE_CONFIGURATION=keystore_type" SCOPE=memory;
たとえば、キーストア・タイプとして
FILE
(ソフトウェア・キーストア)を使用するhrpdb
PDBとsalespdb
PDBを構成する場合は、次の構文を使用します。ALTER SYSTEM SET TDE_CONFIGURATION="CONTAINER=hrpdb;KEYSTORE_CONFIGURATION=FILE" SCOPE=memory; ALTER SYSTEM SET TDE_CONFIGURATION="CONTAINER=salespdb;KEYSTORE_CONFIGURATION=FILE" SCOPE=memory;
-
各PDBの
TDE_CONFIGURATION
パラメータを設定したら、CDBルートにログインして、CDBルート自体のTDE_CONFIGURATION
を設定します。ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";
この段階で、CDBルートはマウント状態になっています。
CONTAINER
属性を含むALTER SYSTEM
を使用して設定されたTDE_CONFIGURATION
パラメータの値は、CDBルートのメモリー内にのみ存在します。構成が各PDBに正しく適用されるようにするには、PDBを閉じてから再オープンする必要があります。分離モードのPDBが開かれると、CDBルートで発行されたALTER SYSTEM
文によって設定された構成が制御ファイルから読み取られ、その後、自動的にPDBに適用されます。 -
各PDBに接続し、PDBを閉じて再オープンします。
ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE pdb_name OPEN;
親トピック: 分離モードでのキーストアの場所とタイプの構成
6.4.3 例: 制御ファイル紛失の問題への対処
制御ファイルを紛失した場合は、ALTER SYSTEM
文を使用してこの問題に対処できます。
SCOPE
をメモリーに設定してこれらの文を実行すると、CONTAINER
の値がメモリーに格納されます。分離モードのPDBを開くと、そのPDBに対するこの構成が自動的に更新されます。
Oracle Data Guard環境を使用している場合は、制御ファイルを修正するために、プライマリ・データベースとスタンバイ・データベースの両方で次の文を実行します。
-
SYSDBA
管理権限を付与されたユーザーとしてCDBルートにログインします。 -
システムの正確な状態が不明な場合は、
RESET
を指定してALTER SYSTEM
を実行する必要があります。たとえば:
ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=memory;
-
変更する各PDBに対して、次の構文を使用します。
ALTER SYSTEM SET TDE_CONFIGURATION="CONTAINER=pdb_name;KEYSTORE_CONFIGURATION=FILE" SCOPE=memory;
たとえば、キーストア・タイプとして
FILE
(ソフトウェア・キーストア)を使用するhrpdb
PDBとsalespdb
PDBの場合は、次のように指定します。ALTER SYSTEM SET TDE_CONFIGURATION="CONTAINER=hrpdb;KEYSTORE_CONFIGURATION=FILE" SCOPE=memory; ALTER SYSTEM SET TDE_CONFIGURATION="CONTAINER=salespdb;KEYSTORE_CONFIGURATION=FILE" SCOPE=memory;
-
各PDBの
TDE_CONFIGURATION
パラメータを設定したら、CDBルートにログインして、CDBルート自体のTDE_CONFIGURATION
を設定します。ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";
この段階で、CDBルートはマウント状態になっています。
CONTAINER
属性を含むALTER SYSTEM
を使用して設定されたTDE_CONFIGURATION
パラメータの値は、CDBルートのメモリー内にのみ存在します。構成が各PDBに正しく適用されるようにするには、PDBを閉じてから再オープンする必要があります。分離モードのPDBが開かれると、CDBルートで発行されたALTER SYSTEM
文によって設定された構成が制御ファイルから読み取られ、その後、自動的にPDBに適用されます。 -
各PDBに接続し、PDBを閉じて再オープンします。
ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE; ALTER PLUGGABLE DATABASE pdb_name OPEN;
親トピック: 分離モードでのキーストアの場所とタイプの構成
6.4.4 例: Oracle Real Application Clusters環境での分離モードの構成
ALTER SYSTEM
を使用して、Oracle Real Application Clusters (Oracle RAC)環境で分離モードを構成できます。
-
ALTER SYSTEM
文の結果が各Oracle RACノードに確実に適用されるようにするには、ALTER SYSTEM
文のSID
句に、ワイルドカード(*
)を次のように指定します。この文は、CDBルートまたはPDBのどちらからでも実行できます。ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type" SID='*';
親トピック: 分離モードでのキーストアの場所とタイプの構成
6.5 分離モードでのキーストアおよびTDEマスター暗号化キーの構成
分離モードでは、ソフトウェア・キーストアがPDBに関連付けられます。
- 分離モードでのソフトウェア・キーストアの構成について
分離モードでは、すべてのタイプのソフトウェア・キーストア(パスワード保護キーストア、資格証明が外部ストアから提供されるパスワード保護キーストア、自動ログイン・キーストア、ローカル自動ログイン・キーストア)を作成できます。 - ステップ1: 分離モードで構成されたPDBでのソフトウェア・キーストアの作成
パスワード保護されたソフトウェア・キーストアには、キーストアのキーおよび資格証明を保護するためのパスワードが必要になります。 - ステップ2: 分離モードのPDBでソフトウェア・キーストアを開く
分離モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。 - ステップ3: 分離モードのPDBのソフトウェア・キーストアでのTDEマスター暗号化キーの設定
分離モードのPDBのソフトウェア・キーストアでTDEマスター暗号化キーを設定するには、SET KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。 - ステップ4: 分離モードでのデータの暗号化
キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。
6.5.1 分離モードでのソフトウェア・キーストアの構成について
分離モードでは、すべてのタイプのソフトウェア・キーストア(パスワード保護キーストア、資格証明が外部ストアから提供されるパスワード保護キーストア、自動ログイン・キーストア、ローカル自動ログイン・キーストア)を作成できます。
KEYSTORE_CONFIGURATION
属性をFILE
(ソフトウェア・キーストアを使用)に設定してPDBを分離モードで構成した後に、そのPDBで暗号化を有効にするには、ソフトウェア・キーストアを作成して、そのソフトウェア・キーストアを開き、そのソフトウェア・キーストア内でTDEマスター暗号化キーを設定する必要があります。この操作の完了後に、PDB内のアクセス可能な表および表領域のデータを暗号化できるようになります。
マルチテナント環境では、ソフトウェア・キーストアの資格証明を保管するための安全な外部ストアを作成できます。この機能を使用すると、キーストア・パスワードを隠すことができます。つまり、ユーザーの操作なしにデータベースにアクセスできるスクリプトやツール(夜間に実行されるバッチ・スクリプトなど)に、キーストア・パスワードを保存する必要がなくなります。WALLET_ROOT
パラメータが指定されている場合、外部ストアの場所は、CDBルートの場合はWALLET_ROOT/tde_seps
、PDBの場合はWALLET_ROOT/PDB-GUID/tde_seps
となります。WALLET_ROOT
パラメータを設定すると、単一の一元的外部ストアがなくなるため、キーストア・パスワードが更新された場合は、対応する外部ストアも更新する必要があります。WALLET_ROOT
パラメータが指定されていない場合は、CDBルートとすべてのPDBの両方について、外部ストアの場所が同じになります。この場合、外部ストアの場所は、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION
初期化パラメータで設定する必要があります。WALLET_ROOT
パラメータが指定されていない場合は、単一の一元的外部ストアが存在するため、キーストア・パスワードを更新した場合に、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION
にある一元的外部ストアを更新するだけで済みます。
マルチテナント環境では、ADMINISTER KEY MANAGEMENT
文をIDENTIFIED BY EXTERNAL STORE
句を使用して実行すると、様々なPDBがこの外部ストアの場所にアクセスできます。このように、パスワードをまとめて配置すると、パスワードの更新は外部ストアで一度のみで済みます。
6.5.2 ステップ1: 分離モードで構成されたPDBでのソフトウェア・キーストアの作成
パスワード保護されたソフトウェア・キーストアには、キーストアのキーおよび資格証明を保護するためのパスワードが必要になります。
WALLET_ROOT
の下にあるデフォルトのキーストアの場所に、ewallet.p12
ファイル(キーストア)が生成されます。たとえば、WALLET_ROOT
パラメータを$ORACLE_BASE/wallet
に設定し、TDE_CONFIGURATION
パラメータをFILE
(分離モードのPDBに対してソフトウェア・キーストアが構成されることを示す)に設定すると、PDBのキーストアが$ORACLE_BASE/wallet/PDB-GUID/tde
ディレクトリに作成されます。
6.5.3 ステップ2: 分離モードのPDBでソフトウェア・キーストアを開く
分離モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
6.5.4 ステップ3: 分離モードのPDBのソフトウェア・キーストアでのTDEマスター暗号化キーの設定
分離モードのPDBでソフトウェア・キーストア内にTDEマスター暗号化キーを設定するには、SET KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用します。
6.6 分離モードでの外部キーストアの構成
Oracle Databaseがサポートする外部キーストアには、Oracle Key VaultキーストアまたはOCI Vault - Key Managementキーストアの2つのタイプがあります。
- 分離モードでの外部キーストアの構成について
PDBが分離モードで構成されている場合に、PDBの外部キーストアを構成できます。 - ステップ1: Oracle Key Vaultの分離PDBの構成
TDE_CONFIGURATION
パラメータを設定することで、Oracle Key Vaultの分離モードPDBを構成できます。 - ステップ2: 分離モードのPDBで外部キーストアを開く
分離PDBに外部キーストアへの自動オープン接続がない場合、PDBを開く前に手動で開く必要があります。 - ステップ3: 分離モードのPDBの外部キーストアでTDEマスター暗号化キーを設定する
分離モードのPDBで外部キーストアを開くと、そのPDBのTDEマスター暗号化キーを設定できるようになります。 - ステップ4: 分離モードでのデータの暗号化
キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。
6.6.1 分離モードでの外部キーストアの構成について
PDBが分離モードで構成されている場合に、PDBの外部キーストアを構成できます。
分離モードのPDBの外部キーストアを構成するには、まずWALLET_ROOT
パラメータを設定する必要があります。これが必要な理由は2つあります。1つは、将来ソフトウェア・キーストアに移行できるようにするため、もう1つは、Oracle Key Vaultの構成ファイルがWALLET_ROOT
の下の場所から取得されるためです。次に、TDE_CONFIGURATION
パラメータのKEYSTORE_CONFIGURATION
属性をOKV
に設定し、構成した外部キーストアを開いて、PDBのTDEマスター暗号化キーを設定する必要があります。これらのタスクを完了すると、PDB内のデータを暗号化できるようになります。
ADMINISTER KEY MANAGEMENT
文を実行するときにIDENTIFIED BY
句を指定する方法は、外部キーストアのタイプによって異なります。次の構文を使用します。
IDENTIFIED BY "external_key_manager_password"
external_key_manager_password
は、Oracle Key VaultまたはOCI Vault - Key Managementの外部キーストア・マネージャ用です。このパスワードは二重引用符で囲みます。Oracle Key Vaultの場合は、Oracle Key Vaultクライアントのインストール時に指定したパスワードを入力します。その時点でパスワードが指定されていない場合、ADMINISTER KEY MANAGEMENT
文のパスワードはNULL
になります。
Oracle Key Vaultキーストアの場合は、パスワードを引用符で囲む必要があります。
IDENTIFIED BY "Oracle_Key_Vault_password"
親トピック: 分離モードでの外部キーストアの構成
6.6.2 ステップ1: Oracle Key Vaultの分離PDBの構成
TDE_CONFIGURATION
パラメータを設定することで、Oracle Key Vaultの分離モードPDBを構成できます。
親トピック: 分離モードでの外部キーストアの構成
6.6.3 ステップ2: 分離モードのPDBで外部キーストアを開く
分離PDBに外部キーストアへの自動オープン接続がない場合、PDBを開く前に手動で開く必要があります。
関連項目
親トピック: 分離モードでの外部キーストアの構成
6.6.4 ステップ3: 分離モードのPDBの外部キーストアでのTDEマスター暗号化キーの設定
分離モードのPDBで外部キーストアを開くと、PDBのTDEマスター暗号化キーを設定できるようになります。
- 分離モードでの新しいTDEマスター暗号化キーの設定
これまでに透過的データ暗号化の外部キーストアを構成したことがない場合は、この手順を実行する必要があります。 - 分離モードでの以前に構成した暗号化キーの移行
以前にソフトウェア・キーストアを構成している場合は、以前に構成したマスター暗号化キーを移行する必要があります。
親トピック: 分離モードでの外部キーストアの構成
6.6.5 ステップ4: 分離モードでのデータの暗号化
キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。
親トピック: 分離モードでの外部キーストアの構成
6.7 分離モードでのキーストアおよびTDEマスター暗号化キーの管理
分離モードでキーストアおよびTDEマスター暗号化キーを作成すると、暗号化キーに対してキー更新やタグ付けなどの管理タスクを実行できるようになります。
外部キーストアのパスワードを変更するには、外部キーストアの管理インタフェースを使用する必要があります。ADMINISTER KEY MANAGEMENT
文を使用して、この操作を実行することはできません。
- 分離モードでのキーストア・パスワードの変更
PDBが分離モードである場合に、ソフトウェア・キーストアのパスワードを変更できます。 - 分離モードでのパスワード保護されたソフトウェア・キーストアのバックアップ
ADMINISTER KEY MANAGEMENT
文のBACKUP KEYSTORE
句を使用すると、パスワード保護されたソフトウェア・キーストアのバックアップを実行できます。 - 分離モードでのソフトウェア・キーストアのマージ
分離モードで、ソフトウェア・キーストアをマージできます。 - 分離モードでキーストアを閉じる
システム表領域が暗号化されていないかぎり、分離モードでソフトウェア・キーストアと外部キーストアの両方を閉じることができます。 - 分離モードでのユーザー定義のTDEマスター暗号化キーの作成
ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION] KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用します。 - 分離モードでの後で使用するためのTDEマスター暗号化キーの作成
分離モードで、後で使用するTDEマスター暗号化キーを作成するには、事前にキーストアが開かれている必要があります。 - 分離モードでのTDEマスター暗号化キーのアクティブ化
分離モードでTDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY
句を含むADMINISTER KEY MANAGEMENT
を使用する必要があります。 - 分離モードでのTDEマスター暗号化キーのキー更新
SET KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーをキー更新できます。 - 分離モードでのTDEマスター暗号化キーの新しいキーストアへの移動
分離モードで、既存のTDEマスター暗号化キーを、既存のソフトウェア・パスワード・キーストアから新しいキーストアに移動できます。 - 分離モードでのカスタム属性タグの作成
分離モードでカスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT
文のSET TAG
句を使用する必要があります。 - 分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート
分離モードでは、様々な方法でTDEマスター暗号化キーをエクスポートおよびインポートできます。 - 分離モードでのOracle Databaseシークレットの保管
シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracle Databaseの内部機能をサポートするデータです。 - 分離モードでのキーストアの移行
分離モードで、ソフトウェア・キーストアと外部キーストア間の移行操作と逆移行操作を実行できます。 - プラガブル・データベースのキーストアの統合
PDBキーストアを統合すると、TDEマスター暗号化キーがPDBキーストアからCDBルートのキーストアに移されます。これにより、CDBルートのキーストアの管理者がキーを管理できるようになります。 - PDBクローズ時のキーストアの作成
閉じているPDBでキーストアを作成すると、新しいキーストアは空になり、PDBが分離モードに変換されます。
6.7.1 分離モードでのキーストア・パスワードの変更
PDBが分離モードの場合に、ソフトウェア・キーストアのパスワードを変更できます。
外部キーストアのパスワードを変更するには、外部キーストアの管理インタフェースを使用する必要があります。ADMINISTER KEY MANAGEMENT
文を使用して、この操作を実行することはできません。
- 分離モードでのパスワード保護ソフトウェア・キーストアのパスワードの変更
分離モードでパスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT
文を使用する必要があります。 - 分離モードでの外部キーストアのパスワードの変更
外部キーストアのパスワードを変更するには、外部キーストアを閉じた後、外部キーストアの管理インタフェースからパスワードを変更する必要があります。
6.7.1.1 分離モードでのパスワード保護されたソフトウェア・キーストアのパスワードの変更
分離モードでパスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT
文を使用する必要があります。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。 -
次の構文を使用して、キーストアのパスワードを変更します。
ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD [FORCE KEYSTORE] IDENTIFIED BY old_password SET new_password [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
FORCE KEYSTORE
は、キーストアが閉じている場合、自動ログイン・キーストアが構成されていて現在開いている場合、またはパスワード保護されたキーストアが構成されていて現在閉じている場合に、パスワード保護されたキーストアをこの操作用に一時的に開きます。 -
old_password
は、変更する現在のキーストア・パスワードです。 -
new_password
は、キーストア用に設定する新しいパスワードです。
次の例では、キーストアのバックアップを作成してから、キーストアのパスワードを変更します。
ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD IDENTIFIED BY old_password SET new_password WITH BACKUP USING 'pwd_change'; keystore altered.
この例では同じ操作を実行しますが、自動ログイン・ソフトウェア・キーストアが使用されている場合や、パスワード保護されたソフトウェア・キーストアが閉じている場合のために、
FORCE KEYSTORE
句を使用します。ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD FORCE KEYSTORE IDENTIFIED BY old_password SET new_password WITH BACKUP USING 'pwd_change'; keystore altered.
-
6.7.1.2 分離モードでの外部キーストアのパスワードの変更
外部キーストアのパスワードを変更するには、外部キーストアを閉じた後、外部キーストアの管理インタフェースからパスワードを変更する必要があります。
親トピック: 分離モードでのキーストア・パスワードの変更
6.7.2 分離モードでのパスワード保護されたソフトウェア・キーストアのバックアップ
ADMINISTER KEY MANAGEMENT
文のBACKUP KEYSTORE
句により、パスワード保護されたソフトウェア・キーストアをバックアップします。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。たとえば:
sqlplus sec_admin@hrpdb as syskm Enter password: password Connected.
SYSDBA
管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOW CON_NAME
コマンドを実行します。 -
次の構文を使用して、キーストアをバックアップします。
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE [USING 'backup_identifier'] [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | software_keystore_password] [TO 'keystore_location'];
ここでは次のように指定します。
-
USING
backup_identifier
は、バックアップを識別するために指定できるオプション文字列です。この識別子は、一重引用符(' '
)で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_
time-stamp
_emp_key_backup.p12
など)。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は、パスワード保護されたキーストアに対してBACKUP KEYSTORE
操作を行う場合に必須です。その理由は、バックアップは既存のキーストアのコピーにすぎませんが、パスワード保護されたキーストアのTDEマスター暗号化キーのステータスをBACKED UP
に設定する必要があり、この変更を行うためにキーストア・パスワードが必要になるためです。 -
keystore_location
は、バックアップ・キーストアが格納されるパスです。PDBロックダウン・プロファイルのEXTERNAL_FILE_ACCESS
設定がPDBでブロックされている場合、またはPDBの作成時にPATH_PREFIX
変数が設定されている場合は、この設定がPDBに制限されます。keystore_location
を指定しない場合、バックアップは元のキーストアと同じディレクトリに作成されます。この場所は一重引用符(' '
)で囲みます。
次の例は、ソフトウェア・キーストアをソース・キーストアと同じ場所にバックアップします。
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'hr.emp_keystore' FORCE KEYSTORE IDENTIFIED BY 'software_keystore_password'; keystore altered.
次に示すバージョンでは、キーストアのパスワードが外部に保管されているため、
EXTERNAL STORE
句が使用されています。ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'hr.emp_keystore' FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE;
この文を実行すると、
ewallet_
identifier
.p12
ファイル(ewallet_
time-stamp
_hr.emp_keystore.p12
など)が、キーストアのバックアップ場所に作成されます。 -
6.7.3 分離モードでのソフトウェア・キーストアのマージ
分離モードで、ソフトウェア・キーストアをマージできます。
- 分離モードでの1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ
分離モードで、MERGE KEYSTORE
句を含むADMINISTER KEY MANAGEMENT
文を使用して、1つのソフトウェア・キーストアを別の既存のソフトウェア・キーストアにマージできます。 - 分離モードでの2つのソフトウェア・キーストアの3番目の新しいキーストアへのマージ
分離モードで、2つのソフトウェア・キーストアを3番目の新しいキーストアにマージして、既存の2つのキーストアを変更せずに、新しいキーストアに両方のソース・キーストアのキーを格納できます。
6.7.3.1 分離モードでの1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ
分離モードで、MERGE KEYSTORE
句を含むADMINISTER KEY MANAGEMENT
文を使用して、1つのソフトウェア・キーストアを別の既存のソフトウェア・キーストアにマージできます。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA
管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOW CON_NAME
コマンドを実行します。 -
次の構文を使用して、ソフトウェア・キーストアをマージします。
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore1_location' [IDENTIFIED BY software_keystore1_password] INTO EXISTING KEYSTORE 'keystore2_location' IDENTIFIED BY software_keystore2_password [WITH BACKUP [USING 'backup_identifier]];
ここでは次のように指定します。
-
keystore1_location
は、マージ後も変更されないまま残される1つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' '
)で囲みます。 -
IDENTIFIED BY
句は、1つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore1_password
は、1つ目のキーストアのパスワードです。 -
keystore2_location
は、1つ目のキーストアがマージされる2つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' '
)で囲みます。 -
software_keystore2_password
は、2つ目のキーストアのパスワードです。
-
ターゲット・キーストア(keystore2
)は、キーストアのマージ操作後もパスワード保護されたキーストアのままになります。
関連項目
親トピック: 分離モードでのソフトウェア・キーストアのマージ
6.7.3.2 分離モードでの2つのソフトウェア・キーストアの3番目の新しいキーストアへのマージ
分離モードで、2つのソフトウェア・キーストアを3番目の新しいキーストアにマージして、既存の2つのキーストアを変更せずに、新しいキーストアに両方のソース・キーストアのキーを格納できます。
関連項目
親トピック: 分離モードでのソフトウェア・キーストアのマージ
6.7.4 分離モードでキーストアを閉じる
システム表領域が暗号化されていないかぎり、分離モードでソフトウェア・キーストアと外部キーストアの両方を閉じることができます。
- 分離モードでソフトウェア・キーストアを閉じる
分離モードで、パスワード保護されたキーストア、自動ログイン・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを閉じることができます。 - 分離モードで外部キーストアを閉じる
外部キーストアを閉じるには、SET KEYSTORE CLOSE
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
6.7.4.1 分離モードでソフトウェア・キーストアを閉じる
分離モードで、パスワード保護されたキーストア、自動ログイン・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを閉じることができます。
関連項目
親トピック: 分離モードでキーストアを閉じる
6.7.4.2 分離モードで外部キーストアを閉じる
外部キーストアを閉じるには、SET KEYSTORE CLOSE
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
IDENTIFIED BY
句でユーザー名を指定することはできません。パスワードは二重引用符で囲みます。
関連項目
親トピック: 分離モードでキーストアを閉じる
6.7.5 分離モードでのユーザー定義のTDEマスター暗号化キーの作成
ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION] KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用します。
6.7.7 分離モードでのTDEマスター暗号化キーのアクティブ化
分離モードでTDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY
句を含むADMINISTER KEY MANAGEMENT
を使用する必要があります。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。 -
V$ENCRYPTION_KEYS
ビューのKEY_ID
列を問い合せて、キーの識別子を確認します。たとえば:
SELECT KEY_ID FROM V$ENCRYPTION_KEYS; KEY_ID ---------------------------------------------------- ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-
このキー識別子を使用して、次の構文を使用してTDEマスター暗号化キーをアクティブ化します。
ADMINISTER KEY MANAGEMENT USE KEY 'key_identifier_from_V$ENCRYPTION_KEYS' [USING TAG 'tag'] [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。
たとえば:
ADMINISTER KEY MANAGEMENT USE KEY 'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' FORCE KEYSTORE IDENTIFIED BY keystore_password WITH BACKUP;
-
6.7.8 分離モードでのTDEマスター暗号化キーのキー更新
SET KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーをキー更新できます。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA
管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOW CON_NAME
コマンドを実行します。 -
自動ログインを有効化したキーストアのTDEマスター暗号化キーをキー更新する場合、
.sso
ファイルによって識別される自動ログイン・キーストアと.p12
ファイルによって識別される暗号化キーストアの両方が存在することを確認する必要があります。これらのファイルのロケーションは、
V$ENCRYPTION_WALLET
ビューのWRL_PARAMETER
列を問い合せることで確認できます。すべてのデータベース・インスタンスのWRL_PARAMETER
値を見つけるには、GV$ENCRYPTION_WALLET
ビューを問い合せます。 -
次の構文を使用して、TDEマスター暗号化キーをキー更新します。
ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY [FORCE KEYSTORE] [USING TAG 'tag_name'] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
tag
は、定義する関連の属性および情報です。この設定は、一重引用符(' '
)で囲みます。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
keystore_password
は、このキーストア用に作成されたパスワードです。
-
たとえば:
ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY keystore_password WITH BACKUP USING 'emp_key_backup'; keystore altered.
-
6.7.9 分離モードでのTDEマスター暗号化キーの新しいキーストアへの移動
分離モードでは、既存のTDEマスター暗号化キーを既存のソフトウェア・パスワード・キーストアから新しいキーストアに移動できます。
関連項目
6.7.10 分離モードでのカスタム属性タグの作成
分離モードでカスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT
文のSET TAG
句を使用する必要があります。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。 -
必要に応じて、
V$ENCRYPTION_KEY
動的ビューのTAG
列を問い合せて、TDEマスター暗号化キーの既存のタグのリストを確認します。TDEマスター暗号化キーの新しいタグを作成すると、そのTDEマスター暗号化キーの既存のタグは上書きされます。
-
次の構文を使用して、カスタム属性タグを作成します。
ADMINISTER KEY MANAGEMENT SET TAG 'tag' FOR 'master_key_identifier' [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
tag
は、定義する関連の属性または情報です。この情報は一重引用符(' '
)で囲みます。 -
master_key_identifier
は、tag
が設定されるTDEマスター暗号化キーを識別します。TDEマスター暗号化キー識別子のリストを確認するには、V$ENCRYPTION_KEYS
動的ビューのKEY_ID
列を問い合せます。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
keystore_password
は、このキーストア用に作成されたパスワードです。 -
backup_identifier
は、タグの値を定義します。この設定は一重引用符(' ')
で囲み、それぞれの値をコロンで区切ります。
-
たとえば、2つの値(1番目は特定のセッションID、2番目は特定の端末IDを取得)を使用するタグを作成するには、次のようにします。
ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY USING TAG 'sessionid=3205062574:terminal=xcvt' IDENTIFIED BY keystore_password WITH BACKUP; keystore altered.
セッションID (
3205062574
)と端末ID (xcvt
)はどちらも、SYS_CONTEXT
関数でUSERENV
ネームスペースを使用するか、USERENV
関数を使用することで、値を導出できます。 -
関連項目
6.7.11 分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート
分離モードでは、様々な方法でTDEマスター暗号化キーをエクスポートおよびインポートできます。
- 分離モードでのTDEマスター暗号化キーのエクスポート
分離モードで、ADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーをエクスポートできます。 - 分離モードでのTDEマスター暗号化キーのインポート
IMPORT [ENCRYPTION] KEYS WITH SECRET
句を含むADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーをインポートできます。
6.7.11.1 分離モードでのTDEマスター暗号化キーのエクスポート
分離モードで、ADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーをエクスポートできます。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。 -
次の構文を使用して、TDEマスター暗号化のキーストアをエクスポートします。
ADMINISTER KEY MANAGEMENT EXPORT [ENCRYPTION] KEYS WITH SECRET "export_secret" TO 'file_path' [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH IDENTIFIER IN 'key_id1', 'key_id2', 'key_idn' | (SQL_query)];
ここでは次のように指定します。
-
export_secret
は、エクスポートするキーが含まれるエクスポート・ファイルを暗号化するために指定できるパスワードです。このシークレットを二重引用符(" "
)で囲むか、シークレットにスペースが使用されていない場合は引用符を省略できます。 -
file_path
は、キーのエクスポート先ファイルの完全パスと名前です。このパスは、一重引用符(' '
)で囲みます。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
key_id1
、key_id2
、key_idn
は、エクスポートするTDEマスター暗号化キーの1つ以上のTDEマスター暗号化キー識別子の文字列です。各キー識別子はカンマで区切り、それぞれのキー識別子を一重引用符(' '
)で囲みます。TDEマスター暗号化キーの識別子を確認するには、V$ENCRYPTION_KEYS
動的ビューのKEY_ID
列を問い合せます。 -
SQL_query
は、TDEマスター暗号化キー識別子のリストをフェッチする問合せです。これによって、通常はTDEマスター暗号化キーの識別子が含まれる1つの列のみが返されます。この問合せは、現在のユーザー権限で実行されます。
-
6.7.11.2 分離モードでのTDEマスター暗号化キーのインポート
IMPORT [ENCRYPTION] KEYS WITH SECRET
句を含むADMINISTER KEY MANAGEMENT
文によって、TDEマスター暗号化キーをインポートできます。
-
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA
管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOW CON_NAME
コマンドを実行します。 -
次のSQL文を実行します。
ADMINISTER KEY MANAGEMENT IMPORT [ENCRYPTION] KEYS WITH SECRET "import_secret" FROM 'file_name' [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
import_secret
は、エクスポート操作時にキーの暗号化に使用されたものと同じパスワードです。このシークレットを二重引用符(" "
)で囲むか、シークレットにスペースが使用されていない場合は引用符を省略できます。 -
file_name
は、キーのインポート元ファイルの完全パスと名前です。この設定は、一重引用符(' '
)で囲みます。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。
-
6.7.12 分離モードでのOracle Databaseシークレットの保管
シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracle Databaseの内部機能をサポートするデータです。
- 分離モードでのソフトウェア・キーストアへのOracle Databaseシークレットの保管
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文を使用して、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。 - 分離モードでの外部キーストアへのOracle Databaseシークレットの保管
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文を使用して、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を実行できます。
6.7.12.1 分離モードでのソフトウェア・キーストアへのOracle Databaseシークレットの保管
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文を使用して、キーストアでのシークレットの追加、シークレットの更新、およびシークレットの削除を行うことができます。
6.7.13 分離モードでのキーストアの移行
分離モードでは、ソフトウェア・キーストアと外部キーストア間の移行操作と逆移行操作を実行できます。
- 分離モードでのパスワード保護されたソフトウェア・キーストアから外部キーストアへの移行
分離モードでは、パスワード保護されたソフトウェア・キーストアから外部キーストアに移行できます。 - 分離モードでの外部キーストアからパスワード保護されたソフトウェア・キーストアへの移行
分離モードでは、外部キーストアからパスワード保護されたソフトウェア・キーストアに移行できます。
6.7.13.1 分離モードでのパスワード保護されたソフトウェア・キーストアから外部キーストアへの移行
分離モードでは、パスワード保護されたソフトウェア・キーストアから外部キーストアに移行できます。
6.7.13.2 分離モードでの外部キーストアからパスワード保護されたソフトウェア・キーストアへの移行
分離モードで、外部キーストアからパスワード保護されたソフトウェア・キーストアに移行できます。
HSM_PASSWORD
クライアント・シークレットを配置する必要があります。たとえば: ADMINISTER KEY MANAGEMENT ADD SECRET 'external_key_manager_password' FOR CLIENT 'EXTERNAL_PASSWORD' TO LOCAL AUTO_LOGIN KEYSTORE software_keystore_location WITH BACKUP;
6.7.14 プラガブル・データベースのキーストアの統合
PDBキーストアを統合すると、TDEマスター暗号化キーがPDBキーストアからCDBルートのキーストアに移されます。これにより、CDBルートのキーストアの管理者がキーを管理できるようになります。
ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE
文を使用できます。
ORA-46694エラー: ウォレットがPDBコンテキストで作成された場合、PDBのキーストア・タイプは分離に変更され、PDBにキーが設定されていないかぎり、ウォレット・ステータスはOPEN_NO_MASTER_KEY
になります。このタイプのPDBをADMINISTER KEY MANAGEMENT UNITE KEYSTORE
文を使用して統合すると、ORA-46694: The keys are already in the root keystore
エラーが発生します。このPDBのKEYSTORE_MODE
をUNITED
に変更するには、PDBのTDE構成を変更する必要があります。PDBで、次の文を実行します。
ALTER SYSTEM RESET TDE_CONFIGURATION;
6.7.15 PDBクローズ時のキーストアの作成
閉じているPDBでキーストアを作成すると、新しいキーストアは空になり、PDBが分離モードに変換されます。
- PDBクローズ時のキーストアの作成について
閉じているPDBでキーストアを作成すると、キー更新操作で誤って問題が発生する可能性がありますが、このキーストアの作成は元に戻すことができます。 - PDBクローズ時のキーストア作成操作を元に戻す
PDBで誤ってキーストアを作成した(それによってPDBが分離モードで構成された)場合は、キーストアの作成操作を元に戻す必要があります。
6.7.15.1 PDBクローズ時のキーストアの作成について
閉じているPDBでキーストアを作成すると、キー更新操作で誤って問題が発生する可能性がありますが、このキーストアの作成は元に戻すことができます。
以前のリリースでは、閉じているPDBでキーストアを作成しようとすると、この操作が中止され、「ORA-65040: プラガブル・データベース内からの操作は許可されていません
」というエラーが表示されていました。Oracle Databaseリリース18c以降では、利便性のために、PDBのキーストアが閉じているときにPDBでADMINISTER KEY MANAGEMENT CREATE KEYSTORE
文を実行しても、Oracle Databaseによってその操作が中止されることはなくなりました。
閉じられたPDBが暗号化を使用するように構成されていない(つまりADMINISTER KEY MANAGEMENT SET KEY
文が実行されたことがない)場合は、ADMINISTER KEY MANAGEMENT CREATE KEYSTORE
を実行して、空のキーストアが作成され、PDBの構成が分離モードに変更されると、この空のキーストア内にTDEマスター暗号化キーを作成できます。
しかし、PDBがすでに暗号化を使用するように構成されている場合は、そのPDBが統一モードで構成されている可能性があります(この場合、そのTDEマスター暗号化キーはCDBルートのキーストア内で管理されています)。
このような場合に、閉じられたPDBで誤ってADMINISTER KEY MANAGEMENT CREATE KEYSTORE
文を実行すると、追加の(空の)キーストアが作成され、PDBが分離モードで構成されます。これを行うと、PDBが(統一モードになっている必要があるが)分離モードに変更される一方で、TDEマスター暗号化キーは引き続きCDBルートのキーストアにあるため、PDBの構成に誤りが生じることになります。この構成上の誤りによって、後からADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY
文を使用してTDEマスター暗号化キーをキー更新しようとした場合に、問題が生じる可能性があります。暗号化がすでに有効化されており、キーが設定されている場合、Oracle DatabaseはADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY
文をキー更新操作として処理するため、この場合は「ORA-28362: マスター・キーが見つかりません
」というエラーが表示されます。キー更新操作を実行するには、Oracle DatabaseがPDBの現在アクティブなTDEマスター暗号化キーを特定する必要があります。しかし、PDBの構成にこのような誤りがあると、PDBが分離モードになっており、必要なキーはCDBルートのキーストア内にあるため、Oracle DatabaseがTDEマスター暗号化キーを特定できません。つまり、PDBのキーストアを検索するようにPDBが構成されることはなく、キー更新操作も失敗します。
PDBのこの構成上の誤りを修正するには、PDBを統一モードに再構成して、空のキーストアを削除する必要があります。(キーストアを削除するときは、必ず事前にバックアップを作成してください。)PDBの構成を統一モードに戻すと、現在アクティブなTDEマスター暗号化キーに対して、キー更新や、TDEマスター暗号化キーを対象としたその他の操作を、再び実行できるようになります。
後からこのPDBを分離モードに構成するには、PDBを開き、ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE
文を実行します。これにより、PDBが分離され、そのTDEマスター暗号化キーと、以前にアクティブであったキー(履歴)が、CDBルートのキーストアから、新しく作成された分離PDBのキーストアに移されます。
親トピック: PDBクローズ時のキーストアの作成
6.7.15.2 PDBクローズ時のキーストア作成操作を元に戻す
PDBで誤ってキーストアを作成した(それによってPDBが分離モードで構成された)場合は、キーストアの作成操作を元に戻す必要があります。
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限が付与されたユーザーとして、分離モードのPDBにログインします。V$ENCRYPTION_WALLET
動的ビューのKEYSTORE_MODE
列を問い合せて、PDBのモードを確認します。V$ENCRYPTION_WALLET
の出力がISOLATED
である場合は、ALTER SYSTEM
文を実行して、PDBを統一モードに再構成します。- pfileが使用されている場合は、次の文を使用して、
TDE_CONFIGURATION
パラメータをクリアします。ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=MEMORY;
Oracle Real Application Clusters環境では、次のように、
SID
パラメータを指定します。ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=MEMORY SID='*';
- spfileが使用されている場合は、次の文を使用して、
TDE_CONFIGURATION
パラメータをクリアします。ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=BOTH;
Oracle Real Application Clusters環境では、次のように、
SID
パラメータを指定します。ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=BOTH SID='*';
- pfileが使用されている場合は、次の文を使用して、
WALLET_ROOT/PDB_GUID/tde
ディレクトリで、誤って作成されたewallet.p12
キーストア・ファイルを見つけてバックアップします。- 誤って作成された空のキーストア・ファイルを削除します。
親トピック: PDBクローズ時のキーストアの作成
6.8 分離モードでの透過的データ暗号化の管理
分離モードでは、透過的データ暗号化に対する一般的な管理タスクをいくつか実行できます。
- 分離モードでの1つのCDBから別のCDBへのPDBの移動
分離モードで、PDBを1つのCDBから別のCDBに自動的に移動できます(ロード・バランシングや新機能の追加を行う場合など)。 - 分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン
分離モードで、暗号化データを含むPDBをCDBにプラグインできます。反対に、このPDBをCDBからアンプラグすることもできます。 - 分離モードでの暗号化データを含むPDBのCDBへのクローニング
KEYSTORE IDENTIFIED BY
句を含むCREATE PLUGGABLE DATABASE
文によって、暗号化データを含むPDBをクローニングできます。 - 分離モードで、暗号化されたデータを含むPDBのリモート・クローニングを2つのCDB間で実行する
KEYSTORE IDENTIFIED BY
句を含むCREATE PLUGGABLE DATABASE
文は、暗号化されたデータを含むPDBをリモートからクローニングできます。 - 分離モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置する
KEYSTORE IDENTIFIED BY
句を含むCREATE PLUGGABLE DATABASE文
は、暗号化されたデータを含むクローニングされたPDBをCDB間で再配置できます。 - 分離モードでのキーストアの開閉操作の機能
分離モードでのキーストアの開閉操作がどのように機能するかを知っておく必要があります。 - 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート
分離モードで、ADMINISTER KEY MANAGEMENT EXPORT
のEXPORT
句およびIMPORT
句を使用して、PDBのマスター暗号化キーをエクスポートまたはインポートできます。
6.8.1 分離モードでの1つのCDBから別のCDBへのPDBの移動
分離モードで、PDBを1つのCDBから別のCDBに自動的に移動できます(ロード・バランシングや新機能の追加を行う場合など)。
ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE
動的システム・パラメータをTRUE
に設定して、PDBがPDB移動操作にTDEキーを含めるようにすることができます。このパラメータにより、PDBが別のCDBに移された後、TDEキーをPDBにインポートするときに、キーストア・パスワードを手動で指定する必要がなくなります。ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE
がTRUE
に設定されている場合、データベースではメモリーにキーストア・パスワードをキャッシュし、システム・レベルで不明瞭化し、インポート操作のために使用します。ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE
のデフォルトはFALSE
です。
親トピック: 分離モードでの透過的データ暗号化の管理
6.8.2 分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン
分離モードで、暗号化データを含むPDBをCDBにプラグインできます。反対に、このPDBをCDBからアンプラグすることもできます。
- 分離モードでの暗号化データを含むPDBのアンプラグ
(暗号化データを含む)PDBを、あるCDBからアンプラグし、必要に応じて別のCDBにプラグインできます。 - 分離モードでの暗号化データを含むPDBのCDBへのプラグイン
暗号化データを含むPDBをCDBにプラグインすると、そのPDB内で暗号化キーを設定できます。 - 分離モードで外部キーストアにマスター暗号化キーが格納されたPDBのアンプラグ
外部キーストアを使用するように構成されたCDBからPDBをアンプラグした後、外部キーストアを使用するように構成された別のCDBにプラグインできます。 - 分離モードで外部キーストアにマスター暗号化キーが格納されたPDBのプラグイン
ADMINISTER KEY MANAGEMENT
文を使用すると、外部キーストアのマスター暗号化キーを、別のCDBに移されたPDBにインポートできます。
親トピック: 分離モードでの透過的データ暗号化の管理
6.8.2.1 分離モードでの暗号化データを含むPDBのアンプラグ
(暗号化データを含む)PDBを、あるCDBからアンプラグし、必要に応じて別のCDBにプラグインできます。
ALTER PLUGGABLE DATABASE
文でENCRYPT
句を指定する必要はありません。アンプラグされるデータベースには、データ・ファイルおよび他の関連ファイルが含まれています。各PDBには独自の一意のキーストアがあるため、アンプラグするPDBのTDEマスター暗号化キーをエクスポートする必要はありません。PDBがすでにアンプラグされているかどうかを確認するには、DBA_PDBS
データ・ディクショナリ・ビューのSTATUS
列を問い合せます。
6.8.2.2 分離モードでの暗号化データを含むPDBのCDBへのプラグイン
暗号化データを含むPDBをCDBにプラグインすると、そのPDB内で暗号化キーを設定できます。
CREATE PLUGGABLE DATABASE
文でDECRYPT
句を指定する必要はありません。アンプラグされたPDBを別のCDBにプラグインする際、この操作は以前のキーの履歴を無効にするため、キー・バージョンは0
に設定されます。キー・バージョンは、V$ENCRYPTED_TABLESPACES
動的ビューのKEY_VERSION
を問い合せて確認できます。同様に、制御ファイルが失われ再作成された場合、以前のキーの履歴は0
にリセットされます。PDBがすでにプラグインされているかどうかを確認するには、DBA_PDBS
データ・ディクショナリ・ビューのSTATUS
列を問い合せます。
-
アンプラグされたPDBをCDBにプラグインして、PDBを作成します。
-
たとえば、PDBデータをメタデータXMLファイルにエクスポートした場合は、次のように指定します。
CREATE PLUGGABLE DATABASE CDB1_PDB2 USING '/tmp/cdb1_pdb2.xml' NOCOPY KEYSTORE IDENTIFIED BY password;
-
PDBをアーカイブ・ファイルにエクスポートした場合は、次のように指定します。
CREATE PLUGGABLE DATABASE CDB1_PDB2 USING '/tmp/cdb1_pdb2.pdb';
プラグ操作後のPDBのオープン操作中に、Oracle DatabaseによってPDBに暗号化データが含まれるかどうかが判別されます。その場合、PDBは
RESTRICTED
モードでオープンされます。V$ENCRYPTION_KEYS
動的ビューを問い合せることで、ソース・データベースに暗号化データがあるかどうかや、キーストアにTDEマスター暗号化キーが設定されているかどうかを確認できます。 -
-
PDBを開きます。
たとえば:
ALTER PLUGGABLE DATABASE CDB1_PDB2 OPEN;
-
CDBルートのキーストアを開きます。
たとえば:
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY password;
必要に応じて、PDB内のキーストアを開きます。
-
PDBでキーストアを開き、PDBのTDEマスター暗号化キーを設定します。
たとえば:
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY keystore_password WITH BACKUP USING 'emp_key_backup';
6.8.2.3 分離モードでの外部キーストアにマスター暗号化キーが格納されたPDBのアンプラグ
外部キーストアを使用するように構成されたCDBからPDBをアンプラグした後、それを同様に外部キーストアを使用するように構成された別のCDBにプラグインできます。
6.8.3 分離モードでの暗号化データを含むPDBのCDBへのクローニング
KEYSTORE IDENTIFIED BY
句を含むCREATE PLUGGABLE DATABASE
文によって、暗号化データを含むPDBをクローニングできます。
6.8.4 分離モードで、暗号化されたデータを含むPDBのリモート・クローニングを2つのCDB間で実行する
KEYSTORE IDENTIFIED BY
句を含むCREATE PLUGGABLE DATABASE
文によって、暗号化データを含むPDBをリモートからクローニングできます。
6.8.5 分離モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置する
KEYSTORE IDENTIFIED BY
句を含むCREATE PLUGGABLE DATABASE
文によって、暗号化データを含むクローニングされたPDBをCDB間で再配置できます。
6.8.6 分離モードでのキーストアの開閉操作の機能
分離モードでキーストアの開閉操作がどのように機能するかを知っておく必要があります。
分離モードの各PDBに関して、透過的データ暗号化の操作が続行できるように、PDBでパスワード保護されたソフトウェア・キーストアまたは外部キーストアを明示的に開く必要があります。(自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアは自動的に開きます。)PDBのキーストアを閉じることによって、PDBのすべての透過的データ暗号化操作がブロックされます。
PDBにおけるキーストアの開閉操作は、PDBにおけるキーストアの開閉状態によって異なります。
次の点に注意してください。
-
マルチテナント環境では、各PDBについて個別のキーストア・パスワードを作成できます。
-
個々のPDBでソフトウェア・パスワード保護されたキーストアまたは外部キーストアを手動で開く前に、CDBルートでキーストアを開く必要があります。
-
自動ログイン・キーストアが使用されているか、キーストアが閉じている場合は、キーストアを開くまたは閉じるときに、
ADMINISTER KEY MANAGEMENT
文にFORCE KEYSTORE
句を含めます。 -
キーストアがパスワード用に外部ストアを使用するパスワード保護されたソフトウェア・キーストアである場合は、
IDENTIFIED BY
句をEXTERNAL STORE
に設定します。 -
個々のPDBでTDEマスター暗号化キーを設定するには、事前にCDBルートでキーを設定する必要があります。
-
(自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアは自動的に開きます。)これらを最初にrootからまたはPDBから、手動で開く必要はありません。
-
分離モードで構成されたPDBがあり、そのキーストアが開いている場合は、CDBルート内のキーストアを閉じようとすると、「
ORA-46692 ウォレットをクローズできません
」というエラーが発生して失敗します。この動作をオーバーライドするには、ADMINISTER KEY MANAGEMENT
文でFORCE CLOSE
句を使用します。 -
CDBルートで
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
文を実行し、CONTAINER
句をALL
に設定すると、統一モードで構成されている各PDBでのみキーストアが開かれ、分離モードで構成されているPDBのキーストアは開かれません。
親トピック: 分離モードでの透過的データ暗号化の管理
6.8.7 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート
分離モードでは、ADMINISTER KEY MANAGEMENT EXPORT
のEXPORT
句およびIMPORT
句を使用して、PDBのマスター暗号化キーをエクスポートまたはインポートできます。
- 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポートについて
分離モードでは、CDB以外のデータベースでこのキーをエクスポートおよびインポートする場合と同じ方法で、CDBルートからマスター暗号化キーをエクスポートおよびインポートできます。 - 分離モードでのPDBのマスター暗号化キーのエクスポートまたはインポート
分離モードでは、ADMINISTER KEY MANAGEMENT
文を使用して、PDBのマスター暗号化キーをエクスポートまたはインポートできます。 - 例: 分離モードでのPDBからのマスター暗号化キーのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
文によって、PDBのマスター暗号化キーをエクスポートできます。 - 例: 分離モードでのPDBへのマスター暗号化キーのインポート
ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS
文によって、PDBにマスター暗号化キーをインポートできます。
親トピック: 分離モードでの透過的データ暗号化の管理
6.8.7.1 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポートについて
分離モードでは、CDB以外のデータベースでこのキーをエクスポートおよびインポートする場合と同じ方法で、CDBルートからマスター暗号化キーをエクスポートおよびインポートできます。
また、PDB内からマスター暗号化キーをエクスポートおよびインポートすることで、PDBに属するすべてのマスター暗号化キーをエクスポートおよびインポートできます。PDBでのマスター暗号化キーのエクスポート操作およびインポート操作では、PDBのアンプラグおよびプラグイン操作がサポートされます。PDBのアンプラグ操作およびプラグイン操作では、PDBに属するすべてのマスター暗号化キー、およびメタデータが対象になります。したがって、PDB内からキーをエクスポートする場合、ADMINISTER KEY MANAGEMENT EXPORT
文のWITH IDENTIFIER
句は許可されません。WITH IDENTIFIER
句は、CDBルートでのみ使用できます。
CDBルートに自動ログイン・キーストアがある場合、またはキーストアが閉じている場合は、FORCE KEYSTORE
句を含める必要があります。キーストアがパスワードに外部ストアを使用するように構成されている場合、IDENTIFIED BY EXTERNAL STORE
句を使用します。たとえば、このシナリオにおいてエクスポート操作を実行するには、次のようにします。
ADMINISTER KEY MANAGEMENT EXPORT KEYS WITH SECRET "my_secret" TO '/etc/TDE/export.exp' FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE;
このADMINISTER KEY MANAGEMENT EXPORT
操作では、キーがエクスポートされるだけでなく、PDB環境(およびクローニング操作)に必要なメタデータも作成されます。
PDBの内部では、マスター暗号化キーのエクスポート操作によって、キーがエクスポートされるPDBと同じGUIDを持つPDBにより作成またはアクティブ化されたキーがエクスポートされます。基本的に、エクスポートが実行されるPDBに属しているすべてのキーがエクスポートされます。
PDB内のエクスポート・ファイルからマスター暗号化キーがインポートされるのは、そのマスター暗号化キーが同じGUIDを持つ別のPDBからエクスポートされている場合のみです。CDBへのPDBのプラグインをサポートするため、インポートでは、WITH IDENTIFIER
句なしでエクスポートされたCDB以外のマスター暗号化キーを含むエクスポート・ファイルからもマスター暗号化キーがインポートされます。PDB名やデータベースIDなどのPDB固有の詳細は、CDBごとに変化する可能性があるため、PDB固有の情報は、更新されたPDB情報を反映するようにインポート時に変更されます。
ノート:
PDB内では、PDB全体のキーのみエクスポートできます。問合せまたは識別子に基づいた選択的なエクスポート機能はrootに制限されています。
6.8.7.2 分離モードでのPDBのマスター暗号化キーのエクスポートまたはインポート
分離モードでは、ADMINISTER KEY MANAGEMENT
文によって、PDBのマスター暗号化キーをエクスポートまたはインポートできます。
-
分離モードのPDBに、
ADMINISTER KEY MANAGEMENT
権限またはSYSKM
権限を付与されたユーザーとしてログインします。 -
エクスポートまたはインポート操作を実行します。
たとえば:
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "hr_secret" TO '/tmp/export.p12' FORCE KEYSTORE IDENTIFIED BY password;
この操作を行うにはキーストアが開いている必要があるため、
FORCE KEYSTORE
句が含まれていることを確認してください。
6.8.7.3 例: 分離モードでのPDBからのマスター暗号化キーのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
文によって、PDBのマスター暗号化キーをエクスポートできます。
例6-1は、PDB hrpdb
からマスター暗号化キーをエクスポートする方法を示しています。この例では、自動ログイン・キーストアが使用されているか、キーストアが閉じている場合のために、FORCE KEYSTORE
句が含められています。
例6-1 PDBからマスター暗号化キーをエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
WITH SECRET "my_secret" TO '/tmp/export.p12'
FORCE KEYSTORE
IDENTIFIED BY password;
6.8.7.4 例: 分離モードでのPDBへのマスター暗号化キーのインポート
ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS
文によって、PDBにマスター暗号化キーをインポートできます。
例6-2は、PDB hrpdb
にマスター暗号化キーをインポートする方法を示しています。
例6-2 PDBにマスター暗号化キーをインポート
ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS
WITH SECRET "my_secret"
FROM '/tmp/export.p12'
FORCE KEYSTORE
IDENTIFIED BY password
WITH BACKUP;