機械翻訳について

Discover Domain Tool

Discover Domain Toolは、既存のドメインを検査し、そこから構成およびバイナリを収集することでモデルおよびアーカイブ・ファイルを作成するためのブートストラップ・メカニズムを提供します。

デフォルトでは、ツールによって生成されるモデル・ファイルは、Create Domain、Update DomainまたはDeploy Applications Toolで直接使用することはできません。これは、Discover Domain Toolは既存のドメインからパスワードを検出しないためです。 かわりに、検出されたパスワードの--FIX ME--プレースホルダーを配置します。 セキュリティ・プロバイダ・データもデフォルトで検出されません。 したがって、このツールは、モデルのdomainInfoセクションのAdminUserNameおよびAdminPasswordフィールドに同じプレースホルダー値をインジェクトします。 このツールの考え方は、生成されたモデルおよびアーカイブ・ファイルを、他のツールの1つを実行するためのニーズに合わせて編集できる開始点を提供するだけです。

WDT 4.2.0では、デフォルトの動作を変更するために、いくつかのオプション機能が追加されています。これにより、Discover Domain Toolで、モデル・ファイルを編集せずに他のツールで使用可能な完全移入モデルを生成できるパスワードおよびセキュリティ・プロバイダ・データを検出できるようになります。 詳細は、「セキュリティ情報の検出」の項を参照してください。

Discover Domainツールは、オフライン・モードまたはオンライン・モードで実行でき、各モードにはその動作を制御するオプションがあります。

  • オフライン・モード - オフライン・モードでは、WLSTオフラインを使用して、ドメイン・ホーム・ディレクトリからドメイン構成を読み取ります。 つまり、このツールはドメインの管理サーバーと同じホスト上で実行する必要があり、このツールを実行するユーザーはドメイン・ホーム・ディレクトリ構造への完全な読取りアクセス権を必要とします。 デフォルトでは、このツールはドメイン構成によって参照されるファイル(アプリケーション、ドメイン・ライブラリなど)を収集し、それらのファイルをアーカイブ・ファイルと呼ばれるzipファイルに格納します。 これらのファイルが収集されないようにするには、-skip_archive引数をコマンドラインで使用してツールを起動します。
  • オンライン・モード - オンライン・モードでは、WLSTをオンラインで使用して、管理サーバーのMBeansを使用してドメイン構成を読み取ります。 ツールを実行しているユーザーは、管理サーバーに接続するための管理資格証明およびURLを指定する必要があります。 ツールの実行時には、次の4つのオプションがあります:
    • 標準モード(デフォルト) - このモードでは、ツールはドメインの管理サーバーと同じホスト上で実行する必要があり、ツールを実行しているユーザーは、ドメイン・ホーム・ディレクトリ構造およびドメイン固有のファイルが格納されているその他のロケーションへの完全な読取りアクセス権を持っている必要があります。
    • -skip_archiveモード - このモードでは、アーカイブ・ファイルが作成されていないため、ツールはどこからでも実行できます。
    • -remoteモード - このモードは、-skip_archiveモードと似ていますが、ドメインの完全なモデルを作成するために収集およびアーカイブ・ファイルに追加する必要があるアーティファクトをユーザーに通知するTODOメッセージのリストがツールによって生成される点が異なります。
    • SSHモード - このモードでは、このツールは、WDTが実行されているホストと管理サーバーが稼働しているホストとの間のSSH接続を設定している任意のホストから実行できます。 -ssh_user (デフォルトでは、このツールを実行しているユーザーと同じユーザー)には、ドメイン・ホーム・ディレクトリ構造およびドメイン固有のファイルがサーバーに格納されるその他のロケーションへの完全な読取りアクセス権が必要です。 SSHモードでの実行の詳細は、「SSHのサポート」およびVerify SSH Toolのページを参照してください。

変数ファイルのロケーションを指定したコマンドラインの-variable_file引数を使用して、資格証明関連の属性(ユーザー名およびパスワード)のモデルで生成される内容をカスタマイズできます。 このファイルはJavaプロパティ・ファイルで、モデルで見つかった資格証明関連属性ごとにkey=valueのペアが含まれます。 キーは特定の属性の一意のトークン名で、値は置換値です。デフォルトでは、ユーザー名属性に検出された値が移入され、パスワード属性に空の文字列が移入されます。 モデル内の属性は、トークン名とプロパティ・フィールド表記でインジェクトされます。 たとえば、@@PROP:AdminUserName@@または@@PROP:JDBCSystemResource.<Name>.JdbcResource.JDBCDriverParams.PasswordEncrypted@@です。

「変数インジェクション」が構成されていても、-variable_file引数が使用されていない場合、変数ファイルはモデル・ファイルと同じ名前で作成されます。ファイル拡張子は.propertiesです。 アーカイブおよびモデル・ファイルと同様に、Discover Domain Toolの各実行では、既存の変数ファイルの内容が現在の実行の値で上書きされます。

モデルがモデル・ファイルに永続化される前に、変数インジェクタまたはモデル・フィルタがその順序で実行されます。 最後のステップはバリデーションで、モデル、アーカイブおよび変数ファイルの内容をバリデートします。 バリデーションが成功した場合、モデルは保持されます。 これらの3つのトピックの詳細は、次を参照してください:

結果のモデルは、Oracle WebLogic Server Kubernetes Operatorなどの特定のターゲット環境との互換性のために変更することもできます。 詳細については、「ターゲット環境」を参照してください。

問題(または成功)は、Discover Domain Tool サマリーは、ツールのバージョンとOracleホーム、およびツールが実行されたWLSTモード(オンラインまたはオフライン)を出力します。 すべての重要なメッセージの要約が、各タイプの合計とともにリストされます。

単一のSEVEREメッセージを含むサマリーの例を次に示します:

Issue Log for discoverDomain version 4.2.0 running WebLogic version 12.1.3.0.0 in online mode against server using WebLogic version 12.1.3.0.0:

SEVERE Messages:

        1. WLSDPLY-20008: discoverDomain argument processing failed: discoverDomain invoked with ambiguous configuration: -passphrase argument was specified without one of the associated arguments: -discover_passwords or -discover_security_provider_data.

Total:   SEVERE :    1  WARNING :    0

discoverDomain.sh failed due to a parameter validation error

オフライン・モードでのツールの実行

Discover Domain Toolをオフライン・モードで実行するには、単にOracleホームとドメインのロケーションを指定します。 検出されたドメイン情報が書き込まれるモデル・ファイルおよびアーカイブ・ファイルのロケーションとファイル名を指定します。 モデルは、YAML形式またはJSON形式のいずれかで生成できます。 正しいサフィクスを使用してファイル名にラベルを付けます。

基本的なdiscoverDomainの例:

$ weblogic-deploy\bin\discoverDomain.cmd -oracle_home c:\wls12213 -domain_home domains\DemoDomain -archive_file DiscoveredDemoDomain.zip -model_file DiscoveredDemoDomain.yaml

アーカイブの作成時に、このツールは、ドメイン構成によって参照されるすべてのバイナリ、スクリプトおよび必要なディレクトリの収集を試みます。

ORACLE_HOMEから参照されるバイナリは、モデルドリブン操作が適用されるターゲット・ドメインに存在想定されるため、収集されません。 これは、モデルがWebLogic Serverバージョンに依存しないようにするための鍵です。

オンライン・モードでのツールの実行

Discover Domain Toolをオンライン・モードで実行するには、前述のようにいくつかのオプションがあります。 通常モードでは、WDTは、必要なディレクトリ(ドメイン・ホーム・ディレクトリなど)への読取りアクセス権を持つユーザーが管理サーバーと同じホストで実行して、アーカイブ・ファイルに移入するファイルを収集する必要があります。 管理ユーザー名と管理URLをコマンドラインに含めるだけです。 ツールにより、STDINにパスワードを入力するよう求められます。 プロンプトをバイパスするには、次の3つのオプションのいずれかを使用できます:

  • パスワードを環境変数に格納し、コマンド行オプション-admin_pass_envで変数名を使用します。
  • パスワード値をファイルに格納します。 コマンドライン・オプション-admin_pass_fileを使用してファイル名を指定します。
  • STDINの値をシェル・スクリプトにパイプします。

管理サーバーからオンラインWLSTモードで実行する例:

$ weblogic-deploy/bin/discoverDomain.sh -oracle_home /u01/oracle -domain_home /u01/oracle/domains/DemoDomain -archive_file ./DiscoveredDemoDomain.zip -model_file ./DiscoveredDemoDomain.yaml -admin_user weblogic -admin_url t3://localhost:7001

リモート管理サーバーに対してツールを実行するには、他のモードのいずれかを使用できます: -skip_archive-remoteまたはSSHモード。

-remoteを使用すると、ファイル・コレクションがスキップされ、ドメインに必要なが収集できなかったファイルに対してTODOメッセージがツールによって生成されます。 必要なファイルを手動で収集し、Archive Helper Toolを使用してアーカイブ・ファイルを作成してモデルを完了できます。

リモート・ホストからオンラインWLSTモードで実行する例:

$ weblogic-deploy/bin/discoverDomain.sh -oracle_home /u01/oracle -remote -model_file ./DiscoveredDemoDomain.yaml -admin_user weblogic -admin_url t3://my.remote.host:7001

SSHモードの場合、ツールはSSHおよびSCPを使用してリモート・マシンからファイルを収集します。 リモート・ドメインへのSSHベース・アクセスの設定および使用の詳細は、「SSHサポート」およびVerify SSH Toolのページを参照してください。

ドメイン・タイプ

デフォルトでは、Discover Domain Toolは、他のすべてのWDTツールと同様に、ドメインが純粋なWebLogic Serverドメインであるとみなされます。 WebLogic Serverドメインとは、weblogic-deploy/lib/typedefs/WLS.jsonにあるWLS typedefファイルによって定義されます。 その他のドメイン・タイプは、対応するtypedefファイルをweblogic-deploy/lib/typedefs/<type-name>.jsonにインストールするだけでわかります。 たとえば、JRFドメイン・タイプは、weblogic-deploy/lib/typedefs/JRF.json typedefファイルによって定義されます。

別のタイプのドメインを検出する場合は、-domain_type <type-name>コマンドライン引数を追加するだけで済みます。たとえば、JRFドメインの場合は、コマンドライン引数に-domain_type JRFを追加します。 ドメインtypedefは、一致するtypedefファイルのdiscover-filtersセクションに定義されたフィルタのセットを適用し、検出されたモデルから構成要素を除外するため、Discover Domain Toolにとって重要なロールを果たします。 この理由は、これらのドメイン・テンプレート定義リソースは、同じタイプの新しいドメインの作成時に自動的に作成されるため、通常、ユーザーが変更しないこれらのボイラープレート・リソース定義でモデルを乱雑にする必要はありません。 詳細は、「ドメイン・タイプ定義」のページを参照してください。

ドメイン・タイプ引数を使用する例:

$ weblogic-deploy\bin\discoverDomain.cmd -oracle_home c:\wls12213 -domain_home domains\DemoDomain -archive_file DiscoveredDemoDomain.zip -model_file DiscoveredDemoDomain.yaml -domain_type JRF

セキュリティ情報の検出

WDTには、ドメイン構成ファイルに格納されているパスワードを検出し、デフォルトのセキュリティ・プロバイダからデータを検出することで、ドメインをより完全に検出できる機能が導入されています。 この項ではこれらのオプションについて説明します。

パスワードの検出

4.1.0以降、Discover Domain Toolでは、コマンドラインに-discover_passwordsフラグを追加して、ドメイン構成ファイル(config.xmlや任意のJDBCSystemResource XMLファイルなど)からのパスワードの検出をサポートしています。 WDTがドメイン・ホーム・ディレクトリにアクセスできる場合(つまり、オンラインの-remote引数では機能しない)、この機能はオフライン・モードとオンライン・モードの両方で機能します。 デフォルトでは、WDTはWDT暗号化を使用して、ツールに渡されるWDTパスフレーズを使用してモデル内のパスワードを暗号化しようとします。これには、次のいずれかのコマンドライン引数を使用する必要があります: -passphrase_env-passphrase_fileまたはpassphrase_prompt これにより、ユーザーはドメインからパスワードを検出し、ソース・ドメインに関連付けられていないテクノロジを使用してモデルにセキュアに格納できます。

WDTでは、パスワードを暗号化せずにモデルに格納できる構成設定がtool.propertiesで提供されます。 Oracleでは、この機能を使用しないことを強くお薦めします。これは、パスワードがモデルのクリア・テキストに格納されるだけでなく、WDTログ・ファイルにパスワードが格納される可能性があるためです。

デフォルト・セキュリティ・プロバイダ・データの検出

デフォルトでは、WebLogic Serverドメインは、ドメイン固有の情報を格納する4つのデフォルト・セキュリティ・プロバイダ・タイプで構成されます:

  • DefaultAuthenticator - ユーザーとグループを格納します。
  • XACMLAuthenticator - 認可ポリシーを格納します。
  • XACMLRoleMapper - ロール定義およびロール定義をユーザーおよびグループにマッピングするためのルールを格納します。
  • DefaultCredentialMapper - 認可されたローカル・ユーザーがリモート・エンドポイントに対して認証できるように、リモート・エンドポイントの資格証明を格納します。

WDTモデル・ファイルには、次のように、これらの各プロバイダのデータに対するモデル・セクションがすでにあります:

  • topology:/Security/User - DefaultAuthenticatorに格納されているユーザーの作成に使用されます。
  • topology:/Security/Group - DefaultAuthenticatorに格納されたグループの作成に使用されます。
  • domainInfo:/WLSPolicies - XACMLAuthorizerに格納された認可ポリシーの作成に使用されます。
  • domainInfo:/WLSRoles - XACMLRoleMapperに格納されたWebLogicロールの作成に使用されます。
  • domainInfo:/WLSUserPasswordCredentialMappings - DefaultCredentialMapperに格納された資格証明マッピングの作成に使用されます。

4.2.0以降、Discover Domain Toolは-discover_security_provider_data <scope>コマンドライン引数をサポートしています。 スコープは、次のいずれかの値またはこれらの値のリストです:

  • ALL - 4つのプロバイダ・タイプをすべて検出
  • DefaultAuthenticator - ユーザーとグループを検出します。
  • XACMLAuthorizer - 認可ポリシーを検出します。
  • XACMLRoleMapper - ロール定義を検出します。
  • DefaultCredentialMapper - 資格証明マッピングを検出します。

ALLスコープは、4つのプロバイダ・タイプのそれぞれをリストするスコープ値(DefaultAuthenticator,XACMLAuthorizer,XACMLRoleMapper,DefaultCredentialMapperなど)とまったく同じです

検出では、ユーザー以外に使用されているWLSバージョンのデフォルトと一致するすべてのセキュリティ・データがフィルタで除外されます。これは、WDTでは、検出されたモデルから新しいドメインを作成する際に使用するユーザーのパスワードを検出する必要があるためです。

DefaultAuthenticatorまたはDefaultCredentialMapperを検出すると、検出されたパスワードはすべてWDT暗号化を使用してモデルに格納されます。したがって、WDT暗号化パスフレーズは、次のいずれかのコマンドライン引数を使用して指定する必要があります: -passphrase_env-passphrase_fileまたはpassphrase_prompt そうしないと、モデルのパスワード値が-- FIX ME --に設定されます。

WDTでは、パスワードを暗号化せずにモデルに格納できる構成設定がtool.propertiesで提供されます。 Oracleでは、この機能を使用しないことを強くお薦めします。これは、パスワードがモデルのクリア・テキストに格納されるだけでなく、WDTログ・ファイルにパスワードが格納される可能性があるためです。

XACMLAuthorizerまたはXACMLRoleMapperを検出すると、WDTはXACMLドキュメントを分析して、XACMLの生成元のポリシーまたは式を判別しようとします。 これに成功すると、モデルにはそのポリシーまたはロールが含まれます。 そうでない場合は、XACMLドキュメントがアーカイブ・ファイルに追加され、かわりにそのドキュメントへの参照がモデルに追加されます。

デフォルトの管理者のユーザー名とパスワードの検出

ドメインの作成に使用されるWDTモデルでは、domainInfoセクションのAdminUserName属性およびAdminPassword属性にデフォルトの管理者ユーザー名とパスワードを指定する必要があります。 これらの値は、ドメインをディスクに書き込む前に、ドメインの管理資格証明を移入するために使用されます。 デフォルトでは、Discover Domain Toolは、これらのモデル属性の値を--FIX ME--に設定し、変数ファイルが使用されている場合は空の文字列に設定します。 -discover_security_provider_data機能を使用する場合、これらのフィールドには実際の管理ユーザー名およびパスワードが移入されます。 デフォルトの管理ユーザー名またはパスワードを判断できないため、ツールではコマンド行でツールに渡される値が使用されます。 必要に応じて、WDT tool.propertyファイルのstore.discover.admin_credentialsプロパティを使用して、この機能を無効にできます

検出されるドメインに複数の管理者が存在する場合、Discover Domain Toolに提供される管理資格証明がモデルに追加される管理資格証明になります。 結果のモデルを使用して別のドメインを作成すると、そのユーザーが新しいドメインのデフォルト管理者になります。 そのため、これを考慮して、Discover Domain Toolの起動に使用する資格証明を選択することが重要です。

環境変数

次の環境変数を設定できます。

  • JAVA_HOME JDKのロケーション。 これは有効なJava 7以降のJDKである必要があります。
  • WLSDEPLOY_PROPERTIES WLSTに渡されるシステム・プロパティ。

Discover Domain Tool (およびWLSTを使用する他のツール)を実行する場合、ツールの実行に使用される実際のJDKは、JAVA_HOME環境変数で定義されたものではなく、Oracle HomeにWebLogic Serverをインストールするために使用されるJDKになります。 ベスト・プラクティスは、WebLogic Serverのインストールに使用したものと同じJDKインストールを指すようにJAVA_HOMEを設定することです。

Discover Domain Toolに対する問題のオープン

ツールの完全なコンソール出力(stdoutおよびstderrに出力される出力)およびログ・ファイルdiscoverDomain.log(通常は<install home>/weblogic-deploy/logsディレクトリにあります)を指定してください。 可能な場合は、モデル、変数およびアーカイブ・ファイル、および環境の理解に役立つその他の情報、実行していること、および何が起こっているかを記入してください。

discoverDomainのパラメータ表

パラメータ 定義 デフォルト
-archive_file アーカイブ・ファイルへのパス。
-admin_pass_env プロンプトで管理パスワードを入力する代替手段。 値は、WDTがパスワードの取得に使用する環境変数名です。
-admin_pass_file プロンプトで管理パスワードを入力する代替手段。 値は、ツールがパスワードを取得するために読み取るパスワード文字列を含むファイルの名前です。
-admin_url オンライン検出に使用される管理サーバーURL。
-admin_user オンライン検出に使用される管理ユーザー。
-discover_opss_wallet ターゲット・ドメインからOPSSウォレットを検出するかどうか。
-discover_passwords ターゲット・ドメインからパスワードを検出するかどうか。
-discover_security_provider_data ターゲット・ドメインからセキュリティ・プロバイダ・データを検出するかどうか。
-domain_home オフライン操作にのみ使用されます。 既存のドメイン・ホームのロケーション。 オンライン・モードの場合、サーバーの値。
-domain_type ドメインのタイプ(WLSJRFなど)。 WLS
-java_home Javaホーム・グローバル・トークンに置換されるドメイン値を検出するときに、JAVA_HOME値をオーバーライドします。
-model_file モデル・ファイルへのパス。
-opss_wallet_passphrase_env OPSSウォレットの検出時にプロンプトでOPSSウォレット・パスフレーズを入力するかわりに。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。
-opss_wallet_passphrase_file OPSSウォレットの検出時にプロンプトでOPSSウォレット・パスフレーズを入力するかわりに。 値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。
-oracle_home Oracle WebLogicインストールのホーム・ディレクトリ。 ORACLE_HOME環境変数が設定されていない場合は必須です。
-output_dir -targetには出力ディレクトリが必要です。
-passphrase_env パスワードの検出時にプロンプトで暗号化パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。
-passphrase_file パスワードの検出時にプロンプトで暗号化パスフレーズを入力する代替手段。 値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。
-passphrase_prompt WDTが暗号化パスフレーズを要求したり、標準入力から読み取ったりできるようにします。
-skip_archive アーカイブ・ファイルは生成しないでください。 -archive_fileオプションは無視されます。
-target ターゲット出力タイプ。 デフォルトはwkoです。 ターゲット・タイプの詳細は、「ターゲット環境」を参照してください。
-remote リモート・マシンからドメインを更新します。
-ssh_host リモート・ホストのDNS名またはIPアドレス。
-ssh_port SSHデーモンが接続リクエストをリスニングしているリモート・ホスト上のTCPポート。 22
-ssh_user 認証目的で使用するリモート・ホスト上のユーザー名。 ツールを実行しているローカル・ユーザーと同じです。
-ssh_pass_env ユーザー名とパスワードによる認証時にリモート・ユーザーのパスワードを取得するために使用する環境変数名。
-ssh_pass_file ユーザー名とパスワードによる認証時にリモート・ユーザーのパスワードのパスワード文字列を含むファイルのファイル名。
-ssh_pass_prompt ユーザー名とパスワードによる認証時に、標準入力を介してリモート・ユーザーのパスワードの入力をユーザーに要求するようにツールに要求するフラグ。 プロンプトを表示したり、標準入力から読み取ったりしないでください。
-ssh_private_key 公開キーと秘密キーのペアで認証するときに使用するユーザーの秘密キーファイルのローカル・ファイル名。 $HOME/.ssh/id_rsa
-ssh_private_key_pass_env 公開キーと秘密キーのペアで認証するときにユーザーの秘密キーのパスフレーズを取得するために使用する環境変数名。
-ssh_private_key_pass_file 公開キーと秘密キーのペアで認証するときに、ユーザーの秘密キーのパスフレーズ文字列を含むファイルのファイル名。
-ssh_private_key_pass_prompt 公開キーと秘密キーのペアで認証するときに、標準入力を介して秘密キーのパスフレーズを指定するようユーザーに要求するようにツールに要求するフラグ。 プロンプトを表示したり、標準入力から読み取ったりしないでください。
-variable_file 変数プロパティ・ファイルへのパス。