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
サービスにアクセスして実行できます。
関連項目:
-
ユーザーの別名、ユーザー名およびパスワード資格証明を格納するためのクライアント側のパスワード・ストア・ウォレットの作成の詳細は、「パスワード資格証明用の安全性の高い外部パスワード・ストアの管理」を参照してください
-
Oracleウォレットの自動ログイン機能を有効化し、
extusrupgrade
スクリプトの実行に必要なユーザー名やパスワードをユーザーが入力しなくても、PKIベースでサービスにアクセスできるようにする方法の詳細は、「Oracleウォレットの自動ログインの使用について」を参照してください
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つのグローバル・ユーザーが外部ユーザーに変換されます。