4 キーストアおよびマスター暗号化キーの管理
キーストアおよびTDEマスター暗号化キーの設定を変更して、Oracle Databaseを格納し、Oracle GoldenGateのシークレットをキーストアに格納できます。
- キーストアの管理
キーストアでは、パスワードの変更、キーストアのバックアップ、キーストアのマージ、キーストアの移動などのメンテナンス作業を実行できます。 - TDEマスター暗号化キーの管理
TDEマスター暗号化キーは、いくつかの方法で管理できます。 - Oracle Databaseのシークレットの格納
シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracle Databaseの内部機能をサポートするデータです。 - キーストアへのOracle GoldenGateのシークレットの格納
Oracle GoldenGateのシークレットを透過的データ暗号化キーストアに格納できます。
親トピック: 透過的データ暗号化の使用
4.1 キーストアの管理
キーストアでは、パスワードの変更、キーストアのバックアップ、キーストアのマージ、キーストアの移動などのメンテナンス作業を実行できます。
- キーストア・パスワードを必要とする操作の実行
多くのADMINISTER KEY MANAGEMENT
操作では、ソフトウェア・キーストアおよび外部キーストアの両方において、キーストア・パスワードへのアクセスが必要になります。 - ソフトウェア・キーストアのパスワードの変更
Oracle Databaseでは、パスワード保護されたソフトウェア・キーストアのパスワードを簡単に変更できます。 - Oracle Key Vaultパスワードの変更
Oracle Key Vaultのパスワードを変更するには、データベース・ホスト上のOracle Key Vaultエンドポイント・ソフトウェアの一部であるokvutil
を使用します。 - キーストア・パスワードのための外部ストアの構成
キーストア・パスワードの外部ストアでは、集中的にアクセスおよび管理できる場所にキーストア・パスワードが格納されます。 - パスワード保護されたソフトウェア・キーストアのバックアップ
パスワード保護されたソフトウェア・キーストアをバックアップする際、バックアップのタイプを説明するバックアップの識別子文字列を作成できます。 - V$ENCRYPTION_WALLETビューによるバックアップ操作の解釈方法
V$ENCRYPTION_WALLET
ビューのBACKUP
列では、キーストアのコピーがどのように作成されたかが示されます。 - 外部キーストアのバックアップ
Oracle Databaseを使用して外部キーストアをバックアップすることはできません。 - ソフトウェア・キーストアのマージ
ソフトウェア・キーストアは、様々な方法でマージできます。 - 新しい場所へのソフトウェア・キーストアの移動
WALLET_ROOT
パラメータを更新した後で、新しい場所にソフトウェア・キーストアを移動します。 - 自動ストレージ管理からのソフトウェア・キーストアの移動
ADMINISTER KEY MANAGEMENT
文を使用して、自動ストレージ管理からソフトウェア・キーストアを移動できます。 - ソフトウェア・パスワード・キーストアと外部キーストアの間の移行
パスワード保護されたソフトウェア・キーストアと外部キーストアとの間で移行できます。 - キーストアとOracle Key Vault間の移行
Oracle Key Vaultを使用して、ソフトウェア・キーストアおよび外部キーストアをOracle Key Vaultとの間で移行できます。 - キーストアを閉じる
ソフトウェア・キーストアおよび外部キーストアは手動で閉じることができます。 - ASMボリュームに存在するソフトウェア・キーストアの使用
自動ストレージ管理(ASM)ディスク・グループにソフトウェア・キーストアを格納できます。 - 暗号化されたデータのバックアップおよびリカバリ
ソフトウェア・キーストアの場合、TDEマスター暗号化キーがないと暗号化されたデータにアクセスできません。 - キーストアを削除することの危険性
キーストアを削除しないようにすることをお薦めします。 - キーストアの削除によって影響を受ける機能
一部の機能は、キーストアの削除後にそのキーストアに存在するTDEマスター暗号化キーが必要になった場合には、問題が発生する可能性があります。
親トピック: キーストアおよびマスター 暗号化キーの管理
4.1.1 キーストア・パスワードを必要とする操作の実行
多くのADMINISTER KEY MANAGEMENT
操作では、ソフトウェア・キーストアおよび外部キーストアの両方において、キーストア・パスワードへのアクセスが必要になります。
一部のケースでは、操作が成功するまで、ソフトウェア・キーストアは自動ログイン・キーストアに依存しています。自動ログイン・キーストアは、構成されキーが必要とされるときに、自動的に開きます。これらは一般的に、キーストアが閉じている可能性があるのに、データベース操作でキーが必要な場合(たとえば、データベースの起動後など)の操作に必要になります。自動ログイン・キーストアは自動的に開くため、手動操作なしでキーを取得してデータベース操作を実行できます。ただし、キーストア・パスワードを必要とする一部のキーストア操作は、自動ログイン・キーストアが開いているときに実行できません。パスワードを必要とするキーストア操作では、自動ログイン・キーストアは閉じ、パスワード保護されたキーストアは開いている必要があります。
マルチテナント環境では、キーストアを再度開くと他のPDBに影響が及びます。たとえば、ルートにある自動ログイン・キーストアは、このルートのCDBのPDBによってアクセス可能である必要があります。
キーストア・パスワードのローテーション、暗号化キーの作成、使用、キー更新、タグ付け、インポート、エクスポート、移行または逆移行、キーストアのオープンまたはバックアップ、シークレット・キーストアの追加、更新または削除の操作を実行する際に、ADMINISTER KEY MANAGEMENT
文にFORCE KEYSTORE
句を含めて、一時的にキーストアを開くことができます。マルチテナント環境において、ルートに開いているキーストアがない場合、FORCE KEYSTORE
によりルートのパスワード保護されたキーストアが開きます。
親トピック: キーストアの管理
4.1.2 ソフトウェア・キーストアのパスワードの変更
Oracle Databaseでは、パスワード保護されたソフトウェア・キーストアのパスワードを簡単に変更できます。
- パスワード保護されたソフトウェア・キーストアのパスワードの変更について
パスワード保護されたソフトウェア・キーストアのパスワードのみを変更できます。 - パスワード保護されたソフトウェア・キーストアのパスワードの変更
パスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT
文を使用する必要があります。
親トピック: キーストアの管理
4.1.2.1 パスワード保護されたソフトウェア・キーストアのパスワードの変更について
パスワード保護されたソフトウェア・キーストアのパスワードのみを変更できます。
このパスワードは、サイトのセキュリティ・ポリシーやコンプライアンス・ガイドライン、およびその他のセキュリティ要件に従って、いつでも変更できます。パスワードを変更するコマンドの一部として、WITH BACKUP
句を指定する必要があるため、常に現在のキーストアのバックアップが作成されます。パスワードの変更操作中、暗号化や復号化などの透過的データ暗号化操作は正常に動作し続けます。
このパスワードはいつでも変更できます。このパスワードは、安全性が損なわれた可能性があると思われる場合には変更することをお薦めします。
親トピック: ソフトウェア・キーストアのパスワードの変更
4.1.2.2 パスワード保護されたソフトウェア・キーストアのパスワードの変更
パスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT
文を使用する必要があります。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
次の構文を使用して、パスワード保護されたソフトウェア・キーストアのパスワードを変更します。
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
は、キーストア用に設定する新しいパスワードです。 -
WITH BACKUP
は、パスワードを変更する前に、現在のキーストアのバックアップを作成します。この句を含める必要があります。 -
backup_identifier
は、作成されるバックアップのオプション識別子文字列を指定します。backup_identifier
は、バックアップ・ファイルの名前に追加されます。backup_identifier
は、一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_
time_stamp
_emp_key_pwd_change.p12
など)。
次の例は、現在のキーストアをバックアップしてから、キーストアのパスワードを変更します。
ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD FORCE KEYSTORE IDENTIFIED BY old_password SET new_password WITH BACKUP USING 'pwd_change'; keystore altered.
-
親トピック: ソフトウェア・キーストアのパスワードの変更
4.1.3 Oracle Key Vaultパスワードの変更
Oracle Key Vaultのパスワードを変更するには、データベース・ホスト上のOracle Key Vaultエンドポイント・ソフトウェアの一部であるokvutil
を使用します。
関連項目
親トピック: キーストアの管理
4.1.4 キーストア・パスワードのための外部ストアの構成
キーストア・パスワードの外部ストアでは、集中的にアクセスおよび管理できる場所にキーストア・パスワードが格納されます。
- キーストア・パスワードのための外部ストアの構成について
キーストア・パスワードの外部ストアでは、集中的にアクセスおよび管理できる場所にキーストア・パスワードが格納されます。 - WALLET_ROOTを使用した外部キーストア・パスワード・ストアの構成
WALLET_ROOT
パラメータを使用してTDEを構成すると、外部キーストア・パスワード・ストアはWALLET_ROOT/tde_seps
ディレクトリで自動検出されます。 - 構成後のEXTERNAL STORE句を使用する状況
キーストア・パスワードの外部ストアを構成した後、ADMINISTER KEY MANAGEMENT
文でEXTERNAL_STORE
句を使用できます。
親トピック: キーストアの管理
4.1.4.1 キーストア・パスワードのための外部ストアの構成について
キーストア・パスワードの外部ストアでは、集中的にアクセスおよび管理できる場所にキーストア・パスワードが格納されます。
TDEパスワードの外部ストアは、キーストア・パスワード・ウォレット、Oracle Key Vault、またはOracle Cloud Infrastructure (OCI)キー管理サービス(KMS)をデータベース管理者に非表示にする場合に便利です。これはまた、パスワードを必要とする透過的データ暗号化操作を実行するために自動化ツールを使用する状況において、自動化ツールを実行するスクリプトにハードコード化されたパスワードが含まれているときにも役立ちます。スクリプト内でのパスワードのハードコード化を回避するために、データベース・サーバーの外部ストアにこのパスワードを格納できます。マルチテナント環境では、様々なPDBで外部ストアを使用できます。
親トピック: キーストア・パスワードのための外部ストアの構成
4.1.4.2 WALLET_ROOTを使用した外部キーストア・パスワード・ストアの構成
WALLET_ROOT
パラメータを使用してTDEを構成すると、外部キーストア・パスワード・ストアはWALLET_ROOT/tde_seps
ディレクトリで自動検出されます。
親トピック: キーストア・パスワードのための外部ストアの構成
4.1.4.3 構成後のEXTERNAL STORE句を使用する状況
キーストア・のパスワードに外部ストアを構成した後、ADMINISTER KEY MANAGEMENT
文でEXTERNAL_STORE
句を使用できます。
キーストアのオープン、クローズ、バックアップ、シークレット・キーストアの追加、更新または削除、暗号化キーの作成、使用、キー更新、タグ付け、インポート、エクスポートに対してADMINISTER KEY MANAGEMENT
文でEXTERNAL STORE
句を使用する必要があります。
たとえば:
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY EXTERNAL STORE;
ADMINISTER KEY MANAGEMENT UPDATE CLIENT SECRET
文またはADMINISTER KEY MANAGEMENT DELETE CLIENT SECRET
文を使用して、外部キーストア・パスワードを変更または削除できます。
親トピック: キーストア・パスワードのための外部ストアの構成
4.1.5 パスワード保護されたソフトウェア・キーストアのバックアップ
パスワード保護されたソフトウェア・キーストアをバックアップする際、バックアップのタイプを説明するバックアップの識別子文字列を作成できます。
- パスワード保護されたソフトウェア・キーストアのバックアップについて
サイトのセキュリティ・ポリシーや要件に従って、パスワード保護されたソフトウェア・キーストアをバックアップする必要があります。 - バックアップ・キーストアのバックアップ識別子文字列の作成
ソフトウェア・パスワード・キーストアのバックアップ・ファイル名は、パスワード保護されたソフトウェア・キーストアの名前から導出されます。 - パスワード保護されたソフトウェア・キーストアのバックアップ
ADMINISTER KEY MANAGEMENT
文のBACKUP KEYSTORE
句により、パスワード保護されたソフトウェア・キーストアをバックアップします。
親トピック: キーストアの管理
4.1.5.1 パスワード保護されたソフトウェア・キーストアのバックアップについて
サイトのセキュリティ・ポリシーや要件に従って、パスワード保護されたソフトウェア・キーストアをバックアップする必要があります。
キーストアのバックアップには、元のキーストアに格納されているすべてのキーが含まれます。Oracle Databaseでは、バックアップ・キーストアに作成時のタイムスタンプ(UTC)の接頭辞が付けられます。識別子文字列を指定すると、その文字列がタイムスタンプとキーストア名の間に挿入されます。
バックアップ操作が完了すると、元のキーストアのキーは「backed up」とマークされます。キーのステータスは、V$ENCRYPTION_WALLET
データ・ディクショナリ・ビューを問い合せて確認できます。
自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアはバックアップできません。ADMINISTER KEY MANAGEMENT
文での操作を使用して、新しいキーを直接それらに追加することはできません。これらのキーストア内の情報は読み取られるのみのため、バックアップは不要です。
ウォレットを変更する(ウォレット・パスワードの変更やマスター暗号化キーの設定など)ADMINISTER KEY MANAGEMENT
文には、WITH BACKUP
句を含める必要があります。
4.1.5.2 バックアップ・キーストアのバックアップ識別子文字列の作成
ソフトウェア・パスワード・キーストアのバックアップ・ファイル名は、パスワード保護されたソフトウェア・キーストアの名前から導出されます。
4.1.6 V$ENCRYPTION_WALLETビューによるバックアップ操作の解釈方法
V$ENCRYPTION_WALLET
ビューのBACKUP
列では、キーストアのコピーがどのように作成されたかが示されます。
この列では、ADMINISTER KEY MANAGEMENT
文またはADMINISTER KEY MANAGEMENT BACKUP KEYSTORE
文のWITH BACKUP
句でキーストアのコピーが作成されているかどうかが示されます。
キーまたはシークレットを変更した場合、コピーが作成されてからキー自体が変更されるため、行う変更は前にバックアップされたコピーには反映されません。前のキーストアには変更のコピーが存在しないため、以前にBACKUP
がYES
に設定されていた場合でも、BACKUP
列はNO
に設定されます。したがって、BACKUP
列がYES
の場合、カスタム属性タグの追加といったバックアップを必要とする操作を実行すると、BACKUP
列の値はNO
に変更されます。
親トピック: キーストアの管理
4.1.7 外部キーストアのバックアップ
Oracle Databaseを使用して外部キーストアをバックアップすることはできません。
Oracle Key VaultへのTDEウォレットのアップロードは、ウォレットをバックアップし、必要が生じた場合にすぐに利用できるようにする方法の1つです(たとえば、ウォレットを誤って削除した場合やファイルが破損した場合)。データベースがOracle Key Vaultによるオンライン・キー管理に移行されていない場合、ウォレットがOracle Key Vaultにアップロードされている場合でも、TDEウォレットに依存し続けます。
Oracle Key Vaultのokvutil upload
およびokvutil download
コマンドを使用して、Oracle Key Vaultとの間でTDEウォレットをアップロードおよびダウンロードできます。
たとえば、TDEウォレットをOracle Key Vaultにアップロードする方法は次のとおりです。
$ okvutil upload -l "/etc/oracle/wallets" -t wallet -g "HRWallet"
Enter wallet password (<enter> for auto-login): password
Enter Oracle Key Vault endpoint password: Key_Vault_endpoint_password
次の例は、Oracle Key VaultからTDEウォレットをダウンロードする方法を示しています。
$ okvutil download -l "/etc/oracle/wallets/orcl/" -t WALLET -g HRWallet
Enter new wallet password(<enter> for auto-login): Oracle_wallet_password
Confirm new wallet password: Oracle_wallet_password
Enter Oracle Key Vault endpoint password: Key_Vault_endpoint_password
親トピック: キーストアの管理
4.1.8 ソフトウェア・キーストアのマージ
ソフトウェア・キーストアは、様々な方法でマージできます。
- ソフトウェア・キーストアのマージについて
ソフトウェア・キーストアの任意の組合せをマージできますが、マージ後のキーストアはパスワード保護される必要があります。構成キーストアとは異なるパスワードを指定できます。 - 1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ
MERGE KEYSTORE
句を含むADMINISTER KEY MANAGEMENT
文を使用して、1つのソフトウェア・キーストアを他の既存のソフトウェア・キーストアにマージできます。 - 2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ
2つのソフトウェア・キーストアを3つ目の新しいキーストアにマージできます。既存の2つのソース・キーストアは変更されません。 - 自動ログイン・ソフトウェア・キーストアの既存のパスワード保護されたソフトウェア・キーストアへのマージ
自動ログイン・ソフトウェア・キーストアを既存のパスワード保護されたフトウェア・キーストアにマージできます。 - ソフトウェア・キーストア・マージ操作の取消し
キーストア・マージ操作を直接取り消すことはできません。
親トピック: キーストアの管理
4.1.8.1 ソフトウェア・キーストアのマージについて
ソフトウェア・キーストアの任意の組合せをマージできますが、マージ後のキーストアはパスワード保護される必要があります。構成キーストアとは異なるパスワードを指定できます。
マージしたキーストアを使用するには、マージ前にいずれかの構成キーストアがすでに開いていた場合でも、マージしたキーストアを作成後に明示的に開く必要があります。
2つのソース・キーストアの共通キーが、マージしたキーストアに追加されるか上書きされるかは、ADMINISTER KEY MANAGEMENT
マージ文の記述方法に応じて異なります。たとえば、キーストア1とキーストア2をマージしてキーストア3を作成する場合、キーストア1のキーはキーストア3に追加されます。キーストア1をキーストア2にマージする場合、キーストア2の共通キーは上書きされません。
ADMINISTER KEY MANAGEMENT
マージ文は、使用中の構成済キーストアには影響しません。ただし、必要に応じて、マージしたキーストアを新しい構成済データベース・キーストアとして使用できます。WALLET_ROOT
パラメータによって構成された場所にあるデータベースのキーストアとして新しく作成したキーストアを使用する場合、キーストアを再度開く必要があることに注意してください。
4.1.8.2 1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ
MERGE KEYSTORE
句を含むADMINISTER KEY MANAGEMENT
文を使用して、1つのソフトウェア・キーストアを他の既存のソフトウェア・キーストアにマージできます。
-
このタイプのマージを実行するには、2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージのステップに従いますが、次のSQL文を使用してください。
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つ目のキーストアのパスワードです。 -
WITH BACKUP
を使用すると、ソフトウェア・キーストアのバックアップが作成されます。オプションでUSING
句を使用し、バックアップの簡単な説明を追加できます。この説明は一重引用符(' ')で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backup
がバックアップ識別子になっているewallet_
time-stamp
_emp_key_backup
.p12
)。オペレーティング・システムで使用されているファイル命名規則に従ってください。
-
マージ操作で生成されるキーストアは、常にパスワード保護されたキーストアです。
親トピック: ソフトウェア・キーストアのマージ
4.1.8.3 2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ
2つのソフトウェア・キーストアを3つ目の新しいキーストアへとマージできます。既存の2つのソース・キーストアは変更されません。
親トピック: ソフトウェア・キーストアのマージ
4.1.8.4 自動ログイン・ソフトウェア・キーストアの既存のパスワード保護されたソフトウェア・キーストアへのマージ
自動ログイン・ソフトウェア・キーストアを既存のパスワード保護されたソフトウェア・キーストアにマージできます。
-
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE
SQL文を使用して、自動ログイン・ソフトウェア・キーストアを既存のパスワード保護されたソフトウェア・キーストアにマージします。
例4-1に、自動ログイン・ソフトウェア・キーストアをパスワード保護されたソフトウェア・キーストアにマージする方法を示します。また、マージするキーストアを作成する前に、2つ目のキーストアのバックアップを作成します。
例4-1 自動ログイン・ソフトウェア・キーストアからパスワード・キーストアへのマージ
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '/etc/ORACLE/KEYSTORE/DB1'
INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'
IDENTIFIED BY keystore_password WITH BACKUP;
ここでは次のように指定します。
-
MERGE KEYSTORE
は、自動ログイン・キーストアを指定する必要があります。 -
EXISTING KEYSTORE
は、パスワードのキーストアを表します。
親トピック: ソフトウェア・キーストアのマージ
4.1.8.5 ソフトウェア・キーストア・マージ操作の取消し
キーストア・マージ操作を直接取り消すことはできません。
キーストアを(新規作成するのではなく)既存のキーストアにマージする場合、ADMINISTER KEY MANAGEMENT
文にWITH BACKUP
句を指定して、その既存のキーストアのバックアップを作成する必要があります。後でマージを取り消す必要があると判断した場合、マージしたソフトウェア・キーストアを、バックアップしたものと置き換えることができます。
たとえば、キーストアAをキーストアBにマージするとします。WITH BACKUP
句を使用することで、マージ操作の開始前にキーストアBのバックアップを作成します。(元のキーストアAは変更されません。)マージ操作を取り消すには、キーストアBから作成したバックアップに戻ります。
-
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE
SQL文を使用して、マージ操作を実行します。-
たとえば、既存のキーストアへのマージ操作を実行する場合、次のようにします。
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '/etc/ORACLE/KEYSTORE/DB1' INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB2' IDENTIFIED BY password WITH BACKUP USING "merge1";
新しいキーストアをバックアップ・キーストア(この場合、
ewallet_
time-stamp
_merge1.p12
という名前)に置き換えます。 -
自動ログイン・キーストアをパスワードベースのキーストアにマージするには、
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE
SQL文を使用します。
-
親トピック: ソフトウェア・キーストアのマージ
4.1.9 新しいロケーションへのソフトウェア・キーストアの移動
WALLET_ROOT
パラメータを更新した後で、新しい場所にソフトウェア・キーストアを移動します。
Oracle Key Vaultを使用している場合は、Key Vaultがマスター暗号化キーを直接管理するTDE直接接続を構成できます。この場合、キーストアを新しいロケーションに手動で移動する必要はありません。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。 -
ソフトウェア・キーストアをバックアップします。
たとえば:
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'hr.emp_keystore' FORCE KEYSTORE IDENTIFIED BY software_keystore_password TO '/etc/ORACLE/KEYSTORE/DB1/';
-
ソフトウェア・キーストアを閉じます。
キーストアを閉じる方法の例は次のとおりです。
自動ログイン・ソフトウェア・キーストアの場合:
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE;
パスワード保護されたソフトウェア・キーストアの場合:
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY software_keystore_password;
パスワードが外部に格納されているキーストアの場合:
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY EXTERNAL STORE;
-
データベース・セッションを終了します。
たとえば、SQL*Plusにログインしている場合は、次のようにします。
EXIT
-
データベース・インスタンスの
init.ora
ファイルで、キーストアの移動先の新しい場所を指すようにWALLET_ROOT
パラメータを更新します。 -
オペレーティング・システムの移動コマンド(
mv
など)を使用して、キーストアとそのすべてのキーを、新しいディレクトリの場所に移動します。
親トピック: キーストアの管理
4.1.10 自動ストレージ管理からのソフトウェア・キーストアの移動
ADMINISTER KEY MANAGEMENT
文を使用して、自動ストレージ管理からソフトウェア・キーストアを移動できます。
親トピック: キーストアの管理
4.1.11 ソフトウェア・パスワード・キーストアと外部キーストアの間の移行
パスワード保護されたソフトウェア・キーストアと外部キーストアとの間で移行できます。
- パスワード保護されたソフトウェア・キーストアから外部キーストアへの移行
パスワード保護されたソフトウェア・キーストアから外部キーストアへ移行できます。 - 外部キーストアからパスワードベースのソフトウェア・キーストアへの移行
外部キーストアをソフトウェア・キーストアに移行できます。 - 移行後のキーストアの順序
移行の実行後、キーストアの順序はプライマリまたはセカンダリのいずれかになります。
親トピック: キーストアの管理
4.1.11.1 パスワード保護されたソフトウェア・キーストアから外部キーストアへの移行
パスワード保護されたソフトウェア・キーストアから外部キーストアへ移行できます。
- ステップ1: 外部キーストアとともに開くためにソフトウェア・キーストアを変換する
一部のOracleツールでは、ソフトウェア・キーストアを使用してエクスポートまたはバックアップされたデータを暗号化または復号化するために、古いソフトウェア・キーストアにアクセスする必要があります。 - ステップ2: 外部キーストア・タイプを構成する
ALTER SYSTEM
文を使用して、外部キーストア・タイプを構成できます。 - ステップ3: 外部キーストアの移行を実行する
ADMINISTER KEY MANAGEMENT
SQL文を使用して、外部キーストアの移行を実行できます。
4.1.11.1.1 ステップ1: 外部キーストアとともに開くためにソフトウェア・キーストアを変換する
一部のOracleツールでは、ソフトウェア・キーストアを使用してエクスポートまたはバックアップされたデータを暗号化または復号化するために、古いソフトウェア・キーストアにアクセスする必要があります。
ADMINISTER KEY MANAGEMENT
SQL文を使用して、外部キーストアとともに開くためにソフトウェア・キーストアを変換します。- ソフトウェア・キーストアのパスワードを外部キーストアのパスワードとして設定するには、次の構文を使用します。
ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD FORCE KEYSTORE IDENTIFIED BY software_keystore_password SET "external_key_manager_password" WITH BACKUP [USING 'backup_identifier'];
ここでは次のように指定します。
-
software_keystore_password
は、ソフトウェア・キーストアの作成時に使用したものと同じパスワードです。 -
external_key_manager_password
は、外部キーストアのパスワードと同一の、新しいソフトウェア・キーストアのパスワードです。 -
WITH BACKUP
を使用すると、ソフトウェア・キーストアのバックアップが作成されます。オプションでUSING
句を使用し、バックアップの簡単な説明を追加できます。この説明は一重引用符(' '
)で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backup
がバックアップ識別子になっているewallet_
time-stamp
_emp_key_backup
.p12
)。オペレーティング・システムで使用されているファイル命名規則に従ってください。
-
- ソフトウェア・キーストアの自動ログイン・キーストアを作成するには、次の構文を使用します。
ADMINISTER KEY MANAGEMENT CREATE [LOCAL] AUTO_LOGIN KEYSTORE FROM KEYSTORE 'keystore_location' IDENTIFIED BY software_keystore_password;
ここでは次のように指定します。
-
LOCAL
では、ローカル自動ログイン・ソフトウェア・キーストアを作成できます。そうでない場合、キーストアに他のコンピュータからアクセスできるようにするときは、この句を省略します。 -
keystore_location
は、sqlnet.ora
ファイルに構成されているキーストアのキーストア・ディレクトリの場所へのパスです。 -
software_keystore_password
は、構成されているソフトウェア・キーストアの既存のパスワードです。
-
- ソフトウェア・キーストアのパスワードを外部キーストアのパスワードとして設定するには、次の構文を使用します。
4.1.11.1.2 ステップ2: 外部キーストア・タイプを構成する
ALTER SYSTEM
文を使用して、外部キーストア・タイプを構成できます。
4.1.11.1.3 ステップ3: 外部キーストアの移行を実行する
ADMINISTER KEY MANAGEMENT
SQL文を使用して、外部キーストアの移行を実行できます。
ADMINISTER KEY MANAGEMENT SET KEY
SQL文でMIGRATE USING
keystore_password
句を使用して、ソフトウェア・キーストア内のTDEマスター暗号化キーで既存のTDE表キーおよび表領域暗号化キーを復号化してから、外部キーストア内の新しく作成したTDEマスター暗号化キーでそれらを再暗号化する必要があります。移行の完了後に、データベースを再起動する必要や外部キーストアを手動で再度開く必要はありません。移行プロセスにより、キーストアのキーがメモリーに自動的にリロードされます。
4.1.11.2 外部キーストアからパスワードベースのソフトウェア・キーストアへの移行
外部キーストアをソフトウェア・キーストアに移行できます。
- 外部キーストアからの再移行について
外部キーストア・ソリューションの使用からソフトウェア・キーストアの使用に切り換えるには、キーストアの逆移行を使用します。 - ステップ1: 外部タイプを構成する
ALTER SYSTEM
文を使用して、外部キーストア・タイプを構成できます。 - ステップ2: 逆移行用にキーストアを構成する
SET ENCRYPTION KEY
句とREVERSE MIGRATE
句を含むADMINISTER KEY MANAGEMENT
文を使用して、キーストアの移行を取り消すことができます。 - ステップ3: ソフトウェア・キーストアとともに開くように外部キーストアを構成する
移行が完了すると、移行プロセスによってキーストアのキーがメモリーに自動的にリロードされます。
4.1.11.2.1 外部キーストアからの再移行について
外部キーストア・ソリューションの使用からソフトウェア・キーストアに切り換えるには、キーストアの逆移行を使用できます。
切換えの完了後、以前のバックアップ・ファイルが外部キー・マネージャのTDEマスター暗号化キーに依存する場合に備えて、外部キーストアを保持します。
最初にソフトウェア・キーストアから外部キーストアに移行し、ソフトウェア・キーストアを再構成済の場合は、外部キーストア・パスワードと同じパスワードの既存のキーストアがすでに存在します。逆移行では、このキーストアを、新しいパスワードで新しいソフトウェア・キーストアとして動作するように構成します。既存のキーストアが自動ログイン・ソフトウェア・キーストアで、その自動ログイン・キーストアのパスワードベースのソフトウェア・キーストアがある場合、パスワードベースのキーストアを使用してください。パスワードベースのキーストアを使用できない場合、自動ログイン・キーストアを新しく作成した空のパスワードベースのキーストアにマージし、その新しく作成したパスワードベースのキーストアを使用します。
既存のキーストアがない場合、init.ora
ファイルのWALLET_ROOT
パラメータを使用して、キーストア・ロケーションを指定する必要があります。逆移行を実行する場合、キーが失われないように前のキーストアに移行する必要があります。
4.1.11.2.3 ステップ2: 逆移行用にキーストアを構成する
SET ENCRYPTION KEY
句とREVERSE MIGRATE
句を含むADMINISTER KEY MANAGEMENT
文を使用して、キーストアの移行を取り消すことができます。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
次の構文を使用して、キーストアを逆移行します。
ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY software_keystore_password REVERSE MIGRATE USING "external_key_manager_password" [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
software_keystore_password
は、既存のキーストアまたは新しいキーストアのパスワードです。 -
external_key_manager_password
は、最初に外部キーストアを作成したときに作成されたパスワードです。前の外部ソフトウェア・キーストアが新しいキーストアの場合は、逆移行コマンドを発行する前に、そのパスワードがexternal_key_manager_password
と同じパスワードであることを確認する必要があります。この設定は二重引用符(" "
)で囲みます。 -
WITH BACKUP
を使用すると、ソフトウェア・キーストアのバックアップが作成されます。オプションでUSING
句を含めることで、バックアップの簡単な説明を追加できます。この説明は一重引用符(' '
)で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backup
がバックアップ識別子になっているewallet_
time-stamp
_
emp_key_backup
.p12
)。オペレーティング・システムで使用されているファイル命名規則に従ってください。
たとえば:
ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY password REVERSE MIGRATE USING "external_key_manager_password" WITH BACKUP; keystore altered.
-
-
オプションで、キーストア・パスワードを変更します。
たとえば:
ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD IDENTIFIED BY old_password SET new_password WITH BACKUP USING 'new_password';
4.1.11.2.4 ステップ3: ソフトウェア・キーストアとともに開くように外部キーストアを構成する
移行が完了すると、移行プロセスによってキーストアのキーがメモリーに自動的にリロードされます。
データベースを再起動したり、ソフトウェア・キーストアを手動で再度開く必要はありません。
以前のキーが、暗号化されたバックアップで使用されているか、Oracle Data PumpやOracle Recovery Managerなどのツールによって使用されている可能性が高いため、逆移行の後でも外部キーストアが必要な場合があります。HSMをソフトウェア・キーストアとともに開くことができるように、外部キーストア資格証明をキーストアにキャッシュする必要があります。
4.1.11.3 移行後のキーストアの順序
移行の実行後、キーストアの順序はプライマリまたはセカンダリのいずれかになります。
V$ENCRYPTION_WALLET
動的ビューのWALLET_ORDER
列は、キーストアがプライマリ(現在のTDEマスター暗号化キーを保持)またはセカンダリ(前のTDEマスター暗号化キーを保持)のいずれであるかを示します。WRL_TYPE
列は、キーストアのロケータのタイプを示します(sqlnet.ora
ファイルの場合のFILE
など)。2つのキーストアがまとめて構成されておらず、以前に移行を一度も実行したことがない場合、WALLET_ORDER
列にはSINGLE
が表示されます。
表4-1では、移行後のキーストアの順序の仕組みについて説明します。
表4-1 移行後のキーストア順序
実行された移行のタイプ | WRL_TYPE | WALLET_ORDER | 説明 |
---|---|---|---|
ソフトウェア・キーストアから外部キーストアへの移行 |
|
|
外部キーストアとソフトウェア・キーストアの両方が構成されます。TDEマスター暗号化キーは、Oracle Key Vaultまたはソフトウェア・キーストアのいずれかに格納できます。 TDEマスター暗号化キーは、まずOracle Key Vaultで検索されます。 TDEマスター暗号化キーがプライマリ・キーストア(Oracle Key Vault)にない場合、ソフトウェア・キーストアで検索されます。 すべての新しいTDEマスター暗号化キーは、プライマリ・キーストア(この場合はOracle Key Vault)に作成されます。 |
HSMからソフトウェア・キーストアへの逆移行 |
|
|
外部キーストアとソフトウェア・キーストアの両方が構成されます。TDEマスター暗号化キーは、外部キーストアまたはソフトウェア・キーストアのどちらかに格納できます。 TDEマスター暗号化キーは、まずソフトウェア・キーストアで検索されます。 TDEマスター暗号化キーがプライマリ(つまり、ソフトウェア)キーストアに存在しない場合は、HSMの外部キーストアでそれが検索されます。 すべての新しいTDEマスター暗号化キーは、プライマリ・キーストア(この場合はソフトウェア・キーストア)に作成されます。 |
4.1.12 キーストアとOracle Key Vault間の移行
Oracle Key Vaultを使用して、ソフトウェア・キーストアおよび外部キーストアをOracle Key Vaultとの間で移行できます。
これにより、キーストアを集中管理し、必要に応じて、企業内の他のTDE対応データベースとキーストアを共有できます。
Oracle Key Vaultでは、仮想ウォレットと呼ばれるコンテナにキーストアをアップロードし、前にアップロードしたOracleキーストアの内容から新しい仮想ウォレットを作成できます。たとえば、5つのキーを格納するキーストアを前にアップロードしたとします。これらのキーの3つのみで構成される新しい仮想ウォレットを作成できます。次に、このキーストアを別のTDE対応データベースにダウンロードできます。このプロセスでは、元のキーストアは変更されません。
Oracle Key Vaultでは、Oracleキーストアに加えて、資格証明ファイルやJavaキーストアなどの他のセキュリティ・オブジェクトを企業全体で安全に共有できます。これにより、パスワードを忘れたり、キーストアを間違って削除したことによるキーおよびキーストアの紛失を防ぐことができます。Oracle Key Vaultは、TDE以外の製品、Oracle Real Application Security、Oracle Active Data GuardおよびOracle GoldenGateとともに使用できます。Oracle Key Vaultでは、暗号化されたデータをOracle Data PumpおよびOracle Transportable Tablespacesを使用して簡単に移動できます。
親トピック: キーストアの管理
4.1.13 キーストアを閉じる
ソフトウェア・キーストアおよび外部キーストアは手動で閉じることができます。
- キーストアを閉じることについて
キーストアを開いた後は、データベース・インスタンスを終了するまで開いたままになります。 - ソフトウェア・キーストアを閉じる
パスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを手動で閉じることができます。 - 外部キーストアを閉じる
外部キーストアを閉じるには、SET KEYSTORE CLOSE
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
親トピック: キーストアの管理
4.1.13.1 キーストアを閉じることについて
キーストアを開いた後は、データベース・インスタンスを終了するまで開いたままになります。
データベース・インスタンスを再起動すると、必要に応じて(TDEマスター暗号化キーにアクセスする必要がある場合)自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアが自動的に開きます。ただし、パスワードベースのソフトウェア・キーストアおよび外部キーストアは、自動的には開きません。使用する前には手動で再度開く必要があります。
ソフトウェア・キーストアまたは外部キーストアを閉じると、データベースでのすべての暗号化操作と復号化操作が無効になります。したがって、データベース・ユーザーやアプリケーションは、キーストアが再度開くまで、暗号化データに関係する操作を実行できません。
キーストアを閉じた後に再度開くと、キーストアの内容がデータベースにリロードされます。したがって、内容が変更されると(移行中など)、データベースには最新のキーストアの内容が格納されます。
キーストアが閉じているかどうかは、V$ENCRYPTION_WALLET
ビューのSTATUS
列を問い合せることによって確認できます。
キーストアにアクセスできない場合、次のデータ操作は失敗します。
-
暗号化列からのデータの選択(
SELECT
) -
暗号化列に対するデータの挿入(
INSERT
) -
暗号化列による表の作成(
CREATE
) -
暗号化された表領域の作成(
CREATE
)
親トピック: キーストアを閉じる
4.1.13.2 ソフトウェア・キーストアを閉じる
パスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを手動で閉じることができます。
アクセス時に自動的に開かれる自動ログイン・キーストアの場合、それを新しいロケーションに移動した場合に手動で閉じる必要があります。構成を自動ログイン・キーストアからパスワードベースのキーストアに変更する場合、これを行います(自動ログイン・キーストアは移動してから閉じます)。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
ADMINISTER KEY MANAGEMENT
SQL文を実行します。-
パスワードベースのソフトウェア・キーストアの場合、次の構文を使用します。
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE [IDENTIFIED BY [EXTERNAL STORE | software_keystore_password]];
ここでは次のように指定します。
-
IDENTIFIED BY
は次のいずれかにできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
software_keystore_password
は、キーストアを作成したユーザーのパスワードです。
-
-
-
自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの場合、次のSQL文を使用します。
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE;
この文ではパスワードを指定する必要はありません。
-
キーストアを閉じると、暗号化および復号化のすべての操作が無効化されます。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。
親トピック: キーストアを閉じる
4.1.13.3 外部キーストアを閉じる
外部キーストアを閉じるには、SET KEYSTORE CLOSE
句を含むADMINISTER KEY MANAGEMENT
文を使用する必要があります。
親トピック: キーストアを閉じる
4.1.14 ASMボリュームに存在するソフトウェア・キーストアの使用
自動ストレージ管理(ASM)ディスク・グループにソフトウェア・キーストアを格納できます。
-
init.ora
ファイルのWALLET_ROOT
パラメータを編集して、ENCRYPTION_WALLET_LOCATION
設定でDIRECTORY
設定を構成するときに、以前のリリースで使用されたASMファイル命名規則を使用して指定されたASMディスク・グループの場所を使用します。つまり、ASMファイル名用のプラス記号(+
)表記法を使用する必要があります。
たとえば:
WALLET_ROOT=+disk1/mydb/wallet
通常のファイル・システムとASMファイル・システムの間でソフトウェア・キーストアを移動またはマージする必要がある場合は、ソフトウェア・キーストアのマージに使用するものと同じキーストア・マージ文を使用できます。
ASM環境でキーストアを管理するには、ASMCMD
ユーティリティを使用します。
4.1.15 暗号化されたデータのバックアップおよびリカバリ
ソフトウェア・キーストアの場合、TDEマスター暗号化キーがないと暗号化されたデータにアクセスできません。
TDEマスター暗号化キーはキーストアに格納されるため、ソフトウェア・キーストアを安全な場所に定期的にバックアップすることをお薦めします。新しいTDEマスター暗号化キーを設定するか、キーストアへの書込みを行う操作を実行するたびに、キーストアのバックアップ・コピーを作成する必要があります。
ソフトウェア・キーストアを暗号化データと同じ場所にバックアップしないでください。ソフトウェア・キーストアは別にバックアップします。自動ログイン・キーストアを使用している場合は、開くときにパスワードが要求されないため、特に注意してください。バックアップ・テープの紛失に備えて、悪意のあるユーザーが暗号化データとキーストアの両方を取得できないようにすることが大切です。
Oracle Recovery Manager (Oracle RMAN)によるデータベース・バックアップでは、ソフトウェア・キーストアはバックアップされません。Oracle Secure Backupなどのメディア・マネージャをOracle RMANと併用している場合は、Oracle Secure Backupによって、自動オープン・キーストア(cwallet.sso
ファイル)がバックアップ対象から自動的に除外されます。ただし、暗号化キーストア(ewallet.p12
ファイル)が自動的に除外されることはありません。次のexclude
データ・セット文をOracle Secure Backup構成に追加することをお薦めします。
exclude name *.p12
この設定は、暗号化キーストアをバックアップ・セットから除外するようにOracle Secure Backupに指定します。
TDEマスター暗号化キーを格納しているソフトウェア・キーストアを喪失した場合は、キーストアのバックアップを適切な場所にコピーすることで、暗号化データへのアクセスをリストアできます。TDEマスター暗号化キーを最後に再設定した後に、リストアしたキーストアをアーカイブした場合、追加アクションは必要はありません。
リストアしたソフトウェア・キーストアに最新のTDEマスター暗号化キーが含まれていない場合、データベースの状態をTDEマスター暗号化キーが再設定された時点までロールバックすることで、その時点までの古いデータをリカバリできます。TDEマスター暗号化キーの再設定後に暗号化列に対して行われた変更はすべて失われます。
4.1.16 キーストアを削除することの危険性
キーストアを削除しないようにすることをお薦めします。
キーストアが一杯になりすぎた場合は、現在アクティブなTDEマスター暗号化キー以外のTDEマスター暗号化キーを新しいキーストアに移動してそのキーストア全体のサイズを小さくできますが、古いキーストアと新しいキーストアをバックアップしておくことが重要です。これは、現在アクティブなキーストアからキーが移動されても他のOracle機能(Oracle Recovery Managerバックアップの操作など)で引き続きそれらが必要となる可能性があるためです。(キーストアの削除によって影響を受ける機能のリストについては、このトピックの最後にある「関連項目」を参照)。
透過的データ暗号化を構成してある場合に、使用中の、まだキーが含まれているキーストアを削除することは特に危険です。キーストアが使用中かどうかは、キーストアを開いた後にV$ENCRYPTION_WALLET
ビューのSTATUS
列を問い合せることで確認できます。以降に行う必要がある手順は、統一モードと分離モードのどちらを使用しているかで異なります。
- 分離モードでは、
V$ENCRYPTION_WALLET
のSTATUS
列がOPEN_NO_MASTER_KEY
の場合は、このキーストアは、キーを含んでいないため、アーカイブしておき後で削除したほうが安全です。 - 統一モードでは、PDBではなく
CDB$ROOT
からV$ENCRYPTION_WALLET
の問合せを実行する必要があります。まだキーが設定されていないPDBでその問合せを実行すると、STATUS
がOPEN_NO_MASTER_KEY
になります。ただし、キーがCDB$ROOT
で設定されている場合があり、その場合は誤解を招く可能性があります。ルートでその問合せを実行した後にSTATUS
がOPEN_NO_MASTER_KEY
である場合は、キーストアをアーカイブし後で安全に削除できます。
現在アクティブなTDEキーストアからキーを移動する場合に注意する必要があるというのは、このキーストアに、データベースによって引き続き必要となるキーが含まれている可能性があるためです(そのTDEマスター暗号化キーが更新されたにもかかわらず)。キーストアを削除するとそれらのキーが削除され、暗号化データが失われてしまう可能性があります。データベース内のすべてのデータを復号化した後でも、キーストアを削除しないでください。削除すると、Oracleデータベースが正常に機能しなくなる可能性があります。これは、キーストア内のTDEマスター暗号化キーが他のOracle Database機能にも必要になる可能性があるためです。(キーストアの削除によって影響を受ける機能のリストについては、このトピックの最後にある「関連項目」を参照)。
TDEキーストアの移行(これにより、現在アクティブなTDEマスター暗号化キーの場所がソフトウェア・キーストアと外部キーストアの間で変更されるような方法でキー更新される)を実行した後でも、元のキーストアは削除しないでください。元のキーストアにあるキーは、後で必要になることがあります(たとえば、オフラインの暗号化された表領域をリカバリする必要がある場合)。すべてのオンライン表領域が暗号化されていない場合でも、キーが使用されている可能性があります。
ソフトウェア自動ログイン(またはローカル自動ログイン)・キーストアの場合は例外です。このタイプのキーストアを使用しない場合は、安全なディレクトリに移動するのが理想です。自動ログイン・キーストアは、必ず通常のソフトウェア・キーストアに基づいているため、それがパスワードベースの特定のキーストアから作成されたことが確かな場合にのみ削除するようにしてください。キーストアは、利用可能で既知である必要があります。
キーストアを削除する必要がある場合は、十分に注意してください。最初に、ADMINISTER KEY MANAGEMENT MOVE KEYS TO NEW KEYSTORE
文を使用して、新しいキーストアにキーストア内のキーを移動する必要があります。
4.1.17 キーストアの削除によって影響を受ける機能
一部の機能は、キーストアの削除後にそのキーストアに存在するTDEマスター暗号化キーが必要になった場合には、問題が発生する可能性があります。
キーストアを削除する前に、それによって、後でそのTDEキーストア内のTDEマスター暗号化キーが必要になった場合にどのような影響があるかを考えてください。次の機能およびアクティビティが影響を受けます。
- オフラインになっている表領域の操作
- Oracle Secure Backupの操作
- メディア・リカバリおよびブロック・メディア・リカバリの操作
- Point-in-Timeリカバリの操作
- Oracle Data Guardのフィジカルおよびロジカル・スタンバイの操作
- Golden Gateの操作
- Oracle Streamsの操作
- Oracle Recovery Managerの操作(Oracle Recovery Managerバックアップのリストアなど)
- データベース・クラッシュ・リカバリ操作中のデータベースへのアーカイブREDOログの適用
- データベースのオンライン・ブロック・リカバリ。(オンライン・ブロック・リカバリを実行するということは、データベースがまだオープン状態であるということです。暗号化された表領域があるオープン状態のデータベース内のウォレットを削除すると、オンライン・ブロック・リカバリに関連する問題の他にさらに問題が発生します)。このような問題としては、次のことが考えられます。
- 暗号化された表領域内の暗号化されたオンライン・データが復号化されなくなります。
SYSTEM
、UNDO
およびTEMP
表領域内の暗号化されたメタデータが復号化されなくなります。暗号化するメタデータ、またはそのメタデータを格納できる場所を制御できなくなります。 - バッファ済のデータまたはメタデータは、ディスクに書き込む前に暗号化する必要がありますが、ウォレットが削除されると暗号化されなくなります。これによって、REDO生成が失敗する可能性があり、DBWRバックグラウンド・プロセスでデータの書込みができなくなることで、データベース・インスタンスがハングまたはクラッシュする可能性があります。
- データベース・インスタンスがクラッシュすると、データベース・インスタンス・リカバリおよびデータベース・クラッシュ・リカバリが失敗し、データベースを再起動できなくなります。
- 暗号化された表領域内の暗号化されたオンライン・データが復号化されなくなります。
関連項目
親トピック: キーストアの管理
4.2 TDEマスター暗号化キーの管理
TDEマスター暗号化キーは、いくつかの方法で管理できます。
- ユーザー定義のTDEマスター暗号化キーの作成
TDEマスター暗号化キーIDを生成して、データベースの外部でユーザー定義のTDEマスター暗号化キーを作成できます。 - 後で使用するためのTDEマスター暗号化キーの作成
後でアクティブ化するTDEマスター暗号化キーを作成することができます。 - TDEマスター暗号化キーのアクティブ化
TDEマスター暗号化キーは、アクティブ化すると使用できます。 - TDEマスター暗号化キーの属性管理
TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての情報が保存されます。 - レポート用のTDEマスター暗号化キーのカスタム属性の作成
TDEマスター暗号化キーのカスタム属性では、ニーズに適した属性を定義できます。 - キーストアのTDEマスター暗号化キーの設定またはキー更新
ソフトウェア・キーストアと外部キーストアの両方で、TDEマスター暗号化キーを設定またはキー更新できます。 - TDEマスター暗号化キーのエクスポートおよびインポート
TDEマスター暗号化キーを様々な方法でエクスポートおよびインポートできます。 - 新しいキーストアへのTDEマスター暗号化キーの移動
既存のTDEマスター暗号化キーを、パスワードで保護された既存のキーストアから新しいキーストアに移動できます。 - Oracle Key Vaultを使用したTDEマスター暗号化キーの管理
Oracle Key Vaultを使用して、企業全体でTDEマスター暗号化キーを管理および共有できます。
親トピック: キーストアおよびマスター 暗号化キーの管理
4.2.1 ユーザー定義のTDEマスター暗号化キーの作成
TDEマスター暗号化キーIDを生成して、データベースの外部でユーザー定義のTDEマスター暗号化キーを作成できます。
- ユーザー定義のTDEマスター暗号化キーについて
データベースの外部にあるTDEマスター暗号化キーには、TDEマスター暗号化キーの使用を追跡するための固有のユーザー生成IDがあります。 - ユーザー定義のTDEマスター暗号化キーの作成
ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION] KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用します。
親トピック: TDEマスター暗号化キーの管理
4.2.1.1 ユーザー定義のTDEマスター暗号化キーについて
データベースの外部にあるTDEマスター暗号化キーには、TDEマスター暗号化キーの使用を追跡するための固有のユーザー生成IDがあります。
ADMINISTER KEY MANAGEMENT
を使用して、ユーザー定義のTDEマスター暗号化キーIDを作成および設定できます。TDEマスター暗号化キーを生成した後で、このキーをデータベースに格納できます。オプションで、様々なADMINISTER KEY MANAGEMENT
文でTDEマスター暗号化キーIDを指定できます。
このタイプの構成を使用すると、サイトの要件に準拠するTDEマスター暗号化キーを生成できるため、Oracle Fusion SaaS Cloud環境で役立ちます。生成されるこのキーは、最新の暗号化アルゴリズムをサポートしており、ソフトウェア・キーストアのために使用できます。
TDEマスター暗号化キーIDを生成した後で、通常の方法でデータを暗号化できます。
TDEマスター暗号化キーとそれに対応するIDは、監査ログによって取得されません。
親トピック: ユーザー定義のTDEマスター暗号化キーの作成
4.2.1.2 ユーザー定義のTDEマスター暗号化キーの作成
ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION] KEY
句を含むADMINISTER KEY MANAGEMENT
文を使用します。
親トピック: ユーザー定義のTDEマスター暗号化キーの作成
4.2.2 後で使用するためのTDEマスター暗号化キーの作成
後でアクティブ化するTDEマスター暗号化キーを作成することができます。
- 後で使用するためのTDEマスター暗号化キーの作成について
ADMINISTER KEY MANAGEMENT
文のCREATE KEY
句によって、後でアクティブ化できるTDEマスター暗号化キーを作成できます。 - 後で使用するためのTDEマスター暗号化キーの作成
後で使用するTDEマスター暗号化キーを作成する前に、キーストアが開かれている必要があります。 - 例: 1つのデータベースでのTDEマスター暗号化キーの作成
ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG
文を使用して、1つのデータベースにTDEマスター暗号化キーを作成できます。
親トピック: TDEマスター暗号化キーの管理
4.2.2.1 後で使用するためのTDEマスター暗号化キーの作成について
ADMINISTER KEY MANAGEMENT
文のCREATE KEY
句によって、後でアクティブ化できるTDEマスター暗号化キーを作成できます。
その後、そのキーを同じデータベースでアクティブ化したり、別のデータベースにエクスポートしてそこでアクティブ化できます。
このTDEマスター暗号化キーの作成方法は、マルチテナント環境でTDEマスター暗号化キーを再作成する必要がある場合に便利です。CREATE KEY
句では、単一のSQL文を使用して、マルチテナント環境内のすべてのPDBに新しいTDEマスター暗号化キーを作成できます。新しいTDEマスター暗号化キーの作成時間は、現在使用中のTDEマスター暗号化キーをアクティブ化するよりも遅くなります。そのため、最新の作成済TDEマスター暗号化キーをできるだけ早くアクティブ化するようにすべてのPDBに注意を喚起するために、この作成時間を使用できます。
親トピック: 後で使用するためのTDEマスター暗号化キーの作成
4.2.2.2 後で使用するためのTDEマスター暗号化キーの作成
後で使用するTDEマスター暗号化キーを作成する前に、キーストアが開かれている必要があります。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
この構文を使用して、TDEマスター暗号化キーを作成します。
ADMINISTER KEY MANAGEMENT CREATE KEY [USING TAG 'tag'] [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
tag
は、定義する関連の属性および情報です。この設定は一重引用符(' ')で囲みます。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
keystore_password
は、元のキーストア作成時に使用した必須のキーストア・パスワードです。大文字と小文字が区別されます。
-
-
WITH BACKUP
は、キーと同じ場所(V$ENCRYPTION_WALLET
ビューのWRL_PARAMETER
列で識別されます)にTDEマスター暗号化キーをバックアップします。すべてのデータベース・インスタンスのキーの場所を確認するには、GV$ENCRYPTION_WALLET
ビューを問い合せます。パスワードベースのソフトウェア・キーストアをバックアップする必要があります。自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアをバックアップする必要はありません。オプションで、
USING
backup_identifier
句を含めることで、バックアップの説明を追加できます。backup_identifier
は、一重引用符(' '
)で囲みます。
-
-
必要に応じて、TDEマスター暗号化キーをアクティブ化します。
-
キーIDを確認します。
SELECT KEY_ID FROM V$ENCRYPTION_KEYS; KEY_ID ---------------------------------------------------- AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-
このキーIDを使用して、キーをアクティブ化します。
ADMINISTER KEY MANAGEMENT USE KEY 'AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' USING TAG 'quarter:second;description:Activate Key on standby' IDENTIFIED BY password WITH BACKUP;
-
4.2.2.3 例: 1つのデータベースでのTDEマスター暗号化キーの作成
ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG
文を使用して、1つのデータベースにTDEマスター暗号化キーを作成できます。
例4-2に、1つのデータベースにTDEマスター暗号化キーを作成する方法を示します。この文を実行すると、タグ定義で指定したTDEマスター暗号化キーが、そのデータベースのキーストアに作成されます。新しく作成したキーの識別子については、V$ENCRYPTION_KEYS
ビューのTAG
列を問い合せることができます。最も最近作成されたキー(この文で作成したキー)を確認するには、CREATION_TIME
列を問い合せます。このキーは、必要に応じて別のデータベースにエクスポートすることや、「TDEマスター暗号化キーのアクティブ化」の説明に従って後からローカルでアクティブ化することができます。
例4-2 1つのデータベースでのTDEマスター暗号化キーの作成
ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG
'source:admin@source;target:db1@target'
IDENTIFIED BY password WITH BACKUP;
keystore altered.
親トピック: 後で使用するためのTDEマスター暗号化キーの作成
4.2.3 TDEマスター暗号化キーのアクティブ化
TDEマスター暗号化キーはアクティブ化すると、使用できます。
- TDEマスター暗号化キーのアクティブ化について
ADMINISTER KEY MANAGEMENT
のUSE KEY
句を使用することで、以前に作成済またはインポート済のTDEマスター暗号化キーをアクティブ化できます。 - TDEマスター暗号化キーのアクティブ化
TDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY
句を含むADMINISTER KEY MANAGEMENT
を使用する必要があります。 - 例: TDEマスター暗号化キーのアクティブ化
ADMINISTER KEY MANAGEMENT SQL文を使用して、TDEマスター暗号化キーをアクティブ化できます。
親トピック: TDEマスター暗号化キーの管理
4.2.3.1 TDEマスター暗号化キーのアクティブ化について
ADMINISTER KEY MANAGEMENT
のUSE KEY
句を使用することで、以前に作成済またはインポート済のTDEマスター暗号化キーをアクティブ化できます。
マスター暗号化キーをアクティブ化すると、データベース内のすべてのデータ暗号化キーを暗号化するために使用されます。キーを使用して、すべての列のキーとすべての表領域暗号化キーを保護できます。ロジカル・スタンバイ・データベースをデプロイしている場合、TDEマスター暗号化キーを再作成後にエクスポートしてから、スタンバイ・データベースにインポートする必要があります。プライマリ・データベースとスタンバイ・データベースの両方でTDEマスター暗号化キーを使用するように選択できます。これを行うには、TDEマスター暗号化キーを、ロジカル・スタンバイ・データベースへのインポート後にアクティブ化する必要があります。
親トピック: TDEマスター暗号化キーのアクティブ化
4.2.3.2 TDEマスター暗号化キーのアクティブ化
TDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY
句を含むADMINISTER KEY MANAGEMENT
を使用する必要があります。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
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']];
ここでは次のように指定します。
-
key_identifier_from_V$ENCRYPTION_KEYS
はキー識別子です。この設定は、一重引用符(' '
)で囲みます。 -
tag
は、定義する関連の属性および情報です。この設定は、一重引用符(' '
)で囲みます。 -
FORCE KEYSTORE
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
keystore_password
は、元のキーストア作成時に使用した必須のキーストア・パスワードです。
-
-
WITH BACKUP
は、キーと同じ場所(V$ENCRYPTION_WALLET
ビューのWRL_PARAMETER
列で識別されます)にTDEマスター暗号化キーをバックアップします。すべてのデータベース・インスタンスのキーの場所を確認するには、GV$ENCRYPTION_WALLET
ビューを問い合せます。パスワードベースのソフトウェア・キーストアをバックアップする必要があります。自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアをバックアップする必要はありません。オプションで、
USING
backup_identifier
句を含めることで、バックアップの説明を追加できます。backup_identifier
は、一重引用符(' '
)で囲みます。
-
親トピック: TDEマスター暗号化キーのアクティブ化
4.2.3.3 例: TDEマスター暗号化キーのアクティブ化
ADMINISTER KEY MANAGEMENT SQL文を使用して、TDEマスター暗号化キーをアクティブ化できます。
例4-3に、以前にインポート済のTDEマスター暗号化キーをアクティブ化してそのタグを更新する方法を示します。このキーは、現在のデータベースのタイムスタンプとタイムゾーンでアクティブ化されます。
例4-3 TDEマスター暗号化キーのアクティブ化
ADMINISTER KEY MANAGEMENT USE KEY
'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
USING TAG 'quarter:second;description:Activate Key on standby'
IDENTIFIED BY password WITH BACKUP;
keystore altered.
次の同じ操作のバージョンでは、自動ログイン・キーストアが使用されているか、キーストアが閉じている場合に、FORCE KEYSTORE
句が追加されます。キーストアのパスワードが外部に格納されるため、IDENTIFIED BY
句にEXTERNAL STORE
設定が使用されます。
ADMINISTER KEY MANAGEMENT USE KEY 'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' USING TAG 'quarter:second;description:Activate Key on standby' FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE WITH BACKUP; keystore altered.
親トピック: TDEマスター暗号化キーのアクティブ化
4.2.4 TDEマスター暗号化キーの属性管理
TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての情報が保存されます。
- TDEマスター暗号化キーの属性
TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての詳細情報が含まれます。 - 使用中のTDEマスター暗号化キーの検出
使用中のTDEマスター暗号化キーは、データベースで最も最近アクティブ化された暗号化キーです。
親トピック: TDEマスター暗号化キーの管理
4.2.4.1 TDEマスター暗号化キーの属性
TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての詳細情報が含まれます。
次のタイプの情報が含まれます。
-
キーのタイムスタンプ情報:通常、内部セキュリティ・ポリシーおよびコンプライアンス・ポリシーによって、キーのキー更新頻度が決まります。ライフタイムの終わりに達したらキーを期限切れにして、新しいキーを生成する必要があります。キーの作成時間やアクティブ化時間などのタイムスタンプ属性は、キーの古さを正確に判断してキーを自動生成するために役立ちます。
V$ENCRYPTION_KEYS
ビューには、CREATION_TIME
やACTIVATION_TIME.
などの列が含まれますV$ENCRYPTION_KEYS
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 -
キーの所有者情報: キーの所有者属性は、キーを作成またはアクティブ化したユーザーを判断するために役立ちます。これらの属性は、セキュリティ、監査、および追跡において重要な場合があります。また、キーの所有者属性には、キーがスタンドアロンTDE操作に使用されるか、マルチテナント環境で使用されるかといった、キーの使用情報が含まれます。
V$ENCRYPTION_KEYS
ビューには、CREATOR、CREATOR_ID、USER、USER_ID、
KEY_USE
などの列が含まれます。 -
キー・ソース情報: 多くの場合、キーは、インポート/エクスポート操作やData Guard関連の操作のためにデータベース間で移動する必要があります。キー・ソース属性によって、それぞれのキーの起点を追跡できます。キーがローカルで作成されたかインポートされたか、およびキーを作成したデータベースのデータベース名とインスタンス番号を追跡できます。マルチテナント環境では、キーが作成されたPDBを追跡できます。
V$ENCRYPTION_KEYS
ビューには、CREATOR_DBNAME、CREATOR_DBID、CREATOR_INSTANCE_NAME、CREATOR_INSTANCE_NUMBER、CREATOR_PDBNAME
などの列が含まれます。 -
キーの使用情報: キーの使用情報によって、キーが使用されているデータベースまたはPDBが決まります。また、キーがアクティブに使用されているかどうかを判断するために役立ちます。
V$ENCRYPTION_KEYS
ビューには、ACTIVATING_DBNAME、ACTIVATING_DBID、ACTIVATING_INSTANCE_NAME、ACTIVATING_PDBNAME
などの列が含まれます。 -
ユーザー定義情報およびその他の情報: キーを作成するとき、
TAG
オプションを使用して情報を関連付けることができます。各キーには、バックアップされたかどうかなどの重要な情報が含まれます。V$ENCRYPTION_KEYS
ビューには、KEY_ID、TAG
などの列と、BACKED_UP
などのその他の列が含まれます。
ノート:
TDEマスター・キー属性およびタグは、PKCS#11データ・オブジェクトをサポートするハードウェア・セキュリティ・モジュールでのみサポートされます。親トピック: TDEマスター暗号化キーの属性管理
4.2.5 レポート用のTDEマスター暗号化キーのカスタム属性の作成
TDEマスター暗号化キーのカスタム属性では、ニーズに適した属性を定義できます。
- カスタム属性タグの作成について
属性タグにより、特定の端末IDへのアクセスなど、ユーザーが実行する特定のアクティビティを監視できます。 - カスタム属性タグの作成
カスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT
文のSET TAG
句を使用する必要があります。
親トピック: TDEマスター暗号化キーの管理
4.2.5.1 カスタム属性タグの作成について
属性タグにより、特定の端末IDへのアクセスなど、ユーザーが実行する特定のアクティビティを監視できます。
デフォルトでは、Oracle Databaseには、作成時間やTDEマスター暗号化キーが使用されるデータベースなど、作成されるTDEマスター暗号化キーの様々な特性を説明する属性セットが定義されます。これらの属性は、V$ENCRYPTION_KEY
動的ビューによって取得されます。
V$ENCRYPTION_KEYS
動的ビューのTAG
列で取得可能なカスタム属性を作成できます。これにより、暗号化キーを操作するユーザーなど、監視したい動作を定義できます。タグには、特定の端末のセッションIDなど、複数の属性を含めることができます。
TDEマスター暗号化キーのタグを作成すると、その名前がそのTDEマスター暗号化キーのV$ENCRYPTION_KEYS
ビューのTAG
列に表示されます。シークレットのタグを作成すると、そのタグは、V$CLIENT_SECRETS
ビューのSECRET_TAG
列に表示されます。タグでシークレットを作成した場合、そのタグはV$CLIENT_SECRETS
ビューのSECRET_TAG
列に表示されます。
親トピック: レポート用のTDEマスター暗号化キーのカスタム属性の作成
4.2.5.2 カスタム属性タグの作成
カスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT
文のSET TAG
句を使用する必要があります。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
必要に応じて、
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
関数を使用することで、値を導出できます。 -
親トピック: レポート用のTDEマスター暗号化キーのカスタム属性の作成
4.2.6 キーストアのTDEマスター暗号化キーの設定またはキー更新
ソフトウェア・キーストアと外部キーストアの両方で、TDEマスター暗号化キーを設定またはキー更新できます。
- キーストアのTDEマスター暗号化キーの設定またはキー更新について
パスワードベースのソフトウェア・キーストアと外部キーストアの両方で、TDEマスター暗号化キーを設定およびキー更新できます。 - TDEマスター暗号化キーの作成、タグ付けおよびバックアップ
ADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーを作成、タグ付けおよびバックアップできます。 - TDEマスター暗号化キーのキー更新について
Oracle Databaseでは、TDE列暗号化とTDE表領域暗号化の両方で統合されたTDEマスター暗号化キーが使用されます。 - TDEマスター暗号化キーのキー更新
ADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーをキー更新できます。 - 表領域のTDEマスター暗号化キーのキー更新
ALTER TABLESPACE
文のREKEY
句を使用して、暗号化された表領域のTDEマスター暗号化キーをキー更新できます。
親トピック: TDEマスター暗号化キーの管理
4.2.6.1 キーストアのTDEマスター暗号化キーの設定またはキー更新について
パスワードベースのソフトウェア・キーストアと外部キーストアの両方で、TDEマスター暗号化キーを設定またはキー更新できます。
TDEマスター暗号化キーは、外部セキュリティ・モジュール(キーストア)に格納され、TDE表キーおよび表領域暗号化キーの保護に使用されます。デフォルトでは、TDEマスター暗号化キーは、透過的データ暗号化(TDE)によって作成されるシステム生成のランダム値です。
TDEマスター暗号化キーを設定または再設定(REKEY
)するには、ADMINISTER KEY MANAGEMENT
文を使用します。マスター暗号化キーが設定されると、TDEは有効と見なされ、無効化できません。
データベースの列または表領域を暗号化または復号化するには、TDEマスター暗号化キーを事前に生成しておく必要があります。Oracle Databaseでは、TDE列暗号化とTDE表領域暗号化の両方で同じTDEマスター暗号化キーが使用されます。ソフトウェアまたはハードウェアTDEマスター暗号化キーの設定手順では、TDEマスター暗号化キーの生成方法について説明します。
4.2.6.2 TDEマスター暗号化キーの作成、タグ付けおよびバックアップ
ADMINISTER KEY MANAGEMENT
文を使用して、TDEマスター暗号化キーを作成、タグ付けおよびバックアップできます。
WALLET_ROOT
パラメータによって指定されているキーストア・ロケーションにあるキーストアを使用して、TDEマスター暗号化キーを格納します。
4.2.6.3 TDEマスター暗号化キーのキー更新について
Oracle Databaseでは、TDE列暗号化とTDE表領域暗号化の両方で統合されたTDEマスター暗号化キーが使用されます。
TDE列暗号化用にTDEマスター暗号化キーをキー更新すると、TDE表領域暗号化用のTDEマスター暗号化キーもキー更新されます。TDEマスター暗号化キーのキー更新は、TDEマスター暗号化キーの安全性が損なわれた場合、または組織のセキュリティ・ポリシーに従う場合にのみ実行します。このプロセスによって、前のTDEマスター暗号化キーは非アクティブ化されます。
セキュリティを強化し、コンプライアンス規制を満たすために、定期的にTDEマスター暗号化キーをキー更新することをお薦めします。このプロセスでは、前のTDEマスター暗号化キーを非アクティブ化し、新しいTDEマスター暗号化キーを作成してアクティブ化します。最近作成されたキーを確認するには、V$ENCRYPTION_KEYS
ビューのCREATION_TIME
列を問い合せます。最近アクティブ化されたキーを確認するには、V$ENCRYPTION_KEYS
ビューのACTIVATION_TIME
列を問い合せます。
TDEマスター暗号化キーを変更したり、自動ログイン・キーストアのTDEマスター暗号化キーをキー更新することはできません。自動ログイン・キーストアにはパスワードがないため、管理者または権限のあるユーザーは、セキュリティ担当者に知らせずにキーを変更できます。ただし、自動ログイン・キーストアとパスワードベースのキーストアの両方が(sqlnet.ora
ファイルで設定する)構成されたロケーションに存在する場合、TDEマスター暗号化キーをキー更新すると、自動ログイン・キーストアとパスワードベースのキーストアの両方にTDEマスター暗号化キーが追加されます。自動ログイン・キーストアが、パスワードベースのキーストアとは異なるロケーションで使用中の場合、自動ログイン・キーストアを再作成する必要があります。
マスター・キーのキー更新操作をオンライン表領域のキー更新操作と同時に実行しないでください。次の問合せを発行して、オンライン表領域でのTDEマスター暗号化キーの処理が進行中であるかどうかを確認できます。
SELECT TS#,ENCRYPTIONALG,STATUS FROM V$ENCRYPTED_TABLESPACES;
REKEYING
というステータスは、対応する表領域がまだキー更新中であることを意味します。
ノート:
自動ログイン・キーストアに新しい情報を個別に追加することはできません。
親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新
4.2.6.5 表領域のTDEマスター暗号化キーのキー更新
ALTER TABLESPACE
文のREKEY
句を使用して、暗号化された表領域のTDEマスター暗号化キーをキー更新できます。
親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新
4.2.7 TDEマスター暗号化キーのエクスポートおよびインポート
TDEマスター暗号化キーを様々な方法でエクスポートおよびインポートできます。
- TDEマスター暗号化キーのエクスポートおよびインポートについて
Oracle Databaseには、トランスポータブル表領域などの機能があり、Oracle Data Pumpでは、データベース間で暗号化される可能性のあるデータが移動されます。 - TDEマスター暗号化キーのエクスポートについて
ADMINISTER KEY MANAGEMENT EXPORT
を使用して、キーストアからTDEマスター暗号化キーをエクスポートし、その後、別のキーストアにインポートできます。 - TDEマスター暗号化キーのエクスポート
EXPORT [ENCRYPTION] KEYS WITH SECRET
句を含むADMINISTER KEY MANAGEMENT
文によって、TDEマスター暗号化キーをエクスポートします。 - 例: 副問合せを使用したTDEマスター暗号化キーのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
文によって、副問合せを使用してTDEマスター暗号化キーをエクスポートできます。 - 例: ファイルへのTDEマスター暗号化キー識別子のリストのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET
文によって、TDEマスター暗号化キー識別子のリストをファイルにエクスポートできます。 - 例: データベースのすべてのTDEマスター暗号化キーのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
SQL文によって、データベースのすべてのTDEマスター暗号化キーをエクスポートできます。 - TDEマスター暗号化キーのインポートについて
ADMINISTER KEY MANAGEMENT IMPORT
文によって、エクスポートしたTDEマスター暗号化キーをキー・エクスポート・ファイルからターゲット・キーストアにインポートできます。 - TDEマスター暗号化キーのインポート
IMPORT [ENCRYPTION] KEYS WITH SECRET
句を含むADMINISTER KEY MANAGEMENT
文によって、TDEマスター暗号化キーをインポートできます。 - 例: TDEマスター暗号化キーのインポート
ADMINISTER KEY MANAGEMENT IMPORT KEYS SQL文を使用して、TDEマスター暗号化キーをインポートできます。 - キーストアのマージとTDEマスター暗号化キーのエクスポートまたはインポートの相違点
キーストア・マージ操作は、TDEマスター暗号化キーのエクスポートおよびインポート操作とは異なります。
親トピック: TDEマスター暗号化キーの管理
4.2.7.1 TDEマスター暗号化キーのエクスポートおよびインポートについて
Oracle Databaseには、トランスポータブル表領域などの機能があり、Oracle Data Pumpでは、データベース間で暗号化される可能性のあるデータが移動されます。
これらは、TDEマスター暗号化キーのエクスポートとインポートによってソース・キーストアとターゲット・キーストア間でそれらを移動することを選択できる一般的なシナリオです。Data Guard (ロジカル・スタンバイ)では、プライマリ・データベースのキーストアをスタンバイ・データベースにコピーする必要があります。プライマリ・データベースのキーストアをスタンバイ・データベースとマージするかわりに、使用中のTDEマスター暗号化キーをエクスポートした後でスタンバイ・データベースにインポートできます。暗号化されているトランスポータブル表領域をデータベース間で移動するには、ソース・データベースのTDEマスター暗号化キーをエクスポートしてから、ターゲット・データベースにインポートする必要があります。
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.2 TDEマスター暗号化キーのエクスポートについて
ADMINISTER KEY MANAGEMENT EXPORT
を使用して、キーストアからTDEマスター暗号化キーをエクスポートし、その後、別のキーストアにインポートできます。
TDEマスター暗号化キーは、キー識別子およびキー属性とともにエクスポートされます。エクスポートされるキーは、エクスポート・ファイルのパスワード(シークレット)で保護されます。
エクスポートするTDEマスター暗号化キーを指定するには、ADMINSITER KEY MANAGENT EXPORT
文のWITH IDENTIFIER
句を使用します。TDEマスター暗号化キーをエクスポートするには、それらのキー識別子をカンマ区切りリストとして指定するか、キー識別子を列挙する問合せを指定します。Oracle Databaseでは、定義者の権限ではなく現在のユーザーの権限内でキー識別子を特定する問合せが実行されることに注意してください。
WITH IDENTIFER
句を省略すると、データベースのすべてのTDEマスター暗号化キーがエクスポートされます。
4.2.7.3 TDEマスター暗号化キーのエクスポート
EXPORT [ENCRYPTION] KEYS WITH SECRET
句を含むADMINISTER KEY MANAGEMENT
文によって、TDEマスター暗号化キーをエクスポートします。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。たとえば:
sqlplus sec_admin as syskm Enter password: password Connected.
-
次の構文を使用して、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
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
software_keystore_password
は、キーが含まれるキーストアのパスワードです。
-
-
key_id1
、key_id2
、key_idn
は、エクスポートするTDEマスター暗号化キーの1つ以上のTDEマスター暗号化キー識別子の文字列です。各キー識別子はカンマで区切り、それぞれのキー識別子を一重引用符(' '
)で囲みます。TDEマスター暗号化キー識別子のリストを確認するには、V$ENCRYPTION_KEYS
動的ビューのKEY_ID
列を問い合せます。 -
SQL_query
は、TDEマスター暗号化キー識別子のリストをフェッチする問合せです。これによって、通常はTDEマスター暗号化キー識別子が含まれる1つの列のみが返されます。この問合せは、現在のユーザー権限で実行されます。
-
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.4 例: 副問合せを使用したTDEマスター暗号化キー識別子のエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
文によって、副問合せを使用してTDEマスター暗号化キーをエクスポートできます。
例4-5に、識別子が問合せによってフェッチされるTDEマスター暗号化キーをexport.exp
というファイルにエクスポートする方法を示します。ファイル内のTDEマスター暗号化キーは、シークレットmy_secret
を使用して暗号化されます。SELECT
文で、エクスポートするTDEマスター暗号化キーの識別子を検出します。
例4-4 ファイルへのTDEマスター暗号化キー識別子のリストのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
WITH SECRET "my_secret"
TO '/TDE/export.exp'
FORCE KEYSTORE
IDENTIFIED BY password
WITH IDENTIFIER IN 'AdoxnJ0uH08cv7xkz83ovwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
'AW5z3CoyKE/yv3cNT5CWCXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
keystore altered.
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.5 例: ファイルへのTDEマスター暗号化キー識別子のリストのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET
文によって、TDEマスター暗号化キー識別子のリストをファイルにエクスポートできます。
例4-4に、リストとして識別子を指定することでTDEマスター暗号化キーをexport.exp
というファイルにエクスポートする方法を示します。ファイル内のTDEマスター暗号化キーは、シークレットmy_secret
を使用して暗号化されます。エクスポートされるTDEマスター暗号化キーの識別子は、カンマ区切りのリストとして提供されます。
例4-5 副問合せを使用したTDEマスター暗号化キー識別子のエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
WITH SECRET "my_secret" TO '/etc/TDE/export.exp'
FORCE KEYSTORE
IDENTIFIED BY password
WITH IDENTIFIER IN (SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE ROWNUM <3);
keystore altered.
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.6 例: データベースのすべてのTDEマスター暗号化キーのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS
SQL文によって、データベースのすべてのTDEマスター暗号化キーをエクスポートできます。
例4-6に、データベースのすべてのTDEマスター暗号化キーをexport.exp
というファイルにエクスポートする方法を示します。ファイル内のTDEマスター暗号化キーは、シークレットmy_secret
を使用して暗号化されます。
例4-6 データベースのすべてのTDEマスター暗号化キーのエクスポート
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "my_secret" TO '/etc/TDE/export.exp' FORCE KEYSTORE IDENTIFIED BY password; keystore altered.
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.7 TDEマスター暗号化キーのインポートについて
ADMINISTER KEY MANAGEMENT IMPORT
文によって、エクスポートしたTDEマスター暗号化キーをキー・エクスポート・ファイルからターゲット・キーストアにインポートできます。
すでにインポートされているTDEマスター暗号化キーを再インポートすることはできません。
4.2.7.8 TDEマスター暗号化キーのインポート
IMPORT [ENCRYPTION] KEYS WITH SECRET
句を含むADMINISTER KEY MANAGEMENT
文によって、TDEマスター暗号化キーをインポートできます。
-
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限が付与されたユーザーとして、データベース・インスタンスにログインします。sqlplus sec_admin as syskm Enter password: password Connected.
-
次の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
はこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
software_keystore_password
は、キーがインポートされているソフトウェア・キーストアのパスワードです。
-
-
WITH BACKUP
は、インポート操作の前にターゲット・キーストアがバックアップされていない場合は使用する必要があります。backup_identifier
は、キーストアのバックアップを識別するために指定できるオプション文字列です。この設定は、一重引用符(' '
)で囲みます。
-
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.9 例: TDEマスター暗号化キーのインポート
ADMINISTER KEY MANAGEMENT IMPORT KEYS SQL文を使用して、TDEマスター暗号化キーをインポートできます。
例4-7に、ファイルexport.exp
に格納され、シークレットmy_secret
で暗号化されているTDEマスター暗号化キー識別子をインポートする方法を示します。
例4-7 エクスポート・ファイルからのTDEマスター暗号化キー識別子のインポート
ADMINISTER KEY MANAGEMENT IMPORT KEYS
WITH SECRET "my_secret"
FROM '/etc/TDE/export.exp'
FORCE KEYSTORE
IDENTIFIED BY password WITH BACKUP;
keystore altered.
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.7.10 キーストアのマージとTDEマスター暗号化キーのエクスポートまたはインポートの相違点
キーストア・マージ操作は、TDEマスター暗号化キーのエクスポートおよびインポート操作とは異なります。
ADMINISTER KEY MANAGEMENT MERGE
文と、ADMINISTER KEY MANAGEMENT EXPORT
文およびIMPORT
文は、両方とも最終的にTDEマスター暗号化キーがあるキーストアから次のキーストアに移動されますが、これら2つの文の動作には違いがあります。
-
MERGE
文では2つのキーストアがマージされますが、EXPORT
およびIMPORT
文ではファイルにキーがエクスポートされるか、ファイルからキーがインポートされます。キーストアはエクスポート・ファイルとは別のものであり、これら2つを交換して使用することはできません。エクスポート・ファイルはキーストアではなく、データベースでキーストアとして使用するように構成することはできません。同様に、IMPORT
文でキーストアからTDEマスター暗号化キーを抽出することはできません。 -
MERGE
文では指定したキーストアのすべてのTDEマスター暗号化キーがマージされますが、EXPORT
およびIMPORT
文では選択可能です。 -
EXPORT
およびIMPORT
文では、エクスポート・ファイルの場所(filepath
)とファイル名の両方を指定する必要がありますが、MERGE
文ではキーストアの場所のみを指定します。 -
キーストアのファイル名は固定で、
MERGE
操作によって決定され、ewallet.p12
またはcwallet.sso
になります。EXPORT
およびIMPORT
文で使用するエクスポート・ファイルのファイル名は、ユーザーが指定します。 -
自動ストレージ管理(ASM)ディスク・グループまたは通常のファイル・システムのキーストアは、
MERGE
文でマージできます。EXPORT
およびIMPORT
文で使用するエクスポート・ファイルは、通常のオペレーティング・システム・ファイルである必要があり、ASMディスク・グループには配置できません。 -
MERGE
文を使用してマージするキーストアは、構成されたり、データベースで使用されている必要はありません。EXPORT
文は、構成されてデータベースで使用され、エクスポートの終了時に開かれるキーストアからのみキーをエクスポートできます。IMPORT
文は、開かれて構成され、データベースで使用されているキーストアにのみキーをインポートできます。 -
MERGE
文では、TDEマスター暗号化キーに関連付けられたメタデータは絶対に変更されません。EXPORT
およびIMPORT
操作では、PDBのプラグ操作時など、必要に応じてTDEマスター暗号化キーのメタデータが変更されることがあります。
親トピック: TDEマスター暗号化キーのエクスポートおよびインポート
4.2.8 新しいキーストアへのTDEマスター暗号化キーの移動
既存のTDEマスター暗号化キーを、パスワードで保護された既存のキーストアから新しいキーストアに移動できます。
- 新しいキーストアへのTDEマスター暗号化キーの移動について
使用されていない(正常にアーカイブ済の)TDEマスター暗号化キーを新しいキーストアに移動できます。 - 新しいキーストアへのTDEマスター暗号化キーの移動
ADMINISTER KEY MANAGEMENT MOVE KEYS
を使用すると、既存のTDEマスター暗号化キーを既存のキーストアから新しいキーストアに移動できます。
親トピック: TDEマスター暗号化キーの管理
4.2.8.1 新しいキーストアへのTDEマスター暗号化キーの移動について
使用されていない(正常にアーカイブ済の)TDEマスター暗号化キーを新しいキーストアに移動できます。
ADMINISTER KEY MANAGEMENT MOVE KEYS
を実行する場合は十分に注意してください。この文ではアクティブなマスター暗号化キーは移動されませんが、それでも、一連のデータベース機能に必要となるキーに影響がある可能性があります。キーを削除した場合は、これらの機能を使用するための、そのキーによって暗号化されたデータへのアクセスは不可能になります(データの削除と同等)。キーストアの削除によって影響を受ける機能の詳細は、このトピックの最後にある「関連項目」を参照してください。
そのため、キーストアを移動する前に、それを正常にアーカイブすることが重要です。一定期間が経過し、キーストアが確実に不要になった場合にのみ、キーストアを削除するようにしてください。
TDEマスター暗号化キーを新しいキーストアに移動するには、ADMINISTER KEY MANAGEMENT MOVE KEYS
文を使用します。この文では、アクティブなTDEマスター暗号化キー(つまり、ADMINISTER KEY MANAGEMENT MOVE KEYS
が発行された時点で使用中だったキー)は移動されません。
新しいTDEキーストアを構成するとき(たとえば、TDEキーストア構成においてソフトウェア・キーストアの配置場所をオペレーティング・システムのファイル・システムからOracle Automatic Storage Management (Oracle ASM)に変更する場合)に、誤ってADMINISTER KEY MANAGEMENT MERGE KEYSTORE
ではなくADMINISTER KEY MANAGEMENT MOVE KEYS
文を使用した場合には、次の現象の発生により、間違ったキー管理コマンドの使用によってTDEの構成が正しくなくなっていることを判断できます。
- 前の
ADMINISTER KEY MANAGEMENT MOVE KEYS
操作のターゲットであったTDEキーストアを開いたときに、ORA-28374: 「入力したマスター・キーがウォレットに見つかりません」
というエラーが表示されます。これは、アクティブなTDEマスター暗号化キーがそのキーストアに移動されていないためです。 - 新しいキーストアを開いた後、
V$ENCRYPTION_WALLET
ビューのSTATUS
列にOPEN_NO_MASTER_KEY
という値が表示されています。誤ってADMINISTER KEY MANAGEMENT MOVE KEYS
文によって移入された新しいTDEキーストアにはアクティブなTDEマスター暗号化キーが含まれていないため、想定ではOPEN_NO_MASTER_KEY
ステータスになります。
4.3 Oracle Databaseのシークレットの格納
シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracle Databaseの内部機能をサポートするデータです。
- キーストアへのOracle Databaseのシークレットの格納について
キーストアでは、Oracle Databaseの内部機能をサポートするシークレットを格納したり、Oracle GoldenGateなどの外部クライアントを統合できます。 - ソフトウェア・キーストアへのOracle Databaseのシークレットの格納
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文によって、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。 - 例: ソフトウェア・キーストアへのOracle Key Vaultパスワードの追加
ADMINISTER KEY MANAGEMENT ADD SECRET
文によって、ソフトウェア・キーストアにOracle Key Vaultパスワードを追加できます。 - 例: ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードの変更
ADMINISTER KEY MANAGEMENT UPDATE SECRET
文によって、ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードを変更できます。 - 例: ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードの削除
ADMINISTER KEY MANAGEMENT DELETE SECRET
文によって、ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードを削除できます。 - 外部キーストアへのOracle Databaseのシークレットの格納
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文によって、シークレットの追加、更新および削除を行うことができます。 - 例: 外部キーストアへのOracle Databaseのシークレットの追加
ADMINISTER KEY MANAGEMENT ADD SECRET
文によって、外部キーストアにOracle Databaseのシークレットを追加できます。 - 例: 外部キーストアでのOracle Databaseのシークレットの変更
ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET
文によって、外部キーストアにあるOracle Databaseシークレットを変更できます。 - 例: 外部キーストアでのOracle Databaseのシークレットの削除
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT
文によって、外部キーストアにあるOracle Databaseシークレットを削除できます。 - 外部キー・マネージャへの自動オープン接続の構成
自動ログイン機能を使用するように外部キー・マネージャを構成できます。
親トピック: キーストアおよびマスター 暗号化キーの管理
4.3.1 キーストアへのOracle Databaseのシークレットの格納について
キーストアでは、Oracle Databaseの内部機能をサポートするシークレットを格納したり、Oracle GoldenGateなどの外部クライアントを統合できます。
秘密キーはOracleの識別子規則に従った文字列である必要があります。既存のキーストアでクライアントのシークレットを追加、更新または削除できます。Oracle GoldenGateのExtractプロセスでは、データ・ファイル内およびREDO
またはUNDO
ログ内のデータを復号化するためにデータ暗号化キーが必要です。キーは、Oracle DatabaseとOracle GoldenGateクライアントの間でキーを共有するときに、共有シークレットによって暗号化されます。ソフトウェア・キーストアには、共有シークレットが格納されます。
サイトの要件によっては、外部キーストアが構成されている場合でも、自動的にキーストアを開く操作が必要となる場合があります。そのため、外部キー・マネージャのパスワードを自動ログイン・ソフトウェア・キーストアに格納し、外部キーストアで自動ログイン機能を有効にすることができます。また、Oracle Database側では、データベース用の資格証明を格納して、ソフトウェア・キーストアで外部ストレージ・サーバーにログインできます。
Oracle Databaseのシークレットをソフトウェア・キーストアと外部キーストアの両方に格納できます。
-
ソフトウェア・キーストア: シークレットをパスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストア、およびローカル自動ログイン・ソフトウェア・キーストアに格納できます。シークレットを自動ログイン(または自動ログイン・ローカル)・キーストアに格納する場合は、次の点に注意してください。
-
自動ログイン・ソフトウェア・キーストアがその対応するパスワードベースのソフトウェア・キーストアと同じロケーションにある場合、シークレットは自動的に追加されます。
-
自動ログイン・ソフトウェア・キーストアがその対応するパスワードベースのソフトウェア・キーストアと異なるロケーションにある場合、パスワードベースのキーストアから自動ログイン・キーストアを再度作成して、2つのキーストアの同期を維持する必要があります。
-
-
外部キーストア: シークレットを標準外部キー・マネージャに格納できます。
4.3.2 ソフトウェア・キーストアへのOracle Databaseのシークレットの格納
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文によって、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。
すべてのADMINISTER KEY MANAGEMENT
文と同様に、ADMINISTER KEY MANAGEMENT
またはSYSKM
管理権限が必要です。既存のシークレットについての情報を検索するために、V$CLIENT_SECRETS
動的ビューを問い合せることができます。
-
シークレットの追加: 次の構文を使用します。
ADMINISTER KEY MANAGEMENT ADD SECRET 'secret' FOR CLIENT 'client_identifier' [USING TAG 'tag'] [TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING backup_id];
-
シークレットの更新: 次の構文を使用します。
ADMINISTER KEY MANAGEMENT UPDATE SECRET 'secret' FOR CLIENT 'client_identifier' [USING TAG 'tag'] [TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING backup_id];
-
シークレットの削除: 次の構文を使用します。
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'client_identifier' [FROM [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location [FORCE KEYSTORE] IDENTIFIED BY [EXTERNAL STORE | keystore_password] [WITH BACKUP [USING backup_id];
これらの文すべてで、次のように指定します。
-
secret
は、格納、更新、または削除するクライアントの秘密キーです。この設定は、一重引用符(' '
)で囲むか、シークレットにスペースが使用されていない場合は引用符を省略します。既存のシークレットとそれらのクライアント識別子についての情報を検索するには、V$CLIENT_SECRETS
動的ビューを問い合せます。 -
client_identifier
は、秘密キーの識別に使用される英数字文字列です。client_identifier
にはデフォルト値はありません。この設定は、一重引用符(' '
)で囲みます。 -
TO [[LOCAL] AUTO_LOGIN] KEYSTORE
により、sqlnet.ora
ファイル内で指定されている自動ログイン・キーストアの場所を示します。 -
tag
は、格納する秘密キーについてのオプションのユーザー定義の説明です。tag
は、ADD
およびUPDATE
操作と一緒に使用できます。この設定は、一重引用符(' '
)で囲みます。このタグは、V$CLIENT_SECRETS
ビューのSECRET_TAG
列に表示されます。WITH BACKUP
は、ADD
、UPDATE
またはDELETE
操作の前にキーストアがバックアップされていない場合は必須です。backup_identifier
は、バックアップについてのオプションのユーザー定義の説明です。backup_identifier
は、一重引用符(' '
)で囲みます。 -
[TO | FROM [[LOCAL] AUTOLLOGIN] KEYSTORE
により、qlnet.ora
ファイル内で設定されている、自動ログイン・キーストアまたはパスワード・キーストアの場所を指定します。 -
FORCE KEYSTORE
は、自動ログイン・キーストアが開いている(および使用されている)か、キーストアが閉じている場合に、この操作のためにパスワード保護されたキーストアを一時的に開きます。 -
IDENTIFIED BY
は次のいずれかの設定にできます。-
EXTERNAL STORE
は、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。 -
keystore_password
は、キーストアのパスワードです。
-
4.3.3 例: ソフトウェア・キーストアへのOracle Key Vaultパスワードの追加
ADMINISTER KEY MANAGEMENT ADD SECRET
文によって、ソフトウェア・キーストアにOracle Key Vaultパスワードを追加できます。
例4-8に、既存のソフトウェア・キーストアにOracle Key Vaultパスワードをシークレットとして追加する方法を示します(たとえば、Oracle Key Vaultへの移行後、Oracle Key Vaultのパスワードを古いTDEソフトウェア・キーストアに追加して、Oracle Key Vaultへの自動オープン接続を設定できます)。
例4-8 ソフトウェア・キーストアへのOracle Databaseのシークレットの追加
ADMINISTER KEY MANAGEMENT ADD SECRET 'external_key_manager_password' FOR CLIENT 'OKV_PASSWORD' IDENTIFIED BY software_keystore_password WITH BACKUP;
ソフトウェア・キーストアからOracle Key Vaultに移行する前に、ソフトウェア・キーストアをOracle Key Vaultのそのエンドポイントの仮想ウォレットにアップロードできます。移行後、そのキーがOracle Key Vaultにあるため、古いTDEウォレットを削除できます。ウォレットがまだ存在しない場合に自動オープンのOracle Key Vaultを構成するには、次の文を実行します。
ADMINISTER KEY MANAGEMENT ADD SECRET 'external_keystore_password' FOR CLIENT 'OKV_PASSWORD' INTO [LOCAL] AUTO_LOGIN KEYSTORE 'WALLET_ROOT/tde';
TDE_CONFIGURATION='KEYSTORE_CONFIGUARTION=OKV'
の設定は、Oracle Key Vaultへのパスワードで保護された接続用です。Oracle Key Vaultのパスワードが既存または新しく作成されたウォレットに挿入された後、TDE_CONFIGURATION
設定を'KEYSTORE_CONFIGURATION=OKV|FILE'
に変更します。
親トピック: Oracle Databaseのシークレットの格納
4.3.4 例: ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードの変更
ADMINISTER KEY MANAGEMENT UPDATE SECRET
文によって、ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードを変更できます。
例4-9に、ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードを変更する方法を示します。
例4-9 ソフトウェア・キーストアでのOracle Key Vaultパスワード・シークレットの変更
ADMINISTER KEY MANAGEMENT UPDATE SECRET admin_password FOR CLIENT 'admin@myhost' USING TAG 'new_host_credentials' FORCE KEYSTORE IDENTIFIED BY software_keytore_password;
次のバージョンでは、キーストアのパスワードは外部ストアにあります。
DMINISTER KEY MANAGEMENT UPDATE SECRET admin_password FOR CLIENT 'admin@myhost' USING TAG 'new_host_credentials' FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE;
親トピック: Oracle Databaseのシークレットの格納
4.3.5 例: ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードの削除
ADMINISTER KEY MANAGEMENT DELETE SECRET
文によって、ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードを削除できます。
例4-10に、ソフトウェア・キーストアにシークレットとして格納されているOracle Key Vaultパスワードを削除する方法を示します。
例4-10 ソフトウェア・キーストアでのOracle Key Vaultパスワード・シークレットの削除
ADMINISTER KEY MANAGEMENT
DELETE SECRET FOR CLIENT 'OKV_PASSWORD'
FORCE KEYSTORE
IDENTIFIED BY password WITH BACKUP;
次のバージョンでは、キーストアのパスワードは外部ストアにあります。
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'OKV_PASSWORD' FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE WITH BACKUP;
親トピック: Oracle Databaseのシークレットの格納
4.3.6 外部キーストアへのOracle Databaseのシークレットの格納
ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET
文によって、シークレットの追加、更新および削除を行うことができます。
すべてのADMINISTER KEY MANAGEMENT
文と同様に、ADMINISTER KEY MANAGEMENT
またはSYSKM
管理権限が必要です。使用されている、または現在開いているキーストアに対してシークレットを追加、更新または削除するときには、ルートでADMINISTER KEY MANAGEMENT
を実行する必要があります。
HSMとOracle Key Vaultの両方の外部キーストアにOracle Databaseのシークレットを格納できますが、Key VaultキーストアにHSM_PASSWORD
を格納した場合は自動ログインが機能しないことに注意してください。
-
シークレットの追加: 次の構文を使用します。
ADMINISTER KEY MANAGEMENT ADD SECRET 'secret' FOR CLIENT 'client_identifier' [USING TAG 'tag'] [TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location [FORCE KEYSTORE] IDENTIFIED BY "external_key_manager_password" [WITH BACKUP [USING backup_id]];
-
シークレットの更新: 次の構文を使用します。
ADMINISTER KEY MANAGEMENT UPDATE SECRET 'secret' FOR CLIENT 'client_identifier' [USING TAG 'tag'] [TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location [FORCE KEYSTORE] IDENTIFIED BY "external_key_manager_password" [WITH BACKUP [USING backup_id]];
-
シークレットの削除: 次の構文を使用します。
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'client_identifier' [FROM [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location [FORCE KEYSTORE] IDENTIFIED BY "external_key_manager_password" [WITH BACKUP [USING backup_id]];
これらの文すべてで、次のように指定します。
-
secret
は、格納、更新、または削除するクライアントの秘密キーです。この設定は、二重引用符(' '
)で囲むか、シークレットにスペースが使用されていない場合は引用符を省略します。既存のシークレットとそれらのクライアント識別子についての情報を検索するには、V$CLIENT_SECRETS
動的ビューを問い合せます。 -
client_identifier
は、秘密キーの識別に使用される英数字文字列です。client_identifier
にはデフォルト値はありません。この設定は一重引用符(' ')で囲みます。 -
tag
は、格納する秘密キーについてのオプションのユーザー定義の説明です。tag
は、ADD
およびUPDATE
操作と一緒に使用できます。この設定は、一重引用符(' '
)で囲みます。このタグは、V$CLIENT_SECRETS
ビューのSECRET_TAG
列に表示されます。 -
[TO | FROM [[LOCAL] AUTO_LOGIN] KEYSTORE
により、外部キーストア用に使用するキーストアの場所を指定します。 -
external_key_manager_password
は、Oracle Key VaultまたはOCI Vault - Key Managementの外部キーストア・マネージャ用です。このパスワードは二重引用符で囲みます。Oracle Key Vaultの場合は、Oracle Key Vaultクライアントのインストール時に指定したパスワードを入力します。その時点でパスワードが指定されていない場合、ADMINISTER KEY MANAGEMENT
文のパスワードはNULL
になります。
4.3.7 例: 外部キーストアへのOracle Databaseのシークレットの追加
ADMINISTER KEY MANAGEMENT ADD SECRET
文によって、外部キーストアにOracle Databaseのシークレットを追加できます。
例4-11に、ユーザーのパスワードを外部キーストアに追加する方法を示します。
例4-11 外部キーストアへのOracle Databaseのシークレットの追加
ADMINISTER KEY MANAGEMENT ADD SECRET 'password' FOR CLIENT 'admin@myhost' USING TAG 'myhost admin credentials' IDENTIFIED BY "external_key_manager_password";
次のバージョンでは、キーストア・パスワードが外部ストアにあるため、IDENTIFIED BY
にはEXTERNAL STORE
設定が使用されます。
ADMINISTER KEY MANAGEMENT ADD SECRET 'password'
FOR CLIENT 'admin@myhost' USING TAG 'myhost admin credentials'
IDENTIFIED BY EXTERNAL STORE;
親トピック: Oracle Databaseのシークレットの格納
4.3.8 例: 外部キーストアでのOracle Databaseのシークレットの変更
ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET
文によって、外部キーストアにあるOracle Databaseシークレットを変更できます。
例4-12に、外部キーストアにシークレットとして格納されているパスワードを変更する方法を示します。
例4-12 外部キーストアでのOracle Databaseのシークレットの変更
ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET 'password2' FOR CLIENT 'admin@myhost' USING TAG 'New host credentials' IDENTIFIED BY "external_key_manager_password";
次のバージョンでは、キーストアのパスワードは外部ストアにあります。
ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET 'password2'
FOR CLIENT 'admin@myhost' USING TAG 'New host credentials'
IDENTIFIED BY EXTERNAL STORE;
親トピック: Oracle Databaseのシークレットの格納
4.3.9 例: 外部キーストアでのOracle Databaseのシークレットの削除
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT
文によって、外部キーストアにあるOracle Databaseシークレットを削除できます。
例4-13に、外部キーストアにシークレットとして格納されている外部キー・マネージャ・パスワードを削除する方法を示します。
例4-13 外部キーストアでのOracle Databaseのシークレットの削除
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'admin@myhost'
IDENTIFIED BY "external_key_manager_password";
次のバージョンでは、キーストアのパスワードは外部ストアにあります。
ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'admin@myhost' IDENTIFIED BY EXTERNAL STORE;
親トピック: Oracle Databaseのシークレットの格納
4.3.10 外部キー・マネージャへの自動オープン接続の構成
外部キー・マネージャは、自動ログイン機能を使用するように構成できます。
- 外部キー・マネージャへの自動オープン接続について
外部キー・マネージャへの自動オープン接続は、自動ログイン・キーストアに外部キーストア資格証明を格納します。 - 外部キー・マネージャへの自動オープン接続の構成
自動オープン接続を構成するには、ADMINISTER KEY MANAGEMENT
文を使用して、認証するクライアント・シークレットを外部キー・マネージャに対して追加または更新する必要があります。
親トピック: Oracle Databaseのシークレットの格納
4.3.10.1 外部キー・マネージャへの自動オープン接続について
外部キー・マネージャへの自動オープン接続は、自動ログイン・キーストアに外部キーストア資格証明を格納します。
キーストア・パスワードの入力を求めずにキーストアをオープンできるように、外部キー・マネージャへの接続を構成できます。この構成は、Oracle Real Application Clusters (Oracle RAC)環境において不可欠であり、Oracle Data Guardスタンバイ・データベースに推奨されます。この構成により、システム全体のセキュリティが低下することに注意してください。ただし、この構成は、無人操作または自動操作をサポートし、キー管理のために外部キーストアに登録されているTDE対応データベースが自動起動できるデプロイメントに役立ちます。
問合せSELECT * FROM V$ENCRYPTION_WALLET
を実行すると、自動ログイン外部キーストアが自動的に開くため、注意してください。たとえば、自動ログイン外部キーストアを構成しているとします。キーストアを閉じて、V$ENCRYPTION_WALLET
ビューを問い合せると、出力にキーストアが開かれていることが示されます。これは、V$ENCRYPTION_WALLET
が自動ログイン外部キーストアを開き、自動ログイン・キーストアのステータスを表示したためです。
外部キーストアの自動ログイン機能を有効にするには、外部キーストアの資格証明を自動ログイン・ウォレットに格納する必要があります。
ADMINISTER KEY MANAGEMENT
文の使用においては、概念上は、クライアント・シークレットに対して機能するコマンドのセットとして次の2つがあります。
- 現在使用中のウォレット(つまり、アクティブなTDEマスター暗号化キーが含まれているウォレット)に対して機能する
ADMINISTER KEY MANAGEMENT
コマンド。 - アクティブなTDEマスター暗号化キーの格納に現在使用されていないウォレットに対して機能する
ADMINISTER KEY MANAGEMENT
コマンド。自動ログイン外部キーストアを構成する場合は、この手法を使用することをお薦めします。
親トピック: 外部キー・マネージャへの自動オープン接続の構成
4.3.10.2 外部キー・マネージャへの自動オープン接続の構成
自動オープン接続を構成するには、ADMINISTER KEY MANAGEMENT
文を使用して、認証するクライアント・シークレットを外部キー・マネージャに対して追加または更新する必要があります。
V$ENCRYPTION_WALLET
動的ビューを問い合せると、STATUS
列にはOPEN
ではなくOPEN_NO_MASTER_KEY
と表示されます(このウォレットにはクライアント・シークレットのみが含まれているため)。
-
ソフトウェア・キーストアのキーストアの場所がまだない場合には、これを含めるように
init.ora
ファイルのWALLET_ROOT
パラメータを再構成します。前に外部キーストアを使用して移行している場合には、ソフトウェア・キーストアの場所はすでに存在している可能性があります。
たとえば:
WALLET_ROOT=/etc/ORACLE/WALLETS/orcl
-
ソフトウェア・キーストアでシークレットを追加または更新します。
シークレットは外部キー・マネージャのパスワードであり、クライアントは
HSM_PASSWORD
です。HSM_PASSWORD
は、外部キー・マネージャのパスワードをソフトウェア・キーストア内のシークレットとして表現するために使用されるOracle定義のクライアント名です。たとえば:
ADMINISTER KEY MANAGEMENT ADD SECRET 'external_key_manager_password' FOR CLIENT 'HSM_PASSWORD' TO LOCAL AUTO_LOGIN KEYSTORE software_keystore_location WITH BACKUP;
この例では、次のようになります。
software_keystore_location
は、先ほどステップ1で定義したWALLET_ROOT
の場所内のソフトウェア・キーストアの場所です。LOCAL
を指定すると、HSMの資格証明を保持するために、ローカル自動ログイン・ウォレット・ファイルcwallet.sso
が作成されます。このウォレットは、それが作成されたホストに関連付けられています。Oracle Real Application Clusters環境の場合は、Oracle RACノードごとにホスト名が異なるため、
LOCAL
キーワードを省略しますが、それらすべてのノードで同じ外部キー・マネージャが使用されます。Oracle RACインスタンスのローカル自動ログイン・ウォレットを構成した場合は、cwallet.sso
ファイルが作成された最初のOracle RACノードのみ、外部キー・マネージャ資格証明にアクセス可能になります。最初のノードからではなく別のノードからキーストアを開こうとすると、cwallet.sso
が自動的に開かれるという問題が発生するため、自動ログイン外部キーストアを自動で開くことができなくなります。この制限事項が当てはまるのは、Oracle RACクラスタのcwallet.sso
ファイルの保持に共有の場所を使用している場合です。これは、LOCAL
の使用が有効なのは、Oracle RAC環境の各ノードに別個のcwallet.sso
ファイル(同じ資格証明を含む)がある場合のみであるためです。
この段階で、TDE操作が次に実行されるときに、外部キー・マネージャの自動ログイン・キーストアが自動的に開くようになります。
4.4 キーストアへのOracle GoldenGateのシークレットの格納
Oracle GoldenGateシークレットを透過的データ暗号化キーストアに格納できます。
- キーストアへのOracle GoldenGateのシークレットの格納について
キーストアを使用して、ツールおよびOracle GoldenGateなどの外部クライアントの秘密キーを格納できます。 - Oracle GoldenGate Extractのクラシック・キャプチャ・モードのTDE要件
Oracle GoldenGate Extractで透過的データ暗号化の取得をサポートするための要件を満たしていることを確認します。 - Oracle GoldenGate用のキーストア・サポートの構成
Oracle GoldenGateのために透過的データ暗号化キーストアのサポートを構成するには、キーストアの共有シークレットを使用します。
親トピック: キーストアおよびマスター 暗号化キーの管理
4.4.1 キーストアへのOracle GoldenGateのシークレットの格納について
キーストアを使用して、ツールおよびOracle GoldenGateなどの外部クライアントの秘密キーを格納できます。
秘密キーはOracleの識別子規則に従った文字列である必要があります。既存のキーストアでクライアントのシークレットを追加、更新または削除できます。この項では、Oracle GoldenGateのExtract(抽出)プロセスでクラシック・キャプチャ・モードを使用して、透過的データ暗号化によって暗号化されたデータを取得する方法について説明します。
Extractがクラシック・キャプチャ・モードの場合、TDEをサポートするには次のキーの交換が必要です。
-
Extractプロセスのクラシック・キャプチャ・モードでのTDEによるOracle GoldenGateのサポートでは、Oracle DatabaseとExtractプロセスでシークレットを共有して、交換される機密情報を暗号化する必要があります。共有シークレットは、Oracle DatabaseおよびOracle GoldenGateドメインに安全に格納されます。共有シークレットは、ソフトウェア・キーストアまたは外部キーストアにデータベース・シークレットとして格納されます。
-
復号化キーは、Oracle DatabaseおよびOracle GoldenGateドメインに安全に格納されている、共有シークレットとして知られているパスワードです。共有シークレットを所有している当事者のみが、表キーおよびREDOログ・キーを復号化できます。
共有シークレットの構成後、共有シークレットを使用してOracle GoldenGate Extractによってデータが復号化されます。Oracle GoldenGate Extractでは、TDEマスター暗号化キー自体は扱われず、キーストア・パスワードも認識しません。TDEマスター暗号化キーおよびパスワードは、Oracle Database構成内に保持されます。
Oracle GoldenGate Extractでは、遷移時にOracle GoldenGateによって保持されるOracle GoldenGate証跡ファイルに、復号化されたデータが書き込まれるのみです。サイトのオペレーティング・システムの標準セキュリティ・プロトコルと、Oracle GoldenGate AES暗号化オプションを使用して、このファイルを保護できます。Oracle GoldenGateでは、暗号化データは破棄ファイル(DISCARDFILE
パラメータで指定)には書き込まれません。ENCRYPTED
という語は、使用中のすべての破棄ファイルに書き込まれます。
Oracle GoldenGateでは、暗号化データの処理時にキーストアが開いている必要はありません。TDE操作に対するOracle GoldenGate機能のパフォーマンス上の影響はありません。
4.4.2 Oracle GoldenGate Extractのクラシック・キャプチャ・モードのTDE要件
Oracle GoldenGate Extractで透過的データ暗号化の取得をサポートするための要件を満たしていることを確認します。
要件は次のとおりです。
-
高いセキュリティ基準を維持するには、Oracle GoldenGateのExtractプロセスがOracleユーザー(Oracle Databaseを実行するユーザー)の一部として実行されるようにします。これにより、キーはOracleユーザーと同じ権限によってメモリー内で保護されます。
-
Oracle GoldenGateのExtractプロセスを、Oracle Databaseインストールと同じコンピュータで実行します。
4.4.3 Oracle GoldenGate用のキーストア・サポートの構成
Oracle GoldenGateのために透過的データ暗号化キーストアのサポートを構成するには、キーストアの共有シークレットを使用します。
- ステップ1: キーストアの共有シークレットを決定する
キーストアの共有シークレットはパスワードです。 - ステップ2: TDEによるOracle GoldenGateのサポートのためにOracle Databaseを構成する
DBMS_INTERNAL_CLKM
PL/SQLパッケージを使用して、Oracle GoldenGateのためにTDEのサポートを構成できます。 - ステップ3: TDE GoldenGate共有シークレットをキーストアに格納する
ADMINISTER KEY MANAGEMENT
文によって、TDE GoldenGate共有シークレットをキーストアに格納できます。 - ステップ4: TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定する
GoldenGateソフトウェア・コマンド・インタフェース(GGSCI)ユーティリティによって、TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定します。
4.4.3.1 ステップ1: キーストアの共有シークレットを決定する
キーストアの共有シークレットはパスワードです。
-
Oracle Databaseのパスワード基準を満たす(または超える)共有シークレットを決定します。
このパスワードは、Oracle GoldenGate Extractと連携するように透過的データ暗号化を構成する作業を担当する、信頼できる管理者以外のユーザーと共有しないでください。
4.4.3.2 ステップ2: TDEによるOracle GoldenGateのサポートのためにOracle Databaseを構成する
DBMS_INTERNAL_CLKM
PL/SQLパッケージを使用して、Oracle GoldenGateのためにTDEのサポートを構成できます。
-
SYSDBA
管理権限を持つユーザーSYS
としてデータベース・インスタンスにログインします。たとえば
sqlplus sys as sysdba Enter password: password Connected.
-
Oracle Databaseに付属の
DBMS_INTERNAL_CLKM
PL/SQLパッケージをロードします。たとえば:
@?/app/oracle/product/12.2/rdbms/admin/prvtclkm.plb
prvtclkm.plb
ファイルでも、Oracle GoldenGateによってOracle Databaseから暗号化データを抽出できます。 -
DBMS_INTERNAL_CLKM
PL/SQLパッケージに対するEXECUTE
権限をOracle GoldenGate Extractデータベース・ユーザーに付与します。たとえば:
GRANT EXECUTE ON DBMS_INTERNAL_CLKM TO psmith;
この手順によって、Oracle DatabaseとOracle GoldenGate Extractで情報を交換できます。
-
SQL*Plusを終了します。
4.4.3.3 ステップ3: TDE GoldenGate共有シークレットをキーストアに格納する
ADMINISTER KEY MANAGEMENT
文によって、TDE GoldenGate共有シークレットをキーストアに格納できます。
-
次の構文を使用して、キーストアにOracle GoldenGateのTDEキーを設定します。
ADMINISTER KEY MANAGEMENT ADD|UPDATE|DELETE SECRET 'secret' FOR CLIENT 'secret_identifier' [USING TAG 'tag'] IDENTIFIED BY keystore_password [WITH BACKUP [USING 'backup_identifier']];
ここでは次のように指定します。
-
secret
は、格納、更新、または削除するクライアントの秘密キーです。この設定は、一重引用符(' '
)で囲みます。 -
secret_identifier
は、秘密キーの識別に使用される英数字の文字列です。secret_identifier
にはデフォルト値はありません。この設定は、一重引用符(' '
)で囲みます。 -
tag
は、格納する秘密キーについてのオプションのユーザー定義の説明です。tag
は、ADD
およびUPDATE
操作と一緒に使用できます。この設定は、一重引用符(' '
)で囲みます。このタグは、V$CLIENT_SECRETS
ビューのSECRET_TAG
列に表示されます。レポート用のTDEマスター暗号化キーのカスタム属性の作成 -
keystore_password
は、構成されているキーストアのパスワードです。 -
WITH BACKUP
は、ADD
、UPDATE
またはDELETE
操作の前にキーストアがバックアップされていない場合は必須です。backup_identifier
は、バックアップについてのオプションのユーザー定義の説明です。backup_identifier
は、一重引用符(' '
)で囲みます。
次の例は、秘密キーをキーストアに追加して、キーストアと同じディレクトリにバックアップを作成します。
ADMINISTER KEY MANAGEMENT ADD SECRET 'some_secret' FOR CLIENT 'ORACLE_GG' USING TAG 'GoldenGate Secret' IDENTIFIED BY password WITH BACKUP USING 'GG backup';
-
-
作成したエントリを確認します。
たとえば:
SELECT CLIENT, SECRET_TAG FROM V$CLIENT_SECRETS WHERE CLIENT = 'ORACLEGG'; CLIENT SECRET_TAG -------- ------------------------------------------ ORACLEGG some_secret
-
ログ・ファイルを切り換えます。
CONNECT / AS SYSDBA ALTER SYSTEM SWITCH LOGFILE;
関連項目:
-
タグの詳細は、「レポート用のTDEマスター暗号化キーのカスタム属性の作成」を参照してください。
-
ログ・ファイルの切換えの詳細は、『Oracle Database管理者ガイド』を参照してください
-
Oracle Real Application Clusters (RAC)環境でこの手順の使用に問題が発生した場合は、透過的データ暗号化とOracle Real Application Clustersとの連携を参照してください。
4.4.3.4 ステップ4: TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定する
GoldenGateソフトウェア・コマンド・インタフェース(GGSCI)ユーティリティによって、TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定します。
-
GGSCIユーティリティを起動します。
たとえば:
ggsci
-
GGSCIユーティリティで、
ENCRYPT PASSWORD
コマンドを実行してOracle GoldenGate Extractパラメータ・ファイル内の共有シークレットを暗号化します。ENCRYPT PASSWORD shared_secret algorithm ENCRYPTKEY keyname
ここでは次のように指定します。
-
shared_secret
は、キーストアの共有シークレットを決定するときに作成したクリアテキストの共有シークレットです。この設定では大文字と小文字が区別されます。 -
algorithm
は、AES暗号化を指定する次のいずれかの値です。-
AES128
-
AES192
-
AES256
-
-
keyname
は、ENCKEYS
参照ファイルの暗号化キーの論理名です。Oracle GoldenGateでは、この名前を使用して、ENCKEYS
ファイル内で実際のキーが参照されます。
たとえば:
ENCRYPT PASSWORD password AES256 ENCRYPTKEY mykey1
-
-
Oracle GoldenGate Extractパラメータ・ファイルで、
DECRYPTPASSWORD
オプションを指定してDBOPTIONS
パラメータを設定します。入力として、暗号化共有シークレットと、Oracle GoldenGateによって生成されたか、またはユーザーが定義した復号化キーを指定します。
DBOPTIONS DECRYPTPASSWORD shared_secret algorithm ENCRYPTKEY keyname
ここでは次のように指定します。
-
shared_secret
は、キーストアの共有シークレットを決定するときに作成したクリアテキストの共有シークレットです。この設定では大文字と小文字が区別されます。 -
algorithm
は、AES暗号化を指定する次のいずれかの値です。-
AES128
-
AES192
-
AES256
-
-
keyname
は、ENCKEYS
参照ファイルの暗号化キーの論理名です。たとえば:
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH AES256 ENCRYPTKEY mykey1
-