ADMINISTER KEY MANAGEMENT

目的

ADMINISTER KEY MANAGEMENT文は、透過的データ暗号化のための統合されたキー管理インタフェースを提供します。この文は、次の目的に使用できます。

  • ソフトウェア・キーストアおよびハードウェア・キーストアの管理

  • 暗号化キーの管理

  • シークレットの管理

前提条件

ADMINISTER KEY MANAGEMENTシステム権限、またはSYSKMシステム権限が必要です。

CONTAINER句を指定する場合は、マルチテナント・コンテナ・データベース(CDB)に接続している必要があります。CONTAINER = ALLを指定するには、現在のコンテナがルートである必要があります。また、共通に付与されているADMINISTER KEY MANAGEMENTまたはSYSKM権限が必要です。

構文

create_keystore::=

close_keystore::=

backup_keystore::=

alter_keystore_password::=

merge_into_new_keystore::=

merge_into_existing_keystore::=

isolate_keystore::=

unite_keystore ::=

reverse_migrate_key::=

add_update_secret::=

add_update_secret_seps::=



delete_secret_seps::=



zero_downtime_software_patching_clauses::=



セマンティクス

keystore_management_clauses

これらの句を使用して、次のキーストア管理操作を実行できます。

  • ソフトウェア・キーストアの作成

  • ソフトウェア・キーストアまたはハードウェア・キーストアのオープンとクローズ

  • パスワードで保護されたソフトウェア・キーストアのバックアップ

  • パスワードで保護されたソフトウェア・キーストアのパスワードの変更

  • 2つの既存のソフトウェア・キーストアの、パスワードで保護された新しいソフトウェア・キーストアへのマージ

  • 1つの既存のソフトウェア・キーストアの、パスワードで保護された既存のソフトウェア・キーストアへのマージ

  • プラガブル・データベース(PDB)で固有のキーストアを管理できるようにするための、コンテナ・データベース(CDB)からのPDBのキーストアの分離

  • CDBとのPDBのキーストアの統合

create_keystore

この句を使用して、パスワードで保護されたソフトウェア・キーストアと自動ログイン・ソフトウェア・キーストアの2種類のソフトウェア・キーストアを作成できます。この句をマルチテナント環境で発行するには、ルートに接続する必要があります。

CREATE KEYSTORE

パスワードで保護されたソフトウェア・キーストアを作成するには、この句を指定します。

  • keystore_locationには、ソフトウェア・キーストア・ディレクトリのフルパス名を指定します。キーストアは、このディレクトリにewallet.p12という名前のファイルで作成されます。WALLET_ROOTパラメータが設定されている場合、この句はオプションです。ご使用のシステムのソフトウェア・キーストア・ディレクトリを確認する方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを設定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

CREATE [ LOCAL ] AUTO_LOGIN KEYSTORE

自動ログイン・ソフトウェア・キーストアを作成するには、この句を指定します。自動ログイン・ソフトウェア・キーストアは、パスワードで保護された既存のソフトウェア・キーストアから作成されます。自動ログイン・キーストアは、システム生成のパスワードを保持します。これは、パスワードで保護されたソフトウェア・キーストアと同じディレクトリにある、cwallet.ssoという名前のPKCS#12ベースのファイルに格納されます。

  • デフォルトでは、Oracleが作成する自動ログイン・キーストアは、このキーストアが格納されているコンピュータ以外のコンピュータからも開けるようになります。LOCALキーワードを指定すると、Oracle Databaseによりローカルの自動ログイン・キーストアが作成されますが、そのキーストアはそれが格納されているコンピュータからのみ開けます。

  • keystore_locationには、パスワードで保護された既存のソフトウェア・キーストアが格納されているディレクトリのフルパス名を指定します。パスワードで保護されたソフトウェア・キーストアは、開いていても閉じていてもかまいません。

  • IDENTIFIED BY句を使用すると、パスワードで保護された既存のソフトウェア・キーストアにパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

キーストアの作成の制限事項

ローカルであるかどうかにかかわらず、パスワードで保護されたソフトウェア・キーストアと自動ログイン・ソフトウェア・キーストアは、どちらも1つのディレクトリ内に1つまで作成できます。

関連項目:

ソフトウェア・キーストアの作成の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

open_keystore

この句を使用すると、パスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアを開くことができます。

ノート:

自動ログイン・ソフトウェア・キーストアとローカルの自動ログイン・ソフトウェア・キーストアを開くために、この句を使用する必要はありません。これらのキーストアは、マスター暗号化キーへのアクセスにより自動的に開かれます。

  • FORCE KEYSTORE句は、PDBでキーストアを開く場合に役立ちます。これにより、確実にPDBキーストアを開く前にCDBルート・キーストアが開きます。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • CONTAINER句は、CDBに接続しているときに適用されます。

    現在のコンテナがプラガブル・データベース(PDB)である場合は、CONTAINER = CURRENTを指定すると、PDBでキーストアが開きます。PDBでキーストアを開く前に、ルートでキーストアが開かれている必要があります。

    現在のコンテナがルートである場合は、CONTAINER = CURRENTを指定すると、ルートでキーストアが開き、CONTAINER = ALLと指定すると、ルートとすべてのPDBでキーストアが開きます。

    この句を省略すると、CONTAINER = CURRENTがデフォルトになります。

関連項目:

パスワードベースのソフトウェア・キーストアハードウェア・キーストアを開く方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

close_keystore

この句を使用すると、パスワードで保護されたソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアまたはハードウェア・キーストアを閉じることができます。キーストアを閉じると、すべての暗号化操作と復号化操作が無効になります。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。

  • パスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアを閉じるには、IDENTIFIED BY句を指定します。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • 自動ログイン・キーストアを閉じる場合は、IDENTIFIED BY句を指定しないでください。自動ログイン・キーストアを閉じる前に、V$ENCRYPTION_WALLETビューのWALLET_TYPE列を確認してください。AUTOLOGINが戻されたら、キーストアを閉じることができます。そうしないと、キーストアを閉じようとするとエラーが発生します。

  • CONTAINER句は、CDBに接続しているときに適用されます。

    現在のコンテナがPDBである場合は、CONTAINER = CURRENTを指定すると、PDBでキーストアが閉じます。

    現在のコンテナがルートである場合は、CONTAINER = CURRENT句とCONTAINER = ALL句は同じ結果になり、どちらの句でもルートとすべてのPDBでキーストアが閉じます。

    この句を省略すると、CONTAINER = CURRENTがデフォルトになります。

関連項目:

キーストアを閉じる方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

backup_keystore

この句を使用すると、パスワードで保護されたソフトウェア・キーストアをバックアップできます。このキーストアは、開いている必要があります。

  • デフォルトでは、Oracle Databaseは、ewallet_timestamp.p12という形式の名前でバックアップ・ファイルを作成します。timestampは、UTC形式でのファイル作成時のタイムスタンプです。オプションのUSING 'backup_identifier'句を使用すると、バックアップ・ファイルの名前に追加するバックアップ識別子を指定できます。たとえば、バックアップ識別子に'Backup1'を指定すると、Oracle Databaseは、ewallet_timestamp_Backup1.p12という形式の名前でバックアップ・ファイルを作成します。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • オプションのTO 'keystore_location'句を使用すると、バックアップ・ファイルの作成先ディレクトリを指定できます。この句を省略すると、バックアップは、キーストアがバックアップされているディレクトリに作成されます。

関連項目:

パスワードベースのソフトウェア・キーストアのバックアップ方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

alter_keystore_password

この句を使用すると、パスワードで保護されたソフトウェア・キーストアのパスワードを変更できます。このキーストアは、開いている必要があります。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • old_keystore_passwordには、キーストアの古いパスワードを指定します。new_keystore_passwordには、キーストアの新しいパスワードを指定します。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • オプションのWITH BACKUP句を使用すると、パスワードを変更する前に、キーストアのバックアップを作成するようにデータベースに指示できます。詳細は、「WITH BACKUP句のノート」を参照してください。

関連項目:

パスワードベースのソフトウェア・キーストアのパスワード変更方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

merge_into_new_keystore

この句を使用すると、2つのソフトウェア・キーストアを新しい1つのキーストアにマージできます。2つの構成要素であるキーストアに含まれるキーと属性は、新しいキーストアに追加されます。構成要素であるキーストアには、パスワードベースのソフトウェア・キーストアまたは自動ログイン(ローカルの自動ログインを含む)ソフトウェア・キーストアのいずれもできます。また、それらは開いていても閉じていてもかまいません。新しいキーストアは、パスワードで保護されたソフトウェア・キーストアになります。マージが完了された時点では、閉じられた状態になります。この句に指定するキーストアは、データベースで使用するように構成されたキーストアでも、それ以外のキーストアでもかまいません。

  • keystore1_locationには、最初のキーストアが格納されているディレクトリのフルパス名を指定します。

  • IDENTIFIED BY keystore1_passwordは、最初のキーストアがパスワードベースのソフトウェア・キーストアの場合にかぎり指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • keystore2_locationには、2番目のキーストアが格納されているディレクトリのフルパス名を指定します。

  • IDENTIFIED BY keystore2_passwordは、2番目のキーストアがパスワードベースのソフトウェア・キーストアの場合にかぎり指定できます。

  • keystore3_locationには、新しいキーストアの作成先になるディレクトリのフルパス名を指定します。

  • keystore3_passwordには、新しいキーストアのパスワードを指定します。

関連項目:

ソフトウェア・キーストアのマージ方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

merge_into_existing_keystore

この句を使用すると、ソフトウェア・キーストアを、それ以外の既存のソフトウェア・キーストアにマージできます。マージ元のキーストアに含まれるキーと属性は、マージ先のキーストアに追加されます。マージ元のキーストアには、パスワードで保護されたソフトウェア・キーストアまたは自動ログイン(ローカルの自動ログインを含む)ソフトウェア・キーストアのいずれも選択できます。また、それらは開いていても閉じていてもかまいません。マージ先になるキーストアは、パスワードベースのソフトウェア・キーストアにする必要があります。これは、マージの開始時に開いていても閉じられていてもかまいません。ただし、マージが完了した時点では、閉じられた状態になります。この句に指定するキーストアは、データベースで使用するように構成されたキーストアでも、それ以外のキーストアでもかまいません。

  • keystore1_locationには、マージ元のキーストアが格納されているディレクトリのフルパス名を指定します。

  • IDENTIFIED BY keystore1_passwordは、マージ元のキーストアがパスワードベースのソフトウェア・キーストアの場合にかぎり、指定できます。

  • keystore2_locationには、マージ先になるキーストアが格納されているディレクトリのフルパス名を指定します。

  • keystore2_passwordには、マージ先になるキーストアのパスワードを指定します。

  • オプションのWITH BACKUP句を使用すると、マージを実行する前にマージ先になるキーストアのバックアップを作成するようにデータベースに指示できます。詳細は、「WITH BACKUP句のノート」を参照してください。

関連項目:

ソフトウェア・キーストアのマージ方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

isolate_keystore

コンテナ・データベース(CDB)内のプラガブル・データベース(PDB)では固有のキーストアを作成および管理できます。isolate_keystore句を使用すると、テナントで以下を行うことができます。

  • CDBのキーから独立した透過的データ暗号化キーの管理

  • 独立したキーストアのパスワードの作成

CDB環境では、特定のPDBのキーが保護される方法を選択できます。PDBでは、独立したパスワードでキーを保護するか、CDBの統合されたパスワードを使用できます。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。

  • isolated_keystore_passwordは、PDBキーストアの独立したパスワードを示します。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • united_keystore_passwordは、CDBキーストアのパスワードを示します。

  • オプションのWITH BACKUP句を使用すると、パスワードを変更する前に、キーストアのバックアップを作成するようにデータベースに指示できます。詳細は、「WITH BACKUP句のノート」を参照してください。

isolate_keystoreを指定したFORCE句

ADMINISTER KEY MANAGEMENT FORCE ISOLATE KEYSTOREコマンドのFORCE句は、分離されているマスター・キーをPDBのクローンが使用している場合に使用されます。このコマンドにより、CDBキーストアから分離されたPDBキーストアにキーがコピーされます。次に例を示します。

ADMINISTER KEY MANAGEMENT
FORCE ISOLATE KEYSTORE
IDENTIFIED BY <isolated_keystore_password>
FROM ROOT KEYSTORE
[FORCE KEYSTORE]
IDENTIFIED BY [EXTERNAL STORE | <united_keystore_password>]
[WITH BACKUP [USING <backup_identifier>]

unite_keystore

unite_keystore句を使用すると、キーストアを独立して管理していたPDBのキーストア管理モードを統合モードに変更できます。統合モードでは、CDB内のPDBを管理するためにCDB$ROOTキーストア・パスワードが使用されます。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。

  • isolated_keystore_passwordは、PDBキーストアの独立したパスワードを示します。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • united_keystore_passwordは、CDBキーストアのパスワードを示します。

  • オプションのWITH BACKUP句を使用すると、パスワードを変更する前に、キーストアのバックアップを作成するようにデータベースに指示できます。詳細は、「WITH BACKUP句のノート」を参照してください。

次に例を示します。

ADMINISTER KEY MANAGEMENT
UNITE KEYSTORE
IDENTIFIED BY <isolated_keystore_password>
WITH ROOT KEYSTORE
[FORCE KEYSTORE]
IDENTIFIED BY [EXTERNAL STORE | <united_keystore_password>]
[WITH BACKUP [USING <backup_identifier>]

key_management_clauses

これらの句を使用して次のキー管理操作を実行できます。

  • マスター暗号化キーの作成とアクティブ化

  • 暗号化キーのタグの設定

  • キーストアからファイルへの暗号化キーのエクスポート

  • ファイルからキーストアへの暗号化キーのインポート

  • パスワードで保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行

  • ハードウェア・キーストアからパスワードで保護されたソフトウェア・キーストアへの移行

set_key

この句は新しいマスター暗号化キーを作成し、それをアクティブ化します。この句を使用すると、キーストア内に最初のマスター暗号化キーを作成することも、マスター暗号化キーを交換(変更)することもできます。この句を使用するときに、マスター暗号化キーがアクティブな場合は、そのキーが非アクティブ化されてから新しいマスター暗号化キーがアクティブ化されます。キーを含むキーストアは、パスワードで保護されたソフトウェア・キーストアであっても、ハードウェア・キーストアであってもかまいません。このキーストアは、開いている必要があります。

TDEマスター・キーID (MKID)およびTDEマスター暗号化キー(MK )に目的の値を指定して、固有のTDEマスター暗号化キーを作成してください。

  • TDEで暗号化されたデータベースでは、どのTDEマスター暗号化キーが使用中であるかを追跡するためにTDEマスター・キーID(MKID)が使用されます。MKID:MKオプションを使用すると、MKIDおよびMKの両方を指定できます。

  • MKのみを指定した場合、データベースによってMKIDが生成されるため、指定したMK値を持つTDEマスター暗号化キーを追跡できます。

  • MKIDが無効な場合(たとえば、長さが誤っていた場合、または0(ゼロ)の文字列である場合)は、エラーORA-46685: invalid master key identifier or master key valueが表示されます。

  • 指定したMKIDがキーストア内の既存のTDEマスター暗号化キーのMKIDと同じである場合は、エラーORA-46684: master key identifier exists in the keystoreが表示されます。

  • MKIDおよびMKのいずれかが無効な場合は、エラーORA-46685: invalid master key identifier or master key valueが表示されます。

  • set_key句およびcreate_key句にMKID:MKオプションを指定できます。

  • ENCRYPTIONキーワードはオプションで、意味を明確化するために使用されます。

  • オプションのUSING TAG句を指定すると、タグを新しいマスター暗号化キーに関連付けできます。詳細は、「USING TAG句のノート」を参照してください。

  • USING ALGORITHM句を指定すると、指定された暗号化アルゴリズムに準拠するマスター暗号化キーが作成されます。encrypt_algorithmには、AES256ARIA256GOST256またはSEED128を指定できます。この句を指定するには、COMPATIBLE初期化パラメータが12.2以上に設定されている必要があります。この句を指定しない場合、AES256がデフォルトになります。

    ARIA、SEEDおよびGOSTアルゴリズムは、暗号化とハッシュについての国や政府の標準です。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • WITH BACKUP句と、オプションのUSING 'backup_identifier'句を指定すると、新しいマスター暗号化キーが作成される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句のノート」を参照してください。

  • CONTAINER句は、CDBに接続しているときに適用されます。

    現在のコンテナがPDBである場合は、CONTAINER = CURRENTを指定すると、PDBで新しいマスター暗号化キーが作成およびアクティブ化されます。PDBでマスター暗号化キーを作成する前に、ルートにマスター暗号化キーが存在する必要があります。

    現在のコンテナがルートの場合は、CONTAINER = CURRENTを指定すると、ルートで新しいマスター暗号化キーが作成およびアクティブ化され、CONTAINER = ALLを指定すると、すべてのPDBで新しいマスター暗号化キーが作成およびアクティブ化されます。

    この句を省略すると、CONTAINER = CURRENTがデフォルトになります。

関連項目:

マスター暗号化キーの作成およびアクティブ化の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

create_key

MKID:MKオプションの指定の詳細は、set_key句のセマンティクスを参照してください。

この句を使用すると、後で使用するためのマスター暗号化キーを作成できます。その後で、use_key句を使用すると、このキーをアクティブ化できます。キーを含むキーストアは、パスワードで保護されたソフトウェア・キーストアであっても、ハードウェア・キーストアであってもかまいません。このキーストアは、開いている必要があります。

  • ENCRYPTIONキーワードはオプションで、意味を明確化するために使用されます。

  • オプションのUSING TAG句を指定すると、タグを暗号化キーに関連付けできます。詳細は、「USING TAG句のノート」を参照してください。

  • USING ALGORITHM句を指定すると、指定された暗号化アルゴリズムに準拠するマスター暗号化キーが作成されます。encrypt_algorithmには、AES256ARIA256GOST256またはSEED128を指定できます。この句を指定するには、COMPATIBLE初期化パラメータが12.2以上に設定されている必要があります。この句を指定しない場合、AES256がデフォルトになります。

    ARIA、SEEDおよびGOSTアルゴリズムは、暗号化とハッシュについての国や政府の標準です。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーを作成するキーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • WITH BACKUP句とオプションのUSING 'backup_identifier'句を指定すると、キーが作成される前に、キーストアのバックアップが作成されるようになります。詳細は、「WITH BACKUP句のノート」を参照してください。

  • CONTAINER句は、CDBに接続しているときに適用されます。

    現在のコンテナがPDBである場合は、CONTAINER = CURRENTを指定すると、PDBでマスター暗号化キーが作成されます。PDBでマスター暗号化キーを作成する前に、ルートにマスター暗号化キーが存在する必要があります。

    現在のコンテナがルートである場合は、CONTAINER = CURRENTを指定すると、ルートでマスター暗号化キーが作成され、CONTAINER = ALLを指定すると、ルートとすべてのPDBでマスター暗号化キーが作成されます。

    この句を省略すると、CONTAINER = CURRENTがデフォルトになります。

関連項目:

後で使用するためのマスター暗号化キーの作成方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

use_key

この句を使用して作成済のマスター暗号化キーをアクティブ化できます。この句を使用するときに、マスター暗号化キーがアクティブな場合は、そのキーが非アクティブ化されてから新しいマスター暗号化キーがアクティブ化されます。キーを含むキーストアは、パスワードベースのソフトウェア・キーストアであっても、ハードウェア・キーストアであってもかまいません。このキーストアは、開いている必要があります。

  • ENCRYPTIONキーワードはオプションで、意味を明確化するために使用されます。

  • key_idには、アクティブ化するキーの識別子を指定します。キー識別子は、V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せることで確認できます。

  • オプションのUSING TAG句を指定すると、タグを暗号化キーに関連付けできます。詳細は、「USING TAG句のノート」を参照してください。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーを含むキーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • WITH BACKUP句とオプションのUSING 'backup_identifier'句を指定すると、キーがアクティブ化される前に、キーストアのバックアップを作成するようになります。詳細は、「WITH BACKUP句のノート」を参照してください。

関連項目:

マスター暗号化キーのアクティブ化の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

set_key_tag

この句を使用してに指定された暗号化キーにタグを設定できます。タグはオプションで、キーに関するユーザー定義の記述子です。キーにタグがない場合は、この句を使用してタグを作成できます。キーにタグがある場合は、この句を使用して置き換えることができます。暗号化キーのタグは、V$ENCRYPTION_KEYSビューのTAG列を問い合せることで表示できます。このキーストアは、開いている必要があります。

  • tagには、英数字の文字列を指定します。tagは、一重引用符(' ')で囲みます。

  • key_idには、暗号化キーの識別子を指定します。キー識別子は、V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せることで確認できます。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーを含むキーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • WITH BACKUP句とオプションのUSING 'backup_identifier'句を指定すると、キーがアクティブ化される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句のノート」を参照してください。

関連項目:

キー・タグの設定の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

export_keys

この句を使用して、1つ以上の暗号化キーを、パスワードで保護されたソフトウェア・キーストアからファイルにエクスポートします。このキーストアは、開いている必要があります。各暗号化キーは、キー識別子およびキー属性とともにエクスポートされます。エクスポートされたキーは、ファイル内でパスワード(シークレット)によって保護されます。その後に、import_keys句を使用して1つ以上のキーをパスワードで保護されたソフトウェア・キーストアにインポートできます。

  • ENCRYPTIONキーワードはオプションで、意味を明確化するために使用されます。

  • secretを指定して、ファイル内のキーを保護するパスワード(シークレット)を設定します。シークレットは英数字の文字列です。シークレットは、二重引用符で囲むこともできます。引用符の有無にかかわらず、シークレットでは大文字と小文字が区別されます。

  • filenameには、キーのエクスポート先となるファイルのフルパス名を指定します。filenameは一重引用符で囲みます。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、エクスポートするキーを含むキーストアのパスワードを指定できます。詳細は、「WITH BACKUP句のノート」を参照してください。

  • 次のいずれかの方法により、WITH IDENTIFIER IN句を使用して、エクスポートする1つ以上の暗号化キーを指定します。

    • key_idを使用して、エクスポートする暗号化キーの識別子を指定します。key_idを複数指定する場合は、カンマ区切りのリストにします。キー識別子は、V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せることで確認できます。

    • subqueryを使用して、エクスポートする暗号化キーのキー識別子のリストを戻す問合せを指定できます。たとえば、次のsubqueryは、タグがmytagという文字列で始まるデータベース内のすべての暗号化キーのキー識別子を戻します。

      SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE TAG LIKE 'mytag%'
      

      Oracle Databaseは、subqueryを定義者の権限ではなく現在のユーザーの権限で実行することに注意してください。

    • WITH IDENTIFIER IN句を省略すると、データベース内のすべての暗号化キーがエクスポートされます。

WITH IDENTIFIER IN句の制限事項

マルチテナント環境では、PDBからキーをエクスポートする際にWITH IDENTIFIER INを指定できません。これによって、PDB内のすべてのキーが、アクティブな暗号化キーに関するメタデータとともに確実にエクスポートされます。その後、PDBのクローンを作成する場合や、PDBを切断して接続する場合には、エクスポート・ファイルを使用して、クローンとして作成したPDBまたは新たに接続したPDBにキーをインポートし、アクティブな暗号化キーに関する情報を保存できます。

関連項目:

暗号化キーのエクスポートの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

import_keys

この句を使用して、1つ以上の暗号化キーを、ファイルからパスワードベースのソフトウェア・キーストアにインポートします。このキーストアは、開いている必要があります。各暗号化キーは、キー識別子およびキー属性とともにインポートされます。キーは、事前にexport_keys句を使用して、ファイルにエクスポートしておく必要があります。キーストアにインポートされているキーは再インポートできません。

  • ENCRYPTIONキーワードはオプションで、意味を明確化するために使用されます。

  • secretには、ファイル内のキーを保護するパスワード(シークレット)を指定します。シークレットは英数字の文字列です。シークレットは、二重引用符で囲むこともできます。引用符の有無にかかわらず、シークレットでは大文字と小文字が区別されます。

  • filenameには、キーのインポート元となるファイルのフルパス名を指定します。filenameは一重引用符で囲みます。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーをインポートするキーストアのパスワードを指定できます。詳細は、「WITH BACKUP句のノート」を参照してください。

  • WITH BACKUP句とオプションのUSING 'backup_identifier'句を指定すると、キーがインポートされる前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句のノート」を参照してください。

関連項目:

暗号化キーのインポートの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

migrate_key

この句を使用して、パスワードで保護されたソフトウェア・キーストアからハードウェア・キーストアへ移行します。この句によって、既存の表暗号化キーおよび表領域暗号化キーが、ソフトウェア・キーストア内のマスター暗号化キーを使用して復号化され、次にハードウェア・キーストア内の新規作成されたマスター暗号化キーを使用して再び暗号化されます。

ノート:

この句の使用は、パスワードで保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行のための一連のステップのうちの1ステップにすぎません。この句を使用する前に、すべてのステップについて、『Oracle Database Advanced Securityガイド』を参照してください。

reverse_migrate_key

この句を使用して、ハードウェア・キーストアからパスワードで保護されたソフトウェア・キーストアへ移行します。この句によって、既存の表暗号化キーおよび表領域暗号化キーが、ハードウェア・キーストア内のマスター暗号化キーを使用して復号化され、次にパスワードで保護されたソフトウェア・キーストア内の新規作成されたマスター暗号化キーを使用して再び暗号化されます。

ノート:

この句の使用は、ハードウェア・キーストアからパスワードで保護されたソフトウェア・キーストアへの移行のための一連のステップのうちの1ステップにすぎません。この句を使用する前に、すべてのステップについて、『Oracle Database Advanced Securityガイド』を参照してください。

move_keys

move_keys句を使用して、暗号化キーを新しいキーストアに移動します。データベースにログインするには、ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を持つユーザーである必要があります。キーの移動先にするキーストアのキー識別子を見つけるには、V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せる必要があります。

keystore_location1は、新しいキーストア.p12ファイルを格納するウォレットのディレクトリへのパスです。デフォルトでは、このディレクトリは$ORACLE_BASE/admin/db_unique_name/wallet内にあります。

keystore1_passwordは、新しいキーストアのパスワードです。

keystore_passwordは、キーの移動元のキーストアのパスワードです。

key_identifierは、V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せて確認するキーの識別子です。この設定は一重引用符(' ')で囲みます。

subqueryは、目的の正確なキー識別子を検索するために使用できます。

backup_identifierはバックアップの説明(オプション)です。backup_identifierは、一重引用符(' ')で囲みます。

次に例を示します。

ADMINISTER KEY MANAGEMENT MOVE KEYS 
TO NEW KEYSTORE $ORACLE_BASE/admin/orcl/wallet 
IDENTIFIED BY keystore_password 
FROM FORCE KEYSTORE 
IDENTIFIED BY keystore_password 
WITH IDENTIFIER IN 
(SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE ROWNUM < 2);

secret_management_clauses

この句を使用すると、パスワードで保護されたソフトウェア・キーストアやハードウェア・キーストア内のシークレットを追加、更新および削除できます。

関連項目:

シークレットの追加、更新および削除の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

add_update_secret

この句を使用すると、キーストアにシークレットを追加したり、キーストア内の既存のシークレットを更新できます。このキーストアは、開いている必要があります。

  • キーストアにシークレットを追加するには、ADD を指定します。

  • キーストア内の既存のシークレットを更新するには、UPDATEを指定します。

  • secretには、追加または更新するシークレットを指定します。シークレットは英数字の文字列です。シークレットは一重引用符で囲みます。

  • client_identifierには、シークレットの識別に使用する英数字の文字列を指定します。client_identifierは一重引用符で囲みます。この値では大文字と小文字が区別されます。

  • オプションのUSING TAG句を指定すると、secretにタグを関連付けできます。tagはオプションで、シークレットに関するユーザー定義の記述子です。タグは一重引用符で囲みます。シークレットのタグは、V$CLIENT_SECRETSビューのSECRET_TAG列を問い合せることで確認できます。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • WITH BACKUP句とオプションのUSING 'backup_identifier'句を指定すると、パスワードベースのソフトウェア・キーストアのシークレットが追加または更新される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句のノート」を参照してください。

delete_secret

この句を使用すると、キーストアからシークレットを削除できます。このキーストアは、開いている必要があります。

  • client_identifierには、シークレットの識別に使用する英数字の文字列を指定します。client_identifierは一重引用符で囲みます。V$CLIENT_SECRETSビューのCLIENT列を問い合せることで、クライアント識別子を表示できます。

  • FORCE KEYSTORE句を使用すると、キーストアが閉じている場合でも、この操作が可能になります。詳細は、「FORCE KEYSTORE句のノート」を参照してください。

  • IDENTIFIED BY句を使用すると、キーストアのパスワードを指定できます。詳細は、「キーストア・パスワードを指定するときのノート」を参照してください。

  • WITH BACKUP句とオプションのUSING 'backup_identifier'句を指定すると、パスワードベースのソフトウェア・キーストアからシークレットが削除される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句のノート」を参照してください。

USING TAG句のノート

多くのADMINISTER KEY MANAGEMENT操作にはUSING TAG句が含まれ、これを使用すると、タグを暗号化キーに関連付けることができます。tagはオプションで、キーに関するユーザー定義の記述子です。これは一重引用符で囲まれた文字列です。

暗号化キーのタグは、V$ENCRYPTION_KEYSビューのTAG列を問い合せることで表示できます。

FORCE KEYSTORE句のノート

自動ログイン・ウォレットが存在する場合、FORCE KEYSTORE句は、キーストアが閉じている場合でもキーストア操作を有効にします。この句の動作は、非CDB、CDBルートまたはPDBのいずれに接続されているかによって異なります。

ノート:

マルチテナント・コンテナ・データベースが、Oracle Database 20cでサポートされる唯一のアーキテクチャです。ドキュメントが改訂されている間は、従来の用語が残っている可能性があります。ほとんどの場合、「データベース」と「非CDB」は、コンテキストに応じてCDBまたはPDBを指しています。アップグレードなどのコンテキストでは、「非CDB」が以前のリリースの非CDBを指す場合もあります。

  • 非CDBに接続されている場合は、次のようになります。

    • パスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアが閉じている場合は、操作の実行中にデータベースによってパスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアが開かれ、開いた状態が維持されます。その後、自動ログイン・キーストアが存在する場合はそのキーストアが新しい情報で更新されます。

    • 自動ログイン・キーストアが開いている場合は、操作の実行中にデータベースによってパスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアが一時的に開かれ、自動ログイン・キーストアから切り替わることなく、自動ログイン・キーストアが新しい情報で更新されます。

    • パスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアが開いている場合、FORCE KEYSTORE句は必要なく、かつ影響を及ぼしません。

  • CDBルートに接続されている場合は、次のようになります。

    • CDBルート・キーストアに対する操作を実行するには(CONTAINER=CURRENT)、CDBルート・キーストアが開いている必要があります。したがって、非CDBについて説明した動作がCDBルートに適用されます。

    • CDBルート・キーストアおよびすべてのPDBキーストアに対する操作を実行するには(CONTAINER=ALL)、CDBルート・キーストアとすべてのPDBキーストアが開いている必要があります。したがって、非CDBについて説明した動作がCDBルートおよび各PDBに適用されます。

  • PDBに接続されている場合は、次のようになります。

    • PDBキーストアに対する操作を実行するには、CDBルート・キーストアと該当するPDBのキーストアが開いている必要があります。したがって、非CDBについて説明した動作がCDBルートおよび該当するPDBに適用されます。

キーストア・パスワードを指定するときのノート

キーストア・パスワードは、次のように指定します。

  • パスワードで保護されたソフトウェア・キーストアの場合は、文字列としてパスワードを指定します。パスワードを二重引用符で囲むこともできます。引用符の有無にかかわらず、パスワードは大文字と小文字が区別されます。キーストアのパスワードはデータベース・ユーザーのパスワードと同じ規則に従います。詳細は、「CREATE USER」の「BY password句を参照してください。

  • ハードウェア・キーストアの場合は、"user_id:password"の形式の文字列としてパスワードを指定します。

    • user_idは、HSM管理インタフェースを使用してデータベース用に作成されたユーザーIDです。

    • passwordは、HSM管理インタフェースを使用してユーザーIDに対して作成されたパスワードです。

    user_id:passwordの文字列は二重引用符(" ")囲み、user_idpasswordはコロン(:)で区切ります。

  • EXTERNAL STOREを指定する場合、データベースでは、外部ストアに格納されているキーストア・パスワードを使用して操作を実行します。この機能により、集中的に管理およびアクセスできる独立した場所にパスワードを格納できるようになります。この機能を使用するには、最初に、キーストア・パスワードを格納する場所にEXTERNAL_KEYSTORE_CREDENTIAL_LOCATION初期化パラメータを設定する必要があります。キーストア・パスワードに外部ストアを構成する方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

WITH BACKUP句のノート

多くのADMINISTER KEY MANAGEMENT操作には、WITH BACKUP句が含まれます。この句は、パスワードで保護されたソフトウェア・キーストアにのみ適用されます。これは、この操作を実行する前に、キーストアをバックアップする必要があることを意味しています。このため、操作を実行するときにWITH BACKUP句を指定するか、操作を実行する直ADMINISTER KEY MANAGEMENT backup_clause文を発行する必要があります。

WITH BACKUP句を指定すると、Oracle Databaseは、ewallet_timestamp.p12という形式の名前でバックアップ・ファイルを作成します。timestampは、UTC形式でのファイル作成時のタイムスタンプです。バックアップ・ファイルは、キーストアをバックアップしているディレクトリに作成されます。

オプションのUSING 'backup_identifier'句を使用すると、バックアップ・ファイルの名前に追加するバックアップ識別子を指定できます。たとえば、バックアップ識別子に'Backup1'を指定すると、Oracle Databaseは、ewallet_timestamp_Backup1.p12という形式の名前でバックアップ・ファイルを作成します。

WITH BACKUPは、パスワードで保護されたソフトウェア・キーストアの場合は必須ですが、ハードウェア・キーストアの場合はオプションです。

add_update_secret_seps

SEPSウォレットとも呼ばれる安全性の高い外部パスワード・ストア(SEPS)でキーを管理するには、この句を指定します。この句のセマンティクスは、add_update_secret句と同じです。

delete_secret_seps

SEPSウォレットとも呼ばれる安全性の高い外部パスワード・ストア(SEPS)でキーを削除するには、この句を指定します。この句のセマンティクスは、delete_secret句と同じです。

zero_downtime_software_patching_clauses

この句を指定すると、新しいPKCS#11エンドポイント・ライブラリに切り替えできます。PKCS11_LIBRARY_LOCATIONパラメータを設定して、現在のPKCS#11エンドポイント共有ライブラリの完全修飾ファイル名を指定する必要があります。このパラメータは、現在のPKCS#11ライブラリの完全修飾ファイル名を指定し、/opt/oracle/extapi/64/pkcs11/で始まる必要があります。その後、次の文を実行して、更新されたPKCS#11エンドポイント共有ライブラリに切り替えることができます。

ADMINISTER KEY MANAGEMENT SWITCHOVER TO LIBRARY 'updated_fully_qualified_file_name_of_library' FOR ALL CONTAINERS

キーストアの作成: 例

次の文は、/etc/ORACLE/WALLETS/orclディレクトリ内にパスワードで保護されたソフトウェア・キーストアを作成します。

ADMINISTER KEY MANAGEMENT
  CREATE KEYSTORE '/etc/ORACLE/WALLETS/orcl'
  IDENTIFIED BY password;

次の文は、前の文で作成されたキーストアから自動ログイン・ソフトウェア・キーストアを作成します。

ADMINISTER KEY MANAGEMENT
  CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '/etc/ORACLE/WALLETS/orcl'
  IDENTIFIED BY password;

キーストアを開く: 例

次の文は、パスワードで保護されたソフトウェア・キーストアを開きます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE OPEN
  IDENTIFIED BY password;

CDBに接続している場合、次の文は現在のコンテナ内のパスワードで保護されたソフトウェア・キーストアを開きます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE OPEN
  IDENTIFIED BY password
  CONTAINER = CURRENT;

次の文はハードウェア・キーストアを開きます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE OPEN
  IDENTIFIED BY "user_id:password";

次の文は、パスワードが外部ストアに格納されているキーストアを開きます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE OPEN
  IDENTIFIED BY EXTERNAL STORE;

キーストアを閉じる: 例

次の文は、パスワードで保護されたソフトウェア・キーストアを閉じます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE CLOSE
  IDENTIFIED BY password;

次の文は、自動ログイン・ソフトウェア・キーストアを閉じます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE CLOSE;

次の文は、ハードウェア・キーストアを閉じます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE CLOSE
  IDENTIFIED BY "user_id:password";

次の文は、パスワードが外部ストアに格納されているキーストアを閉じます。

ADMINISTER KEY MANAGEMENT
  SET KEYSTORE CLOSE
  IDENTIFIED BY EXTERNAL STORE;

キーストアのバックアップ: 例

次の文は、パスワードで保護されたソフトウェア・キーストアのバックアップを作成します。バックアップは、/etc/ORACLE/KEYSTORE/DB1ディレクトリに格納され、バックアップ・ファイル名にタグhr.emp_keystoreが含まれます。

ADMINISTER KEY MANAGEMENT
  BACKUP KEYSTORE USING 'hr.emp_keystore'
  IDENTIFIED BY password
  TO '/etc/ORACLE/KEYSTORE/DB1/';

キーストア・パスワードの変更: 例

次の文は、パスワードで保護されたソフトウェア・キーストアのパスワードを変更します。パスワードを変更する前に、キーストアのバックアップもタグpwd_change付きで作成します。

ADMINISTER KEY MANAGEMENT
  ALTER KEYSTORE PASSWORD IDENTIFIED BY old_password
  SET new_password WITH BACKUP USING 'pwd_change';

2つのキーストアの新しいキーストアへのマージ: 例

次の文は、自動ログイン・ソフトウェア・キーストアをパスワードで保護されたソフトウェア・キーストアとマージして、パスワードで保護された新しいソフトウェア・キーストアを新しい場所に作成します。

ADMINISTER KEY MANAGEMENT
  MERGE KEYSTORE '/etc/ORACLE/KEYSTORE/DB1'
  AND KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'
    IDENTIFIED BY existing_keystore_password
  INTO NEW KEYSTORE '/etc/ORACLE/KEYSTORE/DB3'
    IDENTIFIED BY new_keystore_password;

キーストアの既存のキーストアへのマージ: 例

次の文は、自動ログイン・ソフトウェア・キーストアをパスワードで保護されたソフトウェア・キーストアにマージします。マージを実行する前に、パスワードで保護されたソフトウェア・キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  MERGE KEYSTORE '/etc/ORACLE/KEYSTORE/DB1'
  INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'
    IDENTIFIED BY existing_keystore_password
  WITH BACKUP;

マスター暗号化キーの作成およびアクティブ化: 例

次の文は、パスワードで保護されたソフトウェア・キーストア内のマスター暗号化キーを作成し、アクティブ化します。これにより、SEED128アルゴリズムを使用してキーが暗号化されます。新しいマスター暗号化キーを作成する前に、キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  SET KEY USING ALGORITHM 'SEED128'
  IDENTIFIED BY password
  WITH BACKUP;

次の文は、パスワードで保護されたソフトウェア・キーストア内にマスター暗号化キーを作成しますが、そのキーをアクティブ化しません。新しいマスター暗号化キーを作成する前に、キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  CREATE KEY USING TAG 'mykey1'
  IDENTIFIED BY password
  WITH BACKUP;

次の問合せは、前の文で作成されたマスター暗号化キーのキー識別子を表示します。

SELECT TAG, KEY_ID
  FROM V$ENCRYPTION_KEYS
  WHERE TAG = 'mykey1';

TAG     KEY_ID
---     ----------------------------------------------------
mykey1  ARgEtzPxpE/Nv8WdPu8LJJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

次の文は、前の文で問合せのあったマスター暗号化キーをアクティブ化します。新しいマスター暗号化キーをアクティブ化する前に、キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  USE KEY 'ARgEtzPxpE/Nv8WdPu8LJJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
  IDENTIFIED BY password
  WITH BACKUP;

キー・タグの設定: 例

この例では、キーストアが閉じていることを想定しています。次の文は、キーストアを一時的に開き、前の例でアクティブ化されたマスター暗号化キーについて、タグをmykey2に変更します。タグを変更する前に、キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  SET TAG 'mykey2' FOR 'ARgEtzPxpE/Nv8WdPu8LJJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
  FORCE KEYSTORE
  IDENTIFIED BY password
  WITH BACKUP;

キーのエクスポート: 例

次の文は、パスワードで保護されたソフトウェア・キーストアから/etc/TDE/export.expファイルに2つのマスター暗号化キーをエクスポートします。この文は、シークレットmy_secretを使用してそのファイルの内のマスター暗号化キーを暗号化します。エクスポートされるマスター暗号化キーの識別子は、カンマ区切りのリストとして提供されます。

ADMINISTER KEY MANAGEMENT
  EXPORT KEYS WITH SECRET "my_secret"
  TO '/etc/TDE/export.exp'
  IDENTIFIED BY password
  WITH IDENTIFIER IN 'AdoxnJ0uH08cv7xkz83ovwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
                     'AW5z3CoyKE/yv3cNT5CWCXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';

次の文は、パスワードで保護されたソフトウェア・キーストアから/etc/TDE/export.expファイルにマスター暗号化キーをエクスポートします。タグがmytag1またはmytag2であるキーのみがエクスポートされます。ファイル内のマスター・キーは、シークレットmy_secretを使用して暗号化されます。キー識別子は、V$ENCRYPTION_KEYSビューに問い合せて見つけます。

ADMINISTER KEY MANAGEMENT
  EXPORT KEYS WITH SECRET "my_secret"
  TO '/etc/TDE/export.exp'
  IDENTIFIED BY password
  WITH IDENTIFIER IN
    (SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE TAG IN ('mytag1', 'mytag2'));

次の文は、データベースのすべてのマスター暗号化キーを/etc/TDE/export.expファイルにエクスポートします。ファイル内のマスター・キーは、シークレットmy_secretを使用して暗号化されます。

ADMINISTER KEY MANAGEMENT
  EXPORT KEYS WITH SECRET "my_secret"
  TO '/etc/TDE/export.exp'
  IDENTIFIED BY password;

マルチテナント環境で、次の文は、PDB salespdbのすべてのマスター暗号化キーをメタデータとともに/etc/TDE/salespdb.expファイルにエクスポートします。ファイル内のマスター・キーは、シークレットmy_secretを使用して暗号化されます。その後、PDBのクローンを作成する場合や、PDBを切断して再接続する場合には、この文で作成されたエクスポート・ファイルを使用して、クローンとして作成したPDB、または新たに接続したPDBにキーをインポートできます。

ALTER SESSION SET CONTAINER = salespdb;
ADMINISTER KEY MANAGEMENT
  EXPORT KEYS WITH SECRET "my_secret"
  TO '/etc/TDE/salespdb.exp'
  IDENTIFIED BY password;

キーのインポート: 例

次の文は、/etc/TDE/export.expファイルからパスワードで保護されたソフトウェア・キーストアに、シークレットmy_secretで暗号化されたマスター暗号化キーをインポートします。キーをインポートする前に、パスワードで保護されたソフトウェア・キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  IMPORT KEYS WITH SECRET "my_secret"
  FROM '/etc/TDE/export.exp'
  IDENTIFIED BY password
  WITH BACKUP;

キーストアの移行: 例

次の文は、パスワードで保護されたソフトウェア・キーストアからハードウェア・キーストアに移行します。移行を実行する前に、パスワードで保護されたソフトウェア・キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  SET ENCRYPTION KEY IDENTIFIED BY "user_id:password"
  MIGRATE USING software_keystore_password
  WITH BACKUP;

キーストアの逆移行: 例

次の文は、ハードウェア・キーストアからパスワードで保護されたソフトウェア・キーストアに逆移行します。

ADMINISTER KEY MANAGEMENT
  SET ENCRYPTION KEY IDENTIFIED BY software_keystore_password
  REVERSE MIGRATE USING "user_id:password";

キーストアへのシークレットの追加: 例

次の文は、クライアントclient1のシークレットsecret1をタグMy first secret付きでパスワードで保護されたソフトウェア・キーストアに追加します。シークレットを追加する前に、パスワードで保護されたソフトウェア・キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  ADD SECRET 'secret1' FOR CLIENT 'client1'
  USING TAG 'My first secret'
  IDENTIFIED BY password
  WITH BACKUP;

次の文は、類似したシークレットをハードウェア・キーストアに追加します。

ADMINISTER KEY MANAGEMENT
  ADD SECRET 'secret2' FOR CLIENT 'client2'
  USING TAG 'My second secret'
  IDENTIFIED BY "user_id:password";

キーストア内のシークレットの更新: 例

次の文は、前の例でパスワードベースのソフトウェア・キーストア内に作成されたシークレットを更新します。シークレットを更新する前に、パスワードで保護されたソフトウェア・キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  UPDATE SECRET 'secret1' FOR CLIENT 'client1'
  USING TAG 'New Tag 1'
  IDENTIFIED BY password
  WITH BACKUP;

次の文は、前の例でハードウェア・キーストア内に作成されたシークレットを更新します。

ADMINISTER KEY MANAGEMENT
  UPDATE SECRET 'secret2' FOR CLIENT 'client2'
  USING TAG 'New Tag 2'
  IDENTIFIED BY "user_id:password";

キーストアからのシークレットの削除: 例

次の文は、前の例で更新されたシークレットをパスワードで保護されたソフトウェア・キーストアから削除します。シークレットを削除する前に、パスワードで保護されたソフトウェア・キーストアのバックアップも作成します。

ADMINISTER KEY MANAGEMENT
  DELETE SECRET FOR CLIENT 'client1'
  IDENTIFIED BY password
  WITH BACKUP;

次の文は、前の例で更新されたシークレットをハードウェア・キーストアから削除します。

ADMINISTER KEY MANAGEMENT
  DELETE SECRET FOR CLIENT 'client2'
  IDENTIFIED BY "user_id:password";