B SSL外部ユーザー変換スクリプト

Oracle Database 10gリリース2 (10.2)より前のリリースでSSL認証外部ユーザーを使用していた場合は、Oracle Database 12cリリース1 (12.1)以上へのアップブレード後、SSL外部ユーザー変換スクリプトを実行する必要があります。このスクリプトにより、Oracle Database 10gリリース2 (10.2)より前のリリースのSSL認証外部ユーザーはOracle Database 12cリリース1 (12.1)以上のSSL認証外部ユーザーに変換されます。

ノート:

SSL外部ユーザー変換スクリプトは、Oracle Database 10g リリース2 (10.2)より前のリリースからアップグレードした場合にのみ、実行する必要があります。

安全性の高い外部パスワード・ストアの使用について

安全性の高い外部パスワード・ストアを使用する場合は、この後の情報の説明に従ってOracleウォレットを構成します。それ以外の場合は、対話形式でパスワードを指定して、この項をスキップできます。

extusrupgradeスクリプトを実行する前に、クライアント側のOracleウォレットを安全性の高い外部パスワード・ストアとして構成し、アプリケーションがウォレットに格納されているパスワード資格証明を使用してデータベースに接続できるようにします。クライアント側のOracleウォレットにデータベース・パスワード資格証明を格納することで、パスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。この結果、スクリプトやアプリケーション・コードに記述したパスワードがクリア・テキストで公開されるリスクが軽減され、パスワードを変更するたびにアプリケーション・コードやスクリプトを変更することなく、ユーザー・アカウントのパスワード・ポリシーをより簡単に管理できます。

mkstoreコマンドライン・ユーティリティを使用して外部パスワード・ストアを使用するようにクライアントを構成するステップは、「外部パスワード・ストアの使用を目的とするクライアントの構成」を参照してください。

ノート:

ウォレットの外部パスワード・ストアは、公開キー・インフラストラクチャ(PKI)資格証明が格納されている領域とは別の場所にあります。そのため、ウォレットの外部パスワード・ストアの資格証明管理には、Oracle Wallet Managerを使用できません。かわりに、コマンドライン・ユーティリティmkstoreを使用して資格証明を管理します。

mkstore CreateCredentialコマンドを使用して、<alias, username, password>の情報を指定し、次のdbuser資格証明を構成します。ここでは、各ユーザーのパスワードの入力を求められます。
  • dbalias, dbuser, password

このユーザー資格証明を構成すると、extusrupgradeスクリプト・コマンドラインで次のパラメータを使用できます。
  • -dbalias=<db-password-alias>

変換スクリプトの例では、ユーザーdbuserについて、別名、ユーザー名およびパスワードが指定された次のウォレット資格証明情報が使用されます。ウォレットの場所は、ここで示されているように指定されます。
  • dbmanager1, system, password

  • wallet_location=/oracle/product/db_1/wallets

変換スクリプトの例では、コマンドラインで次のエントリが使用されます。
  • -dbalias=dbmanager1

  • wallet_location=/oracle/product/db_1/wallets

クライアント側のウォレットを構成した後、Oracleウォレットの自動ログインを有効にすると、管理者は、必要な資格証明を提供する必要なく、extusrupgradeスクリプトを実行し、extusrupgradeサービスにアクセスして実行できます。

関連項目:

B.1 SSL外部ユーザー変換スクリプトの使用

SSL外部ユーザー変換スクリプトの構文は次のとおりです。

$ORACLE_HOME/rdbms/bin/extusrupgrade
--dbconnectstring database connect string
--dbuser database user
[-dbalias database user password alias]
[-wallet_location wallet location]
[-a]
[-l username1,username2,...]
[-f filename]
[-o]
[-h]
note:          -a upgrade all qualified users
               -l upgrade list of users seperated by comma
               -f upgrade list of users specified by the file. One user name per line
               -o output all qualified users to standard out. Not combine with other options
               -h show this help.

database connect stringは、hostname:port_no:sidの形式で指定する必要があります。hostnameはデータベースが稼働しているホストの名前、port_noはリスナーのポート番号、sidはデータベース・インスタンスのシステム識別子です。

mkstoreコマンドライン・ユーティリティを使用して安全性の高い外部パスワード・ストアを作成した場合は、構文<alias, username, password>を使用するmkstore CreateCredentialコマンドを使用して、ウォレットにdbuser資格証明を作成します。たとえば、dbmanager1, system, passwordとします。

次に、Oracleウォレットの自動ログインを有効化します。これにより、extusrupgradeスクリプトを実行する管理者ユーザーは、必要な資格証明を提供する必要なく、extusrupgradeサービスにアクセスできます。

これで、データベース別名パラメータ-dbalias <database user password alias>およびウォレット・ロケーション・パラメータ-wallet_location <wallet location>をコマンドラインで使用して、extusrupgrade変換スクリプトを実行できます。

次の例では、構文<alias, username, password>dbmanager1, system, passwordとして使用して、ウォレットにdbuser資格証明が定義されていると仮定します。たとえば、ウォレットの場所は/oracle/product/19.1.0/db_1/walletsと表示されます。

すべてのSSL認証外部ユーザーを変換するには、-aオプションを使用します。次はその例です。

extusrupgrade --dbconnectstring mymachine:1521:ORA001 --dbuser system -dbialis dbmanager1 -wallet_location /oracle/product/db_1/wallets -a

変換するユーザーをカンマ区切りのリストで指定する場合は、-lオプションを使用します。次に例を示します。

extusrupgrade --dbconnectstring mymachine:1521:ORA001 --dbuser system -dbialis dbmanager1 -wallet_location /oracle/product/db_1/wallets -l user1,user2,user3

変換するユーザーのリストが記述されたファイルを指定する場合は、-fオプションを使用します。次に例を示します。

extusrupgrade --dbconnectstring mymachine:1521:ORA001 --dbuser system -dbialis dbmanager1 -wallet_location /oracle/product/db_1/wallets -f usernames.txt

指定ファイルには、各行に1つのユーザー名を記述する必要があります。次に、サンプルのusernames.txtファイルを示します。

user#1
user>2
user,3
user4
user5

ユーザー名に特殊文字(#など)が含まれたユーザーを変換する場合は、-fオプションを使用する必要があります。

ノート:

同じコマンドで-lオプションと-fオプションを組み合せることができます。スクリプトは、-lオプションと-fオプションの両方のユーザーのリストを結合します。-lオプションと-fオプションとともに-aオプションを使用すると、-aオプションは無視されます。

SSL認証外部ユーザーのリストを標準出力デバイスに出力する場合は、-oオプションを使用します。出力には、extusrupgradeスクリプトを使用して変換できるユーザーがリストされます。-oオプションは、他のどのオプションとも組み合せることができません。

extusrupgrade --dbconnectstring mymachine:1521:ORA001 --dbuser system -dbialis dbmanager1 -wallet_location /oracle/product/db_1/wallets -o

次に、この出力サンプルを示します。

user1
user2
user3

ヒント:

コマンド出力をファイルにリダイレクトすると、変換できるユーザーのリストを取得できます。このファイルを編集し、-fオプションで使用できます。

B.2 グローバル・ユーザーから外部ユーザーへの変換

Oracle Database 10g以上では、SSL認証外部ユーザーとSSL認証グローバル・ユーザーをデータベースに共存させることができます。以前のリリースでは、SSLユーザーに対する制限があり、ユーザーの認証にOracle Internet Directoryを使用するかどうかに応じて、すべてのSSLユーザーがグローバル・ユーザーまたは外部ユーザーのいずれかである必要がありました。

Oracle Internet Directoryが使用できないときでも、ユーザーがデータベースに接続できるようにする場合は、ユーザーを外部ユーザーとして構成する必要があります。SSL外部ユーザー変換スクリプトを使用して、SSL認証グローバル・ユーザーをSSL認証外部ユーザーに変換できます。

mkstoreコマンドライン・ユーティリティを使用して安全性の高い外部パスワード・ストアを作成し、構文<alias, username, password>を使用するmkstore CreateCredentialコマンドを使用して、ウォレットにdbuser資格証明を作成した場合。たとえば、dbmanager1, system, passwordとします。たとえば、ウォレット・ロケーションは/oracle/product/db_1/walletsと示されます。これで、extusrupgrade変換スクリプトの実行時に、データベース別名パラメータ-dbalias <database user password alias>およびウォレット・ロケーション・パラメータ-wallet_location <wallet location>をコマンドラインで使用できます。Oracleウォレットの自動ログインを有効にした場合、extusrupgradeスクリプトを実行する管理者ユーザーは、必要な資格証明を提供する必要なく、extusrupgradeサービスにアクセスできます。

次に例を示します。

extusrupgrade --dbconnectstring mymachine:1521:ORA001 --dbuser system -dbialis dbmanager1 -wallet_location /oracle/product/db_1/wallets -l user1,user2

この例では、2つのグローバル・ユーザーが外部ユーザーに変換されます。