B Oracle Key Vault okvutilエンドポイント・ユーティリティ・リファレンス

okvutilユーティリティを使用すると、セキュリティ・オブジェクトのアップロードとダウンロードのタスクを実行できます。

B.1 okvutilユーティリティについて

okvutilユーティリティは、セキュリティ・オブジェクトの管理に使用できるコマンドライン・ユーティリティです。

okvutilコマンドライン・ユーティリティを使用すると、Oracle Key Vaultとの間でセキュリティ・オブジェクトを検索、アップロードおよびダウンロードできます。また、okvutilを使用して、ウォレット・パスワードを変更したり、システム診断を収集することもできます。

okvutilユーティリティは、エンドポイントにプロビジョニングされているTransport Layer Security (TLS)証明書を使用してOracle Key Vaultへの認証を実施します。

B.2 okvutilコマンド構文

okvutilユーティリティの構文では、ショート形式とロング形式のオプションを使用してコマンドを指定できます。

構文

okvutil command arguments [-v verbosity_level]

パラメータ

表B-1 okvutilコマンド構文

パラメータ 説明

command

uploadlistdownloadchangepwddiagnosticsのいずれかのコマンドを示します。

arguments

付加されるコマンドに渡す引数を示します。

-v、--verbose

冗長性レベルを示します。指定可能な値は0、1および2です。冗長性レベル2を指定した場合、コマンドの実行時に標準で出力される詳細のレベルが最大になります。冗長性の値の意味は次のとおりです。

  • -v 0は、冗長モードを無効にします。

  • -v 1は、デバッグ・メッセージを含めます。

  • -v 2は、より詳細なデバッグ・メッセージを含めます。

-h--help

オプションを使用して、okvutilコマンドに関するヘルプを取得します。次に例を示します。

okvutil command --help

オプション指定のショートおよびロング形式

ショート形式とロング形式のいずれかでオプションを指定できます。

ノート:

エンドポイント・プラットフォームAIXおよびHP-UX (IA)では現在、ショート形式のオプションのみがサポートされています。

  • ショート形式: 1つのハイフンと1字の英字オプション名のみを使用します。次に例を示します。

    -l /home/username
    -t wallet
    
  • ロング形式: 2つのハイフンと完全なオプション名を使用します。次に例を示します。

    --location /home/username 
    --type wallet
    

このガイドの例では、ショート形式を使用します。

okvutilのパスワード入力要求のしくみ

okvutilのコマンドでは、次の状況においてパスワードの入力を求められます。

  • エンドポイントのインストール時に、Oracle Key Vaultにアクセスするためのパスワード保護ウォレットを作成した場合。

  • -lオプションを使用してOracle WalletファイルまたはJavaキーストア・ファイルを指定した場合。この場合、okvutilを使用してOracle Key Vaultにアップロードしようとしているウォレットまたはキーストアのパスワードの入力を求められます。

B.3 okvutil changepwdコマンド

okvutil changepwdコマンドは、Oracle Key Vaultへの接続に使用される資格証明に関連付けられたパスワードを変更します。

パスワード保護ウォレットを使用してOracle Key Vaultエンドポイントのユーザー資格証明を格納している場合は、このコマンドを使用します。新しいパスワードは、JCKSまたはウォレット・ファイルのアップロード時のパスワードと同じにする必要はありません。

構文

ショート形式:

okvutil changepwd -l location -t type [-v verbosity_level]

ロング形式:

okvutil changepwd --location location --type type [--verbose verbosity_level]

パラメータ

表B-2 okvutil changepwdコマンドのオプション

パラメータ 説明

-l--location

パスワードを変更するウォレットのディレクトリの場所を指定します。

-t--type

データ・タイプを指定します。WALLETと入力します。

-v、--verbose

冗長性レベルを示します。0 (なし)、1 (デバッグ)、2 (詳細デバッグ)のいずれかです。

例: Oracle Key Vaultエンドポイント・パスワードの変更

okvutil changepwdを使用すると、エンドポイントのパスワードを変更できます。

例B-1は、エンドポイントのパスワードを変更する方法を示しています。新しいパスワードの作成を求められたら、8文字から30文字でパスワードを入力します。

例B-1 Oracle Key Vaultエンドポイント・パスワードの変更

$ okvutil changepwd -l ./home/oracle/okvutil/ssl -t WALLET
Enter wallet password: current_endpoint_password
Enter new wallet password: new_endpoint_password
Confirm new wallet password: new_endpoint_password

B.4 okvutil diagnosticsコマンド

okvutil diagnosticsコマンドは、デプロイメントの問題をトラブルシューティングする目的でエンドポイントの診断情報や環境情報を収集します。

情報はdiagnostics.zipファイルに配置され、このファイルをOracle Supportに提供して詳細な分析およびデバッグを依頼できます。

次のような情報が収集されます。

  • シェル環境変数: OKV_HOMEORACLE_HOMEORACLE_BASEORACLE_SIDPATHCLASSPATH

  • okvclient.ora内のOracle Key Vaultサーバーの構成およびIPアドレス

  • OKV_HOMEとそのサブディレクトリのディレクトリ・リスト

  • エンドポイント上のOracle Key Vaultログ・ファイル

  • Oracle Key Vaultエンドポイント・インストーラによって作成されたシンボリック・リンクのリスト

  • ネットワーク設定とping結果

okvutil diagnosticsコマンドは、ユーザー資格証明やセキュリティ・オブジェクトなどの機密情報を収集しません。

構文

ショート形式:

okvutil diagnostics [-v verbosity_level]

ロング形式:

okvutil diagnostics  [--verbose verbosity_level]

パラメータ

表B-3 okvutil diagnosticsコマンドのオプション

パラメータ 説明

-v、--verbose

冗長性レベルを示します。0 (なし)、1 (デバッグ)、2 (詳細デバッグ)のいずれかです。

例: システム診断の収集

okvutil diagnosticsコマンドは、システム診断をzipファイルで収集します。

例B-2は、コマンドの実行方法を示しています。コマンドを実行した後、Diagnostics completeメッセージが表示されると、現在のディレクトリにあるdiagnostics.zipファイルが使用可能になります。

例B-2 システム診断の収集

$ okvutil diagnostics 
Diagnostics collection complete.
ls
diagnostics.zip

B.5 okvutil downloadコマンド

okvutil downloadコマンドは、Oracle Key Vaultからエンドポイントにセキュリティ・オブジェクトをダウンロードします。

これらのセキュリティ・オブジェクトには、自動ログイン・ウォレット、Javaキーストア、資格証明ファイル、およびその他のタイプのキー記憶域ファイルなどのOracleウォレットが含まれます。

仮想ウォレットの内容はキーストア(複数のセキュリティ・オブジェクトを保持できるOracle WalletやJCEKSキーストアなどのコンテナ)にのみダウンロードでき、資格証明ファイルにはダウンロードできません。

一部のキーストアでは、特定のタイプのセキュリティ・オブジェクトの格納のみがサポートされています。JavaキーストアからアップロードしたDSA鍵をOracle Walletなどの別のタイプのキーストアにダウンロードしようとすると、エラーが発生します。

構文

ショート形式:

okvutil download -l location -t type [-g group | -i object_id] [-o] [-v verbosity_level]

ロング形式:

okvutil download --location location --type type [--group group | --item object_id] [--overwrite] [--verbose verbosity_level]

パラメータ

表B-4 okvutil downloadコマンドのオプション

パラメータ 説明

-l--location

ダウンロード対象の項目を格納するファイルの場所を指定します。この場所でウォレットを作成する権限を持っていることを確認します。ダウンロードするファイルが120 KBを超過していないことを確認します。この設定は必須です。

-t--type

Oracle Key Vaultからダウンロードされるオブジェクトのデータ・タイプを指定します。次のリストにある値である必要があります。

  • Oracle Walletの場合は、WALLET

  • Javaキーストアの場合は、JKS

  • Java Cryptography Extensionキーストア(JCEKS)の場合は、JCEKS

  • SSHキー・ファイルの場合、SSH(不透明オブジェクトとしてダウンロード)。

  • Kerberosキータブの場合、KERBEROS(不透明オブジェクトとしてダウンロード)。

  • 不透明オブジェクト(機密情報を格納するその他のファイル)の場合、OTHER

WALLETJKSおよびJCEKSの各タイプには、複数のオブジェクトが含まれます。Oracle Key Vaultはこれらのオブジェクトの各々を個別にダウンロードします。SSHKERBEROSおよびOTHERの各タイプは不透明オブジェクトで、単一ファイルとしてダウンロードされます。

この設定では、大文字と小文字は区別されません。この設定は必須です。

-g、--group

項目(WALLETJKSおよびJCEKSの各タイプ)のダウンロード元の仮想ウォレットの名前です。仮想ウォレットがすでに存在し、ユーザーはそれにアクセスすることが認可されている必要があります。okvutilユーティリティは、-gオプションで指定された仮想ウォレット全体をダウンロードし、それを新しいウォレットに格納します。指定された場所に既存のウォレットがあってはなりません。okvutilにより作成されます。okvutilは、新しいウォレットのパスワードの作成と入力を求めます。今後のために、このパスワードを記録してください。グループ名では大文字と小文字が区別されるので注意してください。

タイプがWALLETJKSまたはJCEKSの場合、group設定は含めることも省略することもできます。タイプがSSHKERBEROSまたはOTHERの場合、object_idオプションを含める必要がありますが、group設定を含める必要はありません。

マルチマスター・クラスタでは、名前のステータスがPENDINGの場合、エンドポイントに割り当てられているデフォルト・ウォレットのみを指定できます。

-i--item

ダウンロードするオブジェクト(機密情報など)の一意のIDを示します(たとえば、ウォレット内の最初のセキュアな外部パスワード・ストア(SEPS)エントリの場合は-i oracle.security.client.password1)。

-o--overwrite

-l (必須)で指定した既存のWALLETJKSまたはJCEKSファイルにデータをダウンロードします。ダウンロードするデータとコンテナにすでに存在するデータの間で競合が起こった場合、古いデータは新しいデータで上書きされます。-o--overwriteオプションは、他のタイプには適用されません(SSHKERBEROSおよびOTHER)。このオプションを指定する場合は注意してください。

現在のディレクトリにすでに存在するウォレットをダウンロードするときにoまたはoverwriteオプションを省略すると、元のウォレット・ファイルは、新しいウォレットがダウンロードされる前に、ewallet.p12.timestamp.bakまたはowallet.sso.timestamp.bakに名前を変更されます。ウォレットでないファイル(たとえばJavaキーストア・ファイル)の場合はエラーが表示され、ダウンロードを実行する前に、ファイルの名前を変更するか、新しい場所に移動する必要があります。

-v--verbose

冗長性レベルを示します。0 (なし)、1 (デバッグ)、2 (詳細デバッグ)のいずれかです。

例: Javaキーストアへの仮想ウォレットのダウンロード

okvutil downloadコマンドは、仮想ウォレットをJavaキーストアにダウンロードします。これは、複数のアプリケーション・サーバー間で同じJavaキーストアを共有し、同じウォレットを使用する必要がある場合に役立ちます。

例B-3では、Oracle Key Vault仮想ウォレットFinanceWalletをJavaキーストアにダウンロードしています。

例B-3 Javaキーストアへの仮想ウォレットのダウンロード

$ okvutil download -l ./fin/okv/work -t JCEKS -g FinanceWallet

このコマンドを使用すると、次のようにJavaキーストアの新しいパスワードを入力するよう求められます。

Enter new Java keystore password:
Confirm new Java keystore password:
Download succeeded

B.6 okvutil listコマンド

okvutil listコマンドは、アップロードされている、使用できるセキュリティ・オブジェクトをリストします。

オプションなしで、または-g groupオプションとともに使用した場合、Oracle Key Vaultからリストされる各項目の、一意のID、オブジェクト・タイプおよび記述子が表示されます。

構文

ショート形式:

okvutil list [-l location -t type | -g group] [-v verbosity_level]

ロング形式:

okvutil list [--location location --type type | --group group] [--verbose verbosity_level]

パラメータ

表B-5 okvutil listコマンドのオプション

パラメータ 説明

-l--location

Oracle WalletファイルまたはJavaキーストアの場所を指定します。Oracle Walletの場合、場所は.p12または.ssoファイルがあるディレクトリです。他のすべてのタイプの場合、場所はファイルそのもののパス名です。-l--locationオプションを省略した場合、デフォルトの場所はOracle Key Vaultです。この場合、okvutil listコマンドは、サーバーにあるすべての使用できるキーをリストします。この設定を使用する場合、次に説明する-t--type設定も含める必要があります。

-t--type

次のいずれかのタイプを指定します。

  • Oracle Walletの場合は、WALLET

  • Javaキーストアの場合は、JKS

  • Java Cryptography Extensionキーストア(JCEKS)の場合は、JCEKS

  • Oracle Key Vaultの永続キャッシュの場合は、OKV_PERSISTENT_CACHE (指定したエンドポイント・データベースにEXPIRE PKCS11 PERSISTENT CACHE ON DATABASE SHUTDOWNが設定されている場合、この設定は使用不可になります。)

WALLETJKSおよびJCEKSタイプは、Oracle Key Vaultによって個別にリストされるセキュリティ・オブジェクトのコンテナです。SSHKERBEROSおよびOTHERは、単一ファイルとしてリストされる不透明オブジェクトです。

この設定では、大文字と小文字は区別されません。

-g--group

単一の仮想ウォレットの内容をリストします。このオプションが適用されるのは、-lおよび--locationオプションを省略して、Oracle Key Vaultに格納されているオブジェクトをリストする場合のみです。名前のステータスがPENDINGの場合は、エンドポイントに割り当てられているデフォルト・ウォレットのみを指定できます。

-v--verbose:

冗長性レベルを示します。0 (なし)、1 (デバッグ)、2 (詳細デバッグ)のいずれかです。

例: 現在のエンドポイントのセキュリティ・オブジェクトのリスト

okvutil listコマンドを使用すると、現在のエンドポイントに関連付けられているセキュリティ・オブジェクトを表示できます。

例B-4は、現在のエンドポイントの、すべての認可済セキュリティ・オブジェクトをリストします。最後の3行で、DB Connect Passwordエントリは、インスタンスにログインするために使用されたパスワード(たとえば、データベース・インスタンスinst01のユーザーpsmithのパスワード)を指します。

例: Oracle Walletファイルの内容のリスト

okvutil listコマンドを使用すると、Oracle Walletファイルの内容を表示できます。

例B-5は、Oracle Walletファイルの内容を示しています。

例B-4 現在のエンドポイントのセキュリティ・オブジェクトのリスト

$ okvutil list
Enter Oracle Key Vault endpoint password: password

Unique ID                               Type           Identifier
F63E3F4A-C8FB-5560-E043-7A6BF00AA4A6    Symmetric Key  TDE Master Key: 062C4F5BAC53E84F2DBF95B96CE577B525
F63E3F4A-C8FC-5560-E043-7A6BF00AA4A6    Symmetric Key   TDE Master Key: 069A5253CF9A384F61BFDD9CC07D8A6B07
F63E3F4A-C8FD-5560-E043-7A6BF00AA4A6    Opaque Object   -
F63E3F4A-C8FE-5560-E043-7A6BF00AA4A6    Symmetric Key   TDE Master Key: 06A66967E70DB24FE6BFD75447F518525E
F63E3F4A-C8FF-5560-E043-7A6BF00AA4A6    Symmetric Key   TDE Master Key: 0636D18F2E3FF64F7ABF80900843F37456
F63E3F4A-C900-5560-E043-7A6BF00AA4A6    Opaque Object   -
F63E3F4A-C901-5560-E043-7A6BF00AA4A6    Symmetric Key   TDE Master Key: 0611E6ABD666954F2FBF8359DE172BA787
F63E3F4A-C902-5560-E043-7A6BF00AA4A6    Symmetric Key   TDE Master Key: 0657F27D64D1C04FAEBFE00B5105B3CBAD
F63E3F4A-C91B-5560-E043-7A6BF00AA4A6    Opaque Object   Certificate Request
F63E3F4A-C91C-5560-E043-7A6BF00AA4A6    Certificate     X509 DN:OU=Class 1 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US 
F63E3F4A-C903-5560-E043-7A6BF00AA4A6    Secret Data     DB Connect Password: psmith@inst01
F63E3F4A-C904-5560-E043-7A6BF00AA4A6    Secret Data     DB Connect Password: jdaley@inst02
F63E3F4A-C905-5560-E043-7A6BF00AA4A6    Secret Data     DB Connect Password: tjones@inst03

例B-5 Oracle Walletファイルの内容のリスト

$ okvutil list -t WALLET -l /home/oracle/wallets
Enter target wallet password: Oracle_wallet_password

Dumping secret store of wallet:
ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
ORACLE.SECURITY.DB.ENCRYPTION.Aa4JEUaCeE8qv0Dsmmwe5S4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.ID.ENCRYPTION.
ORACLE.SECURITY.KB.ENCRYPTION.
ORACLE.SECURITY.TS.ENCRYPTION.BZuIPES7+k/tv0ZwOlDeIp4CAwAAAAAAAAAAAAAAAAAAAAAAAAAA
Dumping cert store of wallet:
 
There are 1 Certificate Requests in the list
 
Certificate request:
        DN: CN=oracle
        Type: NZDST_CERT_REQ
        PUB key size: 2048
 
There are 0 Certificates in the list
 
There are 0 TPs in the list

B.7 okvutil uploadコマンド

okvutil uploadコマンドは、セキュリティ・オブジェクトをOracle Key Vaultにアップロードします。

これらのセキュリティ・オブジェクトには、自動ログイン・ウォレット、Javaキーストア、資格証明ファイル、ユーザー定義のキー、およびその他のタイプのキー記憶域ファイルなどのOracleウォレットを指定できます。

Oracle Databaseの現在サポートされているすべてのリリースおよびOracle Walletを使用する他のOracleソフトウェア製品から、Oracle Walletをアップロードできます。okvutil uploadコマンドは、ウォレットまたはJavaキーストアを開き、検出された各項目を個別のセキュリティ・オブジェクトとしてOracle Key Vaultにアップロードします。資格証明ファイルをアップロードする場合は、不透明オブジェクトと呼ばれるファイル全体としてアップロードされます。

構文

ショート形式:

okvutil upload [-o] -l location -t type [-g group] [-d description] [-v verbosity_level]

ロング形式:

okvutil upload [--overwrite] --location location --type type [--group group] [--description description] [--verbose verbosity_level]

パラメータ

表B-6 okvutil uploadコマンドのオプション

パラメータ 説明

-o--overwrite

Oracle Key Vault仮想ウォレット内の既存のデータとの競合がある場合は、エンドポイントにより送信された新しいデータで既存のデータが上書きされます。競合がない場合、上書き操作は不要であり、実行されません。このオプションを指定する場合は注意してください。

-l--location

Oracle Walletファイル、Javaキーストア、またはユーザー定義および16進数でエンコードされたTDEマスター暗号化識別子と鍵を含むテキスト・ファイルの場所を指定します。Oracle Walletの場合、場所は.p12または.ssoファイルがあるディレクトリです。資格証明ファイルを不透明オブジェクトとしてアップロードする場合、このファイルが120キロバイト(KB)以下であることを確認してください。

-t--type

Oracle Key Vaultにアップロードされるオブジェクトのデータ・タイプを指定します。次のリストにある値である必要があります。

  • Oracle Walletの場合は、WALLET

  • Javaキーストアの場合は、JKS

  • Java Cryptography Extensionキーストア(JCEKS)の場合は、JCEKS

  • SSHキー・ファイルの場合、SSH (不透明オブジェクトとしてアップロード)。最大サイズは120 KBです。

  • Kerberosキータブの場合、KERBEROS (不透明オブジェクトとしてアップロード)。最大サイズは120 KBです。

  • ユーザー定義のキーの場合は、TDE_KEY_BYTES (TDEマスター暗号化キーとして使用)。

  • 不透明オブジェクト(機密情報を格納するその他のファイル)の場合、OTHER。最大サイズは120 KBです。

WALLETJKSおよびJCEKSの各タイプには、複数のオブジェクトが含まれます。Oracle Key Vaultはこれらのオブジェクトの各々を個別にアップロードします。SSHKERBEROSTDE_KEY_BYTESおよびOTHERの各タイプは不透明オブジェクトで、単一ファイルとしてアップロードされます。

この設定では、大文字と小文字は区別されません。

-g--group

証明書ストアまたはシークレット・ストア(あるいはその両方)が追加されるKey Vault仮想ウォレットの名前です。この名前では、大文字と小文字が区別されます。仮想ウォレットがすでに存在し、ユーザーはそれにアクセスすることが認可されている必要があります。この設定を省略する場合、デフォルトのグループがあれば、それが使用されます。デフォルトのグループがないのに-g--groupオプションを省略した場合、アップロードされるデータはグループに配置されません。名前のステータスがPENDINGの場合は、エンドポイントに割り当てられているデフォルト・ウォレットのみを指定できます。

-d--description

最大2000バイトの説明を追加できます。-t type--typeパラメータがSSHKERBEROSTDE_KEY_BYTESまたはOTHERに設定されている場合にのみ有効です。オプションです。

この説明は二重引用符で囲みます。この説明にスペースがある場合は、引用符にエスケープ文字を含めます。例: -d \"text with spaces\"

-v--verbose

冗長性レベルを示します。0 (なし)、1 (デバッグ)、2 (詳細デバッグ)のいずれかです。

-v 2オプションを使用したJavaキーストアのアップロード

okvutil uploadコマンドによって、Javaキーストアをアップロードできます。

次の例では、okvutil uploadコマンドを使用してJavaキーストアをアップロードする方法を示します。-v 2オプションを使用すると、アップロードされる項目をコマンドがリストできます。okvutilコマンドは、Oracle Key Vaultに接続するため、およびOracle Walletファイルを開くために必要な場合、パスワードを求めてきます。

$ okvutil upload -l ./fin_jceks.jck -t JCEKS -g fin_wal -v 2

okvutil version 18.3.0.0.0
Configuration file: /tmp/fin_okv/conf/okvclient.ora
Server: 192.0.2.254:5696
Standby Server: 127.0.0.1:5696
Uploading from /tmp/fin_okv/keystores/jks/keystore.jks
Enter source Java keystore password:
Uploading private key
Uploading trust point
Uploading trust point
Uploading private key
Uploading private key
 
Uploaded 3 private keys
Uploaded 0 secret keys
Uploaded 2 trust points
 
Upload succeeded

Javaキーストアをアップロードする方法の詳細は、「JKSまたはJCEKSキーストアのアップロード」を参照してください。

パスワード保護されたウォレット・ファイルのアップロード

okvutil uploadコマンドを使用すると、パスワード保護ウォレット・ファイルをアップロードできます。

次の例では、エンドポイントがOracle Key Vaultに接続するためのパスワードがない場合に、パスワード保護されたウォレット・ファイルをアップロードする方法を示します。

$ okvutil upload -l . -t WALLET -g FinanceWallet 
Enter source wallet password: password

Upload succeeded

ウォレット・ファイルをアップロードする方法の詳細は、「Oracle Walletのアップロード」を参照してください。

TDEマスター暗号化キーとして使用するためのユーザー定義のキーのアップロード

okvutil uploadコマンドは、TDEマスター暗号化キーとして使用するユーザー定義のキーをアップロードできます。

次の例では、ユーザー定義のキーをアップロードする方法を示します。

$ okvutil upload -l /tmp/tde_key_bytes.txt -t TDE_KEY_BYTES -g "FIN_DATABASE_VIRTUAL_WALLET" -d \"This key was created for Financial database use on 1st April 2019\"