日本語PDF

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::=



セマンティクス

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は一重引用符で囲みます。この値では大文字と小文字が区別されます。次の固定値のいずれかを入力できます。
    • キーストアがFILEとして構成されている場合は、TDE_WALLET

    • キーストアがOracle Key Vault HSM用の場合は、OKV_WALLET

    • キーストアがサード・パーティのHSM用の場合は、HSM_WALLET

  • オプションの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のいずれに接続されているかによって異なります。

  • 非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句と同じです。

キーストアの作成: 例

次の文は、/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";