用途
ADMINISTER
KEY
MANAGEMENT
文は、透過的データ暗号化のための統合されたキー管理インタフェースを提供します。この文は、次の目的に使用できます。
ソフトウェア・キーストアおよびハードウェア・キーストアの管理
暗号化キーの管理
シークレットの管理
前提条件
ADMINISTER
KEY
MANAGEMENT
システム権限、またはSYSKM
システム権限が必要です。
CONTAINER
句を指定する場合は、マルチテナント・コンテナ・データベース(CDB)に接続している必要があります。CONTAINER
=
ALL
を指定するには、現在のコンテナがルートである必要があります。また、共通に付与されているADMINISTER
KEY
MANAGEMENT
またはSYSKM
権限が必要です。
構文
administer_key_management::=
(keystore_management_clauses::=, key_management_clauses::=, secret_management_clauses::=)
keystore_management_clauses::=
(create_keystore::=, open_keystore::=, close_keystore, backup_keystore::=, alter_keystore_password::=, merge_into_new_keystore::=, merge_into_exist_keystore::=)
(set_key::=、create_key::=、use_key::=、set_key_tag::=、export_keys::=、import_keys::=、migrate_key::=、reverse_migrate_key::=を参照)
set_key::=
create_key::=
use_key::=
set_key_tag::=
export_keys::=
import_keys::=
migrate_key::=
(add_update_secret::=、delete_secret::=を参照)
セマンティクス
keystore_management_clauses
これらの句を使用して、次のキーストア管理操作を実行できます。
ソフトウェア・キーストアの作成
ソフトウェア・キーストアまたはハードウェア・キーストアのオープンとクローズ
パスワードベースのソフトウェア・キーストアのバックアップ
パスワードベースのソフトウェア・キーストアのパスワードの変更
2つの既存のソフトウェア・キーストアの、新しいパスワードベース・ソフトウェア・キーストアへのマージ
1つの既存のソフトウェア・キーストアの、既存のパスワードベース・ソフトウェア・キーストアへのマージ
create_keystore
この句を使用して、パスワードベースのソフトウェア・キーストアと自動ログイン・ソフトウェア・キーストアの2種類のソフトウェア・キーストアを作成できます。この句をマルチテナント環境で発行するには、ルートに接続する必要があります。
CREATE KEYSTORE パスワードベースのソフトウェア・キーストアを作成するには、この句を指定します。
keystore_location
には、ソフトウェア・キーストア・ディレクトリのフルパス名を指定します。キーストアは、このディレクトリにewallet.p12
という名前のファイルで作成されます。ご使用のシステムのソフトウェア・キーストア・ディレクトリを確認する方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。
keystore_password
を使用して、キーストアのパスワードを設定します。詳細は、「キーストア・パスワードを指定するときの注意事項」を参照してください。
CREATE [ LOCAL ] AUTO_LOGIN KEYSTORE 自動ログイン・ソフトウェア・キーストアを作成するには、この句を指定します。自動ログイン・ソフトウェア・キーストアは、既存のパスワードベースのソフトウェア・キーストアから作成されます。自動ログイン・キーストアは、システム生成のパスワードを保持します。これは、パスワードベースのソフトウェア・キーストアと同じディレクトリにある、cwallet.sso
という名前のPKCS#12ベースのファイルに格納されます。
デフォルトでは、Oracleが作成する自動ログイン・キーストアは、このキーストアが格納されているコンピュータ以外のコンピュータからも開けるようになります。LOCAL
キーワードを指定すると、Oracle Databaseによりローカルの自動ログイン・キーストアが作成されますが、そのキーストアはそれが格納されているコンピュータからのみ開けます。
keystore_location
には、既存のパスワードベースのソフトウェア・キーストアが格納されているディレクトリのフルパス名を指定します。パスワードベースのソフトウェア・キーストアは、開いていても閉じていてもかまいません。
keystore_password
には、既存のパスワードベースのソフトウェア・キーストアのパスワードを指定します。
キーストアの作成についての制限事項 ローカルであるかどうかにかかわらず、パスワードベースのソフトウェア・キーストアと自動ログイン・ソフトウェア・キーストアは、どちらも1つのディレクトリ内に1つまで作成できます。
関連項目: ソフトウェア・キーストアの作成の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 |
open_keystore
この句を使用すると、パスワードベースのソフトウェア・キーストアまたはハードウェア・キーストアを開くことができます。
注意: 自動ログイン・ソフトウェア・キーストアとローカルの自動ログイン・ソフトウェア・キーストアを開くために、この句を使用する必要はありません。これらのキーストアは、マスター暗号化キーへのアクセスにより自動的に開かれます。 |
keystore_password
には、そのキーストアのパスワードを指定します。
CONTAINER
句は、CDBに接続しているときに適用されます。
現在のコンテナがプラガブル・データベース(PDB)である場合は、CONTAINER
=
CURRENT
を指定すると、PDBでキーストアが開きます。PDBでキーストアを開く前に、ルートでキーストアが開かれている必要があります。
現在のコンテナがルートである場合は、CONTAINER
=
CURRENT
を指定すると、ルートでキーストアが開き、CONTAINER
=
ALL
と指定すると、ルートとすべてのPDBでキーストアが開きます。
この句を省略すると、CONTAINER
=
CURRENT
がデフォルトになります。
関連項目: パスワードベースのソフトウェア・キーストアとハードウェア・キーストアを開く方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 |
close_keystore
この句を使用すると、パスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストア、またはハードウェア・キーストアを閉じることができます。キーストアを閉じると、すべての暗号化操作と復号化操作が無効になります。データを暗号化または複合化しようとしたり、暗号化されたデータにアクセスしようとすると、エラーが発生します。
パスワードベースのソフトウェア・キーストアまたはハードウェア・キーストアを閉じるには、keystore_password
を指定します。
自動ログイン・キーストアを閉じるときには、keystore_password
を指定しないでください。自動ログイン・キーストアを閉じる前に、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
という形式の名前でバックアップ・ファイルを作成します。
keystore_password
には、そのキーストアのパスワードを指定します。
オプションのTO
'keystore_location
'句を使用すると、バックアップ・ファイルの作成先ディレクトリを指定できます。この句を省略すると、バックアップは、キーストアがバックアップされているディレクトリに作成されます。
関連項目: パスワードベースのソフトウェア・キーストアのバックアップ方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 |
alter_keystore_password
この句を使用すると、パスワードベースのソフトウェア・キーストアのパスワードを変更できます。このキーストアは、開いている必要があります。
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_exist_keystore
この句を使用すると、ソフトウェア・キーストアを、それ以外の既存のソフトウェア・キーストアにマージできます。マージ元のキーストアに含まれるキーと属性は、マージ先のキーストアに追加されます。マージ元のキーストアには、パスワードベースのソフトウェア・キーストアまたは自動ログイン(ローカルの自動ログインを含む)ソフトウェア・キーストアのいずれも選択できます。また、それらは開いていても閉じていてもかまいません。マージ先になるキーストアは、パスワードベースのソフトウェア・キーストアにする必要があります。これは、マージの開始時に開いていても閉じられていてもかまいません。ただし、マージが完了した時点では、閉じられた状態になります。この句に指定するキーストアは、データベースで使用するように構成されたキーストアでも、それ以外のキーストアでもかまいません。
keystore1_location
には、マージ元のキーストアが格納されているディレクトリのフルパス名を指定します。
IDENTIFIED
BY
keystore1_password
は、マージ元のキーストアがパスワードベースのソフトウェア・キーストアの場合にかぎり、指定できます。
keystore2_location
には、マージ先になるキーストアが格納されているディレクトリのフルパス名を指定します。
keystore2_password
には、マージ先になるキーストアのパスワードを指定します。
オプションのWITH
BACKUP
句を使用すると、マージを実行する前にマージ先になるキーストアのバックアップを作成するようにデータベースに指示できます。詳細は、「WITH BACKUP句の注意事項」を参照してください。
関連項目: ソフトウェア・キーストアのマージ方法の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 |
key_management_clauses
これらの句を使用して次のキー管理操作を実行できます。
マスター暗号化キーの作成とアクティブ化
暗号化キーのタグの設定
キーストアからファイルへの暗号化キーのエクスポート
ファイルからキーストアへの暗号化キーのインポート
パスワードベースのソフトウェア・キーストアからハードウェア・キーストアへの移行
ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行
set_key
この句は新しいマスター暗号化キーを作成し、それをアクティブ化します。この句を使用すると、キーストア内に最初のマスター暗号化キーを作成することも、マスター暗号化キーを交換(変更)することもできます。この句を使用するときに、マスター暗号化キーがアクティブな場合は、そのキーが非アクティブ化されてから新しいマスター暗号化キーがアクティブ化されます。キーを含むキーストアは、パスワードベースのソフトウェア・キーストアであっても、ハードウェア・キーストアであってもかまいません。このキーストアは、開いている必要があります。
ENCRYPTION
キーワードはオプションで、意味を明確化するために使用されます。
オプションのUSING
TAG
句を指定すると、タグを新しいマスター暗号化キーに関連付けできます。詳細は、「USING TAG句の注意事項」を参照してください。
keystore_password
には、そのキーストアのパスワードを指定します。
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
この句を使用すると、後で使用するためのマスター暗号化キーを作成できます。その後で、use_key句を使用すると、このキーをアクティブ化できます。キーを含むキーストアは、パスワードベースのソフトウェア・キーストアであっても、ハードウェア・キーストアであってもかまいません。このキーストアは、開いている必要があります。
ENCRYPTION
キーワードはオプションで、意味を明確化するために使用されます。
オプションのUSING
TAG
句を指定すると、タグを暗号化キーに関連付けできます。詳細は、「USING TAG句の注意事項」を参照してください。
keystore_password
には、キーの作成先になるキーストアのパスワードを指定します。
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句の注意事項」を参照してください。
keystore_password
には、このキーを格納するキーストアのパスワードを指定します。
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
列を問い合せることで確認できます。
keystore_password
には、このキーを格納するキーストアのパスワードを指定します。
WITH
BACKUP
句とオプションのUSING
'
backup_identifier
'
句を指定すると、キーがアクティブ化される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句の注意事項」を参照してください。
関連項目: キー・タグの設定の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 |
export_keys
この句を使用して、1つ以上の暗号化キーを、パスワードベースのソフトウェア・キーストアからファイルにエクスポートします。このキーストアは、開いている必要があります。各暗号化キーは、キー識別子およびキー属性とともにエクスポートされます。エクスポートされたキーは、ファイル内でパスワード(シークレット)によって保護されます。その後に、import_keys句を使用して1つ以上のキーをパスワードベースのソフトウェア・キーストアにインポートできます。
ENCRYPTION
キーワードはオプションで、意味を明確化するために使用されます。
secret
を指定して、ファイル内のキーを保護するパスワード(シークレット)を設定します。シークレットは英数字の文字列です。シークレットは、二重引用符で囲むこともできます。引用符の有無にかかわらず、シークレットでは大文字と小文字が区別されます。
filename
には、キーのエクスポート先となるファイルのフルパス名を指定します。filename
は一重引用符で囲みます。
keystore_password
には、エクスポートするキーを含むキーストアのパスワードを指定します。
次のいずれかの方法により、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
は一重引用符で囲みます。
keystore_password
には、キーのインポート先となるキーストアのパスワードを指定します。
WITH
BACKUP
句とオプションのUSING
'
backup_identifier
'
句を指定すると、キーがインポートされる前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句の注意事項」を参照してください。
関連項目: 暗号化キーのインポートの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。 |
migrate_key
この句を使用して、パスワードベースのソフトウェア・キーストアからハードウェア・キーストアへ移行します。この句によって、既存の表暗号化キーおよび表領域暗号化キーが、ソフトウェア・キーストア内のマスター暗号化キーを使用して復号化され、次にハードウェア・キーストア内の新規作成されたマスター暗号化キーを使用して再び暗号化されます。
注意: この句の使用は、パスワードベースのソフトウェア・キーストアからハードウェア・キーストアへの移行のための一連のステップのうちの単なる1ステップにすぎません。この句を使用する前に、すべてのステップについて、『Oracle Database Advanced Securityガイド』を参照してください。 |
ENCRYPTION
キーワードはオプションで、意味を明確化するために使用されます。
HSM_auth_string
には、ハードウェア・キーストアのパスワードを指定します。詳細は、「キーストア・パスワードを指定するときの注意事項」を参照してください。
software_keystore_password
には、パスワードベースのソフトウェア・キーストアのパスワードを指定します。詳細は、「キーストア・パスワードを指定するときの注意事項」を参照してください。
WITH
BACKUP
句とオプションのUSING
'
backup_identifier
'
句を指定すると、移行が行われる前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句の注意事項」を参照してください。
reverse_migrate_key
この句を使用して、ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへ移行します。この句によって、既存の表暗号化キーおよび表領域暗号化キーが、ハードウェア・キーストア内のマスター暗号化キーを使用して復号化され、次にパスワードベースのソフトウェア・キーストア内の新規作成されたマスター暗号化キーを使用して再び暗号化されます。
注意: この句の使用は、ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行のための一連のステップのうちの単なる1ステップです。この句を使用する前に、すべてのステップについて、『Oracle Database Advanced Securityガイド』を参照してください。 |
ENCRYPTION
キーワードはオプションで、意味を明確化するために使用されます。
software_keystore_password
には、パスワードベースのソフトウェア・キーストアのパスワードを指定します。詳細は、「キーストア・パスワードを指定するときの注意事項」を参照してください。
HSM_auth_string
には、ハードウェア・キーストアのパスワードを指定します。詳細は、「キーストア・パスワードを指定するときの注意事項」を参照してください。
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
列を問い合せることで確認できます。
keystore_password
には、そのキーストアのパスワードを指定します。
WITH
BACKUP
句とオプションのUSING
'
backup_identifier
'
句を指定すると、パスワードベースのソフトウェア・キーストアのシークレットが追加または更新される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句の注意事項」を参照してください。
delete_secret
この句を使用してシークレットを削除できます。
client_identifier
には、シークレットの識別に使用する英数字の文字列を指定します。client_identifier
は一重引用符で囲みます。V$CLIENT_SECRETS
ビューのCLIENT
列を問い合せることで、クライアント識別子を表示できます。
keystore_password
には、そのキーストアのパスワードを指定します。
WITH
BACKUP
句とオプションのUSING
'
backup_identifier
'
句を指定すると、パスワードベースのソフトウェア・キーストアからシークレットが削除される前に、キーストアのバックアップが作成されます。詳細は、「WITH BACKUP句の注意事項」を参照してください。
キーストア・パスワードを指定するときの注意事項 キーストア・パスワードは次のように指定します。
パスワードベースのソフトウェア・キーストアの場合は、文字列としてパスワードを指定します。パスワードを二重引用符で囲むこともできます。引用符の有無にかかわらず、パスワードは大文字と小文字が区別されます。キーストアのパスワードはデータベース・ユーザーのパスワードと同じ規則に従います。詳細は、「CREATE USER」の「BY
password」
句を参照してください。
ハードウェア・キーストアの場合は、"
user_id
:
password
"
の形式の文字列としてパスワードを指定します。
user_id
は、HSM管理インタフェースを使用してデータベース用に作成されたユーザーIDです。
password
は、HSM管理インタフェースを使用してユーザーIDに対して作成されたパスワードです。
user_id
:
password
の文字列は二重引用符("
"
)囲み、user_id
とpassword
はコロン(:
)で区切ります。
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
という形式の名前でバックアップ・ファイルを作成します。
USING TAG句の注意事項 多くのADMINISTER
KEY
MANAGEMENT
操作にはUSING
TAG
句が含まれます。この句を使用すると、タグを暗号化キーに関連付けできます。tag
はオプションで、キーに関するユーザー定義の記述子です。これは一重引用符で囲まれた文字列です。
暗号化キーのタグは、V$ENCRYPTION_KEYS
ビューのTAG
列を問い合せることで表示できます。
例
キーストアを作成する例 次の文は/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 CLOSE
IDENTIFIED BY password;
次の文は、自動ログイン・ソフトウェア・キーストアを閉じます。
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE;
次の文は、ハードウェア・キーストアを閉じます。
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY "user_id:password";
キーストアをバックアップする例 次の文は、パスワードベースのソフトウェア・キーストアのバックアップを作成します。バックアップは、/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つのキーストアを1つの新しいキーストアにマージする例 次の文は、自動ログイン・ソフトウェア・キーストアとパスワードベースのソフトウェア・キーストアをマージして、1つの新しいパスワードベースのソフトウェア・キーストアを別の場所に作成します。
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;
マスター暗号化キーを作成しアクティブ化する例 次の文は、パスワードベースのソフトウェア・キーストア内にマスター暗号化キーを作成し、アクティブ化します。新しいマスター暗号化キーを作成する前に、キーストアのバックアップも作成します。
ADMINISTER KEY MANAGEMENT
SET KEY 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'
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";