Provisioning Gatewayサーバーでは、他のプロビジョニング・サーバーにより発行された指示を受信できる、Webサービス・インタフェースが公開されています。Provisioning Gateway CLIは、プロビジョニング・ソリューション用の統合コンポーネントとして提供されています。
Provisioning Gatewayには2種類のCLIが含まれます。
.NET CLI
.NET CLIはProvisioning Gateway Webサービスと通信するためのインタフェースを提供し、デフォルトでインストールされます。プログラミングAPIは、.NET CLIのメイン実行可能ファイルをSDKライブラリとして利用する、Passlogix.Provisioning.dllアセンブリ内に保持されています。このガイドの.NETに関する項は、組織のプロビジョニング・ソリューションの開発を担当する、経験豊かな.NET アプリケーション・プログラマを対象としています。
Java CLI
Java CLIでは、Provisioning Gateway Webサービスと通信するためのいくつかのインタフェース、クラス・ファクトリ、およびサポートするタイプが公開されています。これらのプログラミングAPIは、クラス・ライブラリであるpmcli.jar内に保持されていますが、これはJava CLIのメインの実行可能ファイルと同じライブラリであり、SDKで再利用されます。このガイドのJavaに関する項では、Java CLIで公開されているインタフェースをアプリケーションで使用する方法を説明します。
このドキュメントでは、次の内容を説明します。
CLI構文の書式、戻り値、コマンド、オプションおよびパラメータ
空白、引用符を含むパラメータのエスケープ
Java CLI用のSSLの設定
CLIコマンドの適切な使用方法を示す例
.NETおよびJava CLIの実装手順は、Oracle Enterprise Single Sign-On Suiteのアプリケーション・インタフェースの開発に関する説明を参照してください。
注意: .NETおよびJava CLIの機能はほぼ同一です。相違点については、このドキュメント全体を通して記載されています。 |
.NET CLIはデフォルトでインストールされます。Java CLIをインストールするには、インストール時に「Custom」オプションを選択する必要があります。
CLIでは次の構文を使用します。
usage: pmcli [-url service] [-agent name] [-u login id]
[-p password] [-t date/time] [-f inputfile]
[-security <sec_opts>] "operation"
CLIは、どのような組合せでも、次の形式のスイッチを受け入れます。
スイッチ | 説明 |
---|---|
-arg=value |
「= 」の後に指定された値 |
-arg value |
次の引数として指定された値。 |
-arg:value |
「: 」の後に指定された値 |
--arg |
arg の前のダッシュ2個。 |
/arg |
arg の前のフォワード・スラッシュ。 |
-u, -p |
-security username=<value> password=<value> と同義。 |
-f |
ファイルからバッチ処理を実行した後、終了。 |
-t |
-exec の別名。プロビジョニング操作を実行する時間の指定。 |
.NET CLIの実行可能ファイルの名前はpmcli.exe
です。
Java CLIの実装は pmcli.jar
というクラス・ライブラリにあります。このライブラリを実行するため、バッチ・ファイルpmcli.bat
が用意されています。Windowsでは、バッチ・ファイルの実行前に、pmcli.jar
の場所およびサポートしているライブラリを示すため、環境変数%PMCLI_ROOT%
を設定する必要があります。次の手順に従って、バッチ・ファイルを使用せずに手動でJava CLIを実行することもできます。
java -cp <classpath> pmcli.Main <args>
pmcli.bat
ファイルを編集し、pmcli.bat
ファイルで指定された指示に従ってd
値を再定義することが必要な場合があります。%P%
の値は、プロパティ・ファイルの保存場所へのパスを示します。プロパティ・ファイルを使用してJava CLIをカスタマイズできます。このファイルは、名前にスペースのないパスに存在する必要があります。デフォルトでは、Java CLIはWindowsのProgram Filesフォルダ下にインストールされ、プロパティ・ファイルを使用する場合は、ファイルを保存するディレクトリの名前を参照するため、%P%
の値を設定する必要があります。ディレクトリ名にスペースを含むことはできません。
3つの操作モードがサポートされています。
このモードでは、コマンド行で入力することによりプロビジョニング操作を指定します。サポートされているプロビジョニング操作は次のとおりです。
操作 | 定義 |
---|---|
ADD_CREDENTIAL |
新しい資格証明の追加 |
MODIFY_CREDENTIAL |
既存の資格証明の変更 |
DELETE_CREDENTIAL |
既存の資格証明の削除 |
DELETE_USER |
SSOユーザーと保存した資格証明の削除 |
STATUS |
保留中の指示のステータス取得 |
CANCEL |
保留中のプロビジョニング指示の取消し |
EXT_SEARCH |
ログオンおよび保留中のリクエストの検索 |
SET_SETTINGS |
現在の記憶域設定の変更 |
GET_SETTINGS |
現在の記憶域設定の取得 |
GET_SCHEMA |
使用可能なストレージ・スキーマの取得 |
CHECK_SERVER |
サーバーのステータスの確認 |
これらの操作およびパラメータについては、このドキュメントの後の項で説明します。
注意: バッチ・ファイルおよび操作の両方がコマンド行で指定されている場合は、バッチ・モードが優先されます。 |
バッチ・モードでは、-f
スイッチで指定したファイルのCLIに、一連のプロビジョニング操作を渡すことができます。
コマンド行で操作が指定されておらず、またバッチ・ファイルが指定されていない場合、CLIは対話モードに入ります。対話モードでは、中止または終了するまで、シェルのような環境でプロビジョニング操作を指定します。
対話モードでは、コマンド行モードまたはバッチ・モードでは使用できない、3つの追加コマンドがサポートされます。
コマンド | 説明 |
---|---|
HELP |
使用可能なすべてのコマンドのリスト |
Help [operation] |
特定のコマンド用の構文の表示 |
QUIT、EXIT、Q、E |
対話モードの終了またはバッチの実行停止 |
url
、agent
、username
またはpassword
スイッチが指定されていない場合、CLIでは次のデフォルトが使用されます。
スイッチ | デフォルト |
---|---|
-url |
http://localhost/v-GO%20PM%20Service/UP.asmx |
-agent |
現在のマシン名(Windowsでは%MACHINENAME% )。 |
-password |
CLIがパスワードの入力を要求。 |
注意: .NETとJava CLIの相違点セキュリティ上の理由から、.NET CLIでは(ユーザーがパスワードの入力を求められた場合)、ユーザーが入力したパスワードは不明瞭化されます。Java CLIはプラットフォームに依存しないため、ユーザーが入力したパスワードは不明瞭化されません。 |
CLIが操作を実行すると、結果が画面に出力されます。出力される形式は実行された操作により異なります。一般的に、結果は次のようになります。
[RESULT] ID: [GUID] |
||
[RESPONSE] |
||
ここで: | ||
[RESULT] |
プロビジョニング・サーバーの結果。 | |
success |
リクエストが正常に作成され、ディレクトリに配置されました。
エージェントはこのリクエストを処理し、成功または失敗かをマークします。 |
|
noSuchRequest |
リクエストIDが存在しません。状態操作および取消操作に適用されます。 | |
CouldNotCancel |
リクエストは中止できない状態です。取消操作に適用されます。 | |
[GUID] |
正常に発行されたプロビジョニング指示の一意の識別子。 | |
[RESPONSE] |
特定のプロビジョニング指示によって返される追加の結果。status 、ext_search 、get_settings およびget_schema 操作に適用されます。一般的に、結果は名前と値のペアの書式をとります。この属性書式は返された情報の説明として表示することができます。 |
|
エラーが発生した場合、次のように、例外が出力された後に説明文が続きます。
|
Logon Manager Agentがプロビジョニング指示の処理を完了すると、指示のResult
属性は実行結果に設定されます。エージェントが指示の処理に失敗すると、属性はFailed
に設定され、Description
は発生した特定のエラーに設定されます。発生する可能性があるエラーは次のとおりです。
プロビジョニング指示の復号に失敗しました。
リクエストされた指示の削除に失敗しました。
無効または不明な指示タイプです。
指示で指定されたアプリケーションが見つかりません。
変更指示を追加指示として処理するのに失敗しました。
指示の追加に失敗しました、資格証明がすでに存在します。
指示の追加に失敗し、必須フィールドが含まれていません。
次の表は、実行可能な特定のプロビジョニング操作、および各操作に固有の構文の一覧です。
add_credential |
指定されたユーザーの新しい資格証明の追加。 |
delete_credential |
指定されたユーザーに関連付けられた既存の資格証明の削除。 |
modify_credential |
指定されたユーザーに関連付けられた既存の資格証明の変更。 |
delete_user |
SSOユーザーと保存した資格証明の削除。 |
status |
保留中または発行されたプロビジョニング指示のステータスの取得。 |
cancel |
保留中のプロビジョニング指示の取消し。 |
ext_search |
アプリケーション、ユーザーおよびイベント・ログのエントリの検索。 |
set_settings |
現在の記憶域設定の変更。 |
get_settings |
現在の記憶域設定の取得。 |
get_schema |
使用可能なストレージ・スキーマの取得。 |
check_server |
サーバーのステータスの確認(successの場合はエラーなし)。 |
操作パラメータは、リクエストに固有の特性を定義します。使用する可能性のあるパラメータのセットが操作別に記載されています。各パラメータは、次のように指定された名前と値のペアで構成されます。
sso_userid |
Provisioning Gatewayに認識されるユーザーのID。Provisioning Serviceが、Provisioning Gatewayデータ・ストアにおいてユーザーを特定するために使用するIDです。 |
sso_application |
資格証明を追加するアプリケーションの名称。 |
sso_description |
資格証明の説明。このフィールドはオプションです。 |
sso_app_userid |
資格証明に対するアプリケーションのユーザーID。 |
sso_password |
この資格証明のパスワード・フィールド。 |
sso_other1 |
この資格証明の3番目のフィールド。 |
sso_other2 |
この資格証明の4番目のフィールド。 |
command_id |
正常なプロビジョニングにより発行されたGUID。 |
SET_SETTINGS
set_settings
操作に固有の設定は、次のとおりです。
name |
記憶域のキーの名前のカンマ区切りリスト。 |
value |
ストレージ値のカンマ区切りリスト。 |
EXT_SEARCH
ext_search
操作に固有の設定は、次の表のとおりです。
catalog |
検索するカタログ。 |
userId |
検索するユーザーのsso_userid (ext_search )。 |
logon |
アプリケーション・ログオン名のカンマ区切りリスト。 |
returnLogons |
選択したユーザーのアプリケーション・テンプレートに対して、保存された資格証明コンテナに関連付けられたGUIDのリストを返す。 |
returnInstructions |
保留中の指示のリストを返す。 |
uidMatch |
userIDを完全一致または部分文字列一致で検索。 |
startDate |
イベント・ログの開始日。 |
endDate |
イベント・ログの終了日。 |
eventType |
検索でフィルタ処理するイベントのタイプ。 |
構文には各操作に必要なパラメータおよび形式を記述します。各操作とその構文は、次のように定義されます。
ADD_CREDENTIAL sso_userid sso_application [sso_app_userid] [sso_password] [sso_description] [sso_other1] [sso_other2]
MODIFY_CREDENTIAL sso_userid sso_application sso_app_userid [sso_description] [sso_password] [sso_other1] [sso_other2]
DELETE_CREDENTIAL sso_userid sso_application [sso_app_userid] [sso_password] [sso_other1] [sso_other2]
DELETE_USER sso_userid
STATUS sso_userid command_id
CANCEL sso_userid command_id
EXT_SEARCH CATALOG=Applications [userId]
EXT_SEARCH CATALOG=Users [userId] [logon="logon1,logon2,..."] [returnLogons=true|false] [returnInstructions=true|false] [uidMatch=substring|equal]
注意: uidMatch が指定されていない場合、equalが指定されているものとして処理されます。returnLogons およびreturnInstructions が指定されていない場合、falseが指定されているものとして処理されます。 |
EXT_SEARCH CATALOG=EventLog [startDate=mm/dd/yyyy] [endDate=mm/dd/yyyy] [eventType=amducs]
eventType
に使用できる値は次のとおりです。
a |
ログオンの追加 |
m |
ログオンの変更 |
d |
ログオンの削除 |
c |
ユーザーの削除 |
u |
リクエストの取消し |
s |
ステータスのリクエスト |
一致イベントを返すために組み合せて使用できます。
SET_SETTINGS name="key1,key2,..." value="value1,value2,..."
GET_SCHEMA
を使用し、有効なキーを取得できます。キーと値の数は同一である必要があります。名前リストの各キーは、値リストの対応する値とペアになっています(位置に基づく)。
GET_SETTINGS |
このコマンド用のパラメータはありません。 |
GET_SCHEMA |
このコマンド用のパラメータはありません。 |
CHECK_SERVER |
このコマンド用のパラメータはありません。 |
カンマ区切りの値を取るパラメータは、「\」
(バックスラッシュ)をカンマのエスケープ文字としてサポートしています。たとえば、Active DirectoryのUserPath
にCN=USERS,DC=DOMAIN,DC=COM
の値を入力するには、次のコマンドを発行します。
SET_SETTINGS name="Storage\AD\UserPath" value="CN=USERS\,DC=DOMAIN\,DC=COM"
エスケープされていないコマンドは、複数の値またはキーの区切りとして処理されます。
次の例では、CLIの使用方法を示しています。
pmcli -username=johns
pmcli -username johns
pmcli -username:johns
pmcli -u:johns
pmcli -u=johns
pmcli -u johns
pmcli /u:johns
pmcli --u:johns
前述の呼出しは同じ意味を持ち、すべてのスイッチに適用されます。
pmcli -p:Password
urlのデフォルトはhttp://localhost/v-go%20pm%20service/up.asmx
です。
agentのデフォルトagentマシン名です。
usernameは現在ログオン中のユーザーです。
pmcli -u:Administrator -p:Password
urlのデフォルトはhttp://localhost/v-go%20pm%20service/up.asmx
です。
agentのデフォルトagentマシン名です。
pmcli -url:http://test.com/v-go%20pm%20service/up.asmx -p:mypassword
agentのデフォルトagentマシン名です。
usernameは現在ログイン中のユーザーです。
pmcli
urlのデフォルトはhttp://localhost/v-go%20pm%20service/up.asmx
です。
agentのデフォルトagentマシン名です。
usernameは現在ログイン中のユーザーです。
パスワードの入力が要求されます(CLIがパスワードの入力を要求します)。
次の例では、SSOユーザーであるjoeuserのLotus Notes資格証明を追加します。
pmcli -url "http://example.com/v-GO PM Service/UP.asmx" -agent "PM Agent" -username=PMAdmin -password=mysecretpassword add_credential sso_userid=joeuser sso_application="Lotus Notes" sso_app_userid=lotususer sso_password=password123 sso_other1=mydomain
CLIに対する最初の4つのスイッチが示しているものは、次のとおりです。
Provisioning Gateway Webサービスの場所
このエージェントの識別子
Webサービスの認証に使用する資格証明
操作およびそのパラメータ
この場合、プロビジョニングするSSOユーザーはjoeuser
で、mydomainドメインでLotus Notesの資格証明、lotususer
の資格証明、およびpassword123
が追加されています。
次の例では、SSOユーザーであるjoeuser
の資格証明をすべて削除します。
pmcli -url "http://example.com/v-GO PM Service/UP.asmx" -agent "PM Agent" -username=PMAdmin -password=mysecretpassword delete_user sso_userid=joeuser
この例では、ユーザーおよびシステム上のプロビジョニング済のログオンと指示のリストを返します。
pmcli -url "http://example.com/v-GO PM Service/UP.asmx" -agent "PM Agent" -username=PMAdmin -password=mysecretpassword ext_search catalog=users returnLogons=true returnInstructions=true
次の例は、バッチ・ファイルから操作を実行する方法です。
pmcli -url:"http://example.com/v-GO PM Service/UP.asmx" -agent:"PM Agent" -u:PMAdmin -p:mysecretpassword -f=c:\operations.txt
operations.txtファイルでは、行ごとにプロビジョニング操作が1つ記述されています。
add_credential sso_userid=joeuser sso_application="Lotus Notes" ...
add_credential sso_userid=janeuser sso_application="Lotus Notes" ...
delete_credential sso_userid=jackuser sso_application="Lotus Notes"
次の例は、対話モードでCLIを実行する方法です。
pmcli -url:"http://example.pass.com/v-GO PM Service/UP.asmx" -agent:
"PM Agent" -u:PMAdmin -p:mysecretpassword
CLIは対話モードに入り、次のように表示されます。
Passlogix (R) v-GO PM CLI Version 6.0.0
Copyright (C) Passlogix, Inc. 1998-2005. All rights reserved.
URL: http://example.pass.com/v-GO PM Service/UP.asmx
AGENT: PM Agent"
USERNAME: PMAdmin
EXECUTE: 10/17/2005-15:07:04
-------------------------------------
セッションを終了するには、「e
」[xit] または「q
」[uit]を入力します。
この項の手順を実施する前に、Provisioning Gateway .NET CLIをインストールする必要があります。Provisioning Gateway .NET CLIのインストールの詳細は、『Oracle Enterprise Single Sign-On Suiteインストレーション・ガイド』を参照してください。
.NET CLIは<Passlogix home>\v-GO PM\Client\CLI\DotNet
の下にあります。
.NET CLIをSDKとして使用するには、次の手順を実行します。
.NETプロジェクトにおいて、Passlogix.Provisioning.dllへの参照を追加します。
IProvisioning
インタフェースのインスタンスを作成します。
このインタフェースに使用可能なメソッド(AddCredential
など)を呼び出します。
返されたIProvisioningResult
インタフェースを使用して、成功したかを判断し、結果を取得します。
.NETプロジェクトにPasslogix.Provisioning.dll
への参照を追加します。
Visual Studioから、ソリューションをロードし、Solution Explorerを起動します。
該当する.NETプロジェクトを選択し、展開します。
「References」ノードを右クリックし、「Add Reference」を選択します。
ダイアログから「Browse」を選択し、(<Passlogix home>\v-GO PM\Client\DotNet
下にある)Passlogix.Provisioning.dll
を指定します。
「Open」をクリックします。アセンブリへの新しい参照が作成されます。
APIが呼び出されるソース・ファイル(拡張子.cs
)を開き、ファイルの先頭に次の行を追加します。
using Passlogix.Provisioning;
using Passlogix.Provisioning.Exceptions;
同じファイル内で、IProvisioning
インタフェースのインスタンスを初期化するメソッドを作成し、次の行のうち1つをメソッドに追加します。
メソッド1。フルパスがわかっている場合
IProvisioning iprov =
ProvisioningFactory.CreateFrom(@"<Path to .NET CLI>");
メソッド2。プロビジョニング・アセンブリと同じディレクトリからロードする
IProvisioning iprov = ProvisioningFactory.CreateFromPrivate();
メソッド3。(%PATH%で指定された)パスからファイルをロードする
IProvisioning iprov = ProvisioningFactory.CreateFromPath();
ロードするためのメソッドを選択した後、誤りがないか確認し、Provisioning Gatewayサービスの接続用の資格証明を設定します。
ロードするアセンブリ・メソッドを選択した後、次のコードを使用します。
if (iprov != null)
{
try
{
メソッドへのすべての結果の呼出しが失敗しないようにするには、最初に接続を確立する必要があります。このメソッドは、プロビジョニング・サービスに接続するための資格証明を設定します。プロビジョニング・リクエストが行われるまで、実際にサービスには接続されません。
3通りの接続方法があります。
メソッド1
iprov.Connect("Administrator", "password");
http://localhost/v-go pm service/up.asmx
および%COMPUTERNAME%
をエージェント名とします。
メソッド2
URLおよびエージェント名を指定します。
iprov.Connect(
"http://<server>/v-go pm service/up.asmx",
"My Agent",
"Administrator", "password");
メソッド3
URLを指定します。
iprov.Connect(
"http://<server>/v-go pm service/up.asmx",
"Administrator", "password");
iprov
インタフェース経由でプロビジョニング・リクエストを作成します。Webサービスはローカルではないものの、ユーザーがエージェント名を必ず指定するとは限らないため(デフォルトは %COMPUTERNAME%
)、望ましいメソッドです。例は「サンプル・コード」を参照してください。
}
catch (ProvisioningException ex) { // Handle exception } }
正常に接続されると、iprov
変数のメソッドにより、リクエストをProvisioning Gateway Webサービスに送ることができます。各メソッドはIProvisioningnResult
インタフェースに結果を返します。エラー処理のため、try…catch
ブロック内でメソッドを呼び出すことをお薦めします。CLIがスローした例外は、ProvisioningException
クラスをキャッチすることで十分に処理できます。その他の例外は、catch (Exception)
を追加することにより処理できます。
この項では、各プロビジョニング操作に使用可能なメソッドおよびパラメータについて説明しています。使用可能な各メソッドの詳細は次のとおりです。
メソッド名と説明
メソッドのオーバーロード・リスト
メソッドのパラメータの説明(該当する場合)
パラメータのうち1つは、特別に説明する必要があります。options
パラメータは、キーと値のペアのディクショナリです。キーは、コマンド行でCLIが使用する引数の名前です。値はキーの値です。開発者は、キーのリテラル名(コマンド行で渡す)またはOperationKeys
クラスで定義されたキー定数を使用して、ディレクトリにキーと値のペアを設定できます。
CLIが使用するコマンド行構文(CLI_Syntax
)(該当する場合)
コマンド行引数は、メソッドのオプション・パラメータの入力に使用できる有効なキーに直接マップします。OperationKeys
クラスは、各キーのリテラル値への定数マッピングの利便性のために用意されています。オプション配列の入力または索引付けに使用できます。煩雑さを避けるため、CLI構文では完全な構文は表示されません。詳しい情報は、「CLI構文」を参照してください。操作名は大文字で始まります。括弧内に指定された引数はオプションです。
メソッド | 説明 |
---|---|
Connect |
Webサービスへの接続の確立。このメソッドは実際の接続は行わず、他のメソッドが接続に使用する資格証明を保存します。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strURL |
WebサービスのURL。デフォルトはhttp://localhost/v-GO%20PM%20Service/up.asmx 。 |
strAgent |
このエージェントの識別子。デフォルトは%COMPUTERNAME% 。 |
strUsername |
Webサービスの認証に使用するユーザー名。 |
strPassword |
Webサービスの認証に使用するパスワード。 |
メソッド | 説明 |
---|---|
SetExecTime |
プロビジョニングの指示の実行時間の設定。指示を作成した後、将来の日付または時間に指示をエージェントで実行するよう伝えるために使用します。設定されていない場合、デフォルトの"Now"が使用されます。 |
オーバーロード・リスト
void |
メソッド | 説明 |
---|---|
AddCredential |
新しい資格証明を持つユーザーのプロビジョニング。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
プロビジョニングされるユーザーのユーザーID。 |
strApplication |
プロビジョニングするためのアプリケーションの名称。 |
strDescription |
プロビジョニングの指示の説明。 |
strAppUserId |
資格証明のアプリケーション・ユーザーID。 |
strPassword |
資格証明のパスワード。 |
options |
オプションのハッシュ表(OperationKeysで指定したキー)。 |
CLI構文 | |
ADD_CREDENTIAL sso_userid sso_application [sso_app_userid] sso_password] |
メソッド | 説明 |
---|---|
CancelRequest |
プロビジョニング・リクエストの取消し(エージェントの動作前)。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
プロビジョニングされるユーザーのユーザーID。 |
strGuid |
取消し可能な、取消しのためのプロビジョニング指示のID(複数のメソッドにより返される)。 |
CLI構文 | |
CANCEL sso_userid=<username> command_id=<guid> |
メソッド | 説明 |
---|---|
DeleteCredential |
プロビジョニングされた資格証明の削除。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
プロビジョニングされるユーザーのユーザーID。 |
strApplication |
プロビジョニングするためのアプリケーションの名称。 |
strAppUserId |
資格証明のアプリケーション・ユーザーID。 |
strOther1 |
他のフィールド値(1)。 |
strOther2 |
他のフィールド値(2)。 |
options |
オプションのハッシュ表(OperationKeys で指定したキー)。 |
CLI構文 | |
DELETE_CREDENTIAL sso_userid sso_application [sso_app_userid] |
メソッド | 説明 |
---|---|
ModifyCredential | プロビジョニングされた資格証明の変更。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
変更するユーザーのユーザーID。 |
strApplication |
変更する資格証明のアプリケーションの名称。 |
strAppUserId |
変更する資格証明のアプリケーション・ユーザーID。 |
strAppUserId |
変更する資格証明のパスワード。 |
strDescription |
プロビジョニングの指示の説明。 |
strOther1 |
他のフィールド値(1)。 |
strOther2 |
他のフィールド値(2)。 |
options |
オプションのハッシュ表(OperationKeysで指定したキー)。 |
CLI構文 | |
MODIFY_CREDENTIAL sso_userid sso_application sso_app_userid [sso_description] [sso_password] [sso_other1] [sso_other2] [sso_password] [sso_other1] [sso_other2] |
メソッド | 説明 |
---|---|
DeleteUser |
ユーザー・コンテナの削除(特定のユーザーの全資格証明の削除とほぼ同じ)。 |
オーバーロード・リスト | |
IProvisioningResult DeleteUser(string strUserId); |
パラメータ | 説明 |
---|---|
strUserId |
削除するコンテナのユーザーID。 |
CLI構文 | |
DELETE_USER sso_userid=<username> |
メソッド | 説明 |
---|---|
GetStatus |
サーバーにpingを打つ。エラーなしで正常に返されれば、サーバーは機能しています。 |
オーバーロード・リスト
|
|
CLI構文 | |
CHECK_SERVER |
メソッド | 説明 |
---|---|
StatusRequest |
保留中のプロビジョニング指示のステータスのリクエスト。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
問い合わせるUser ID。 |
strGuid |
プロビジョニング指示のID(複数メソッドにより返される)。 |
CLI構文 | |
STATUS sso_userid=<username> command_id=<guid> |
メソッド | 説明 |
---|---|
GetSettings |
PM Webサービスのディレクトリ設定を返す。 |
オーバーロード・リスト
|
|
CLI構文 | |
GET_SETTINGS |
メソッド | 説明 |
---|---|
GetSchema |
スキーマ(またはSetSettingsに使用可能なオプションのリスト)の取得。 |
オーバーロード・リスト
|
|
CLI構文 | |
GET_SCHEMA |
メソッド | 説明 |
---|---|
SetSettings |
Webサービスで使用される設定の変更。 |
オーバーロード・リスト
|
パラメータ | 説明 |
---|---|
Map |
各設定のキーと値のペア。 |
CLI構文 | |
SET_SETTINGS name="key1, key2, ..." value="value1, value2, ..." |
メソッド | 説明 |
---|---|
ExtSearch |
ディレクトリ・サービスを検索し、ユーザー、アプリケーション、およびログの情報を返す。特定のユーザーまたはすべてのユーザーに対してプロビジョニング可能なアプリケーションのリストを返します。 |
アプリケーション用のオーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
返すアプリケーション・リストのユーザーの名前。 |
ユーザー用のオーバーロード・リスト
|
パラメータ | 説明 |
---|---|
strUserId |
情報を返すユーザー。 |
logons |
ログオンのみを返す(csv形式)。 |
fRetLogons |
ログオン情報を返す。 |
fRetInsts |
保留中のプロビジョニング指示を返す。 |
fMatchExact |
strUserId で完全一致を使用。 |
options |
オプションのハッシュ表(ExtSearchKeys で指定)。 |
ロギング用のオーバーロード・リスト
|
パラメータ | 説明 |
---|---|
evt |
返すEventType 。 |
dtStart |
返す日付範囲の開始日。 |
dtEnd |
返す日付範囲の終了日。 |
CLI構文 | |
EXT_SEARCH CATALOG=Applications [userId=<username>]
|
Provisioning Gateway Webサービスに対するプロビジョニング・リクエストの完了後、呼び出されたメソッドによりIProvisioningResult
インタフェースが返されます。アプリケーションは、リクエストが正常に成功したかどうか判断し、関連する結果を取得するため、このインタフェースを使用できます。この項では、IProvisioningResult
インタフェースで使用可能なプロパティ、およびIProvisioningで呼び出されるメソッドの値の解釈方法を説明します。
public interface IProvisioningResult { string Response { get; }
bool Success { get; }
string CommandID { get; }
string ErrorMessage { get; }
IDictionary AttributesCollection { get; } }
プロパティ | 説明 |
---|---|
Success |
コマンドが正常に完了した場合、trueとなります。 |
ErrorMessage |
Success がFalse の場合のエラー文字列。必ずしも設定する必要はありません。 |
CommandID |
完了したコマンドに関連付けられた一意のID(32桁のGUID)。ExtSearch 以外のすべてのメソッドはGUIDを返します。ただし、次のメソッドのみがCancelRequestおよびStatusRequest操作で使用できるGUIDを提供します。
|
Response |
Webサービスが返すraw XMLレスポンス。結果の再解析が必要な場合に便利です。 |
AttributesCollection |
成功時に、詳細な結果がWebサービスにより返されます。形式は、キーと値のペアのディクショナリです。このプロパティに入力するメソッドは次のとおりです。
|
属性コレクションは、GetSettings
、GetSchema
、ExtSearch
、およびStatusRequest
によって返される属性のディクショナリです。キーは属性名を示す文字列です。値はIDictionary
、IList
、または文字列のいずれかを参照できます。ただし、同一のコレクションで複数のタイプが混じり合うことはありません。タイプの確定後、すべてのキーは同一のタイプを参照します。
次の表は、プロビジョニング操作により返されるキーと値、およびその意味の一覧です。
メソッド | 説明 | |
---|---|---|
GetSettings |
文字列キーと値のペアのコレクションを返します。キーは設定の名前です。値はキーの値です。Provisioning Gateway Webサービスによりレジストリに設定されるストレージ値です。 | |
StatusRequest |
文字列キーと値のペアのコレクションを返します。キーはステータス・プロパティの名前です。値はキーの値です。サポートされているステータス・キーは次のとおりです。 | |
ステータス・キー | 値 | |
InstructionState |
PENDING , PROCESSED |
|
Result |
SUCCESS , FAILED |
|
Description |
SUCCESS , <Reason for failure> |
|
Modified |
<Date modified> |
|
GetSchema |
キーは記憶域設定のグループの名前を示す文字列です。値はIList です。各IList エントリには、このグループの設定が1つ記述されています。エントリは、文字列キーと値のペアのIDictionary です。キーは次のいずれかで、使用可能な値のうちいずれか1つが後に続きます。 |
|
キー | 値 | |
DataType |
文字列またはブール。 | |
DisplayDesc |
この設定の説明。空にできます。 | |
DisplayName |
表示するための、設定のわかりやすい名前。 | |
Flags |
設定が非永続的かどうかを示す使用する内部値で、必須です。 | |
RegDefault |
この設定のデフォルト値。空にできます。 | |
RegName |
レジストリ・キーの名前。 | |
RegPath |
この設定の相対レジストリ・パス。 | |
RegType |
レジストリ・タイプ(DWORD またはstring )。 |
|
注意: このエントリにより記述される設定は、GetSettings およびSetSettings で取得または設定できる値になります。 |
||
ExtSearch |
ハッシュ表の集まり。(詳細は、次の項を参照してください)。キーは文字列ですが、戻り値のタイプは呼び出されたExtSearchXXX により異なります。 |
注意: AttributesCollectionプロパティによって返されるキーと値のペアの構造および形式は、実際のCLIからのコンソール出力を細密に反映するように設計されています。CLIを使用するだけで、これらのメソッドにより返されるコレクションの形式および構造を理解できます。 |
この項では、ExtSearchが返すAttributesCollectionマップの形式について説明します。
戻り値: | .NET: ハッシュ表のハッシュ表
Java: ハッシュマップのハッシュマップ |
キー | 値 | |
---|---|---|
Application Name | ハッシュ表(文字列キーと値のペア) | |
キー | 値 | |
HasFourthField |
True | False |
|
HasPassword |
True | False |
|
HasThirdField |
True | False |
|
HasUserId |
True | False |
|
IsSecurId |
True | False |
|
IsSecurId がtrueの場合、最初の4つのフィールドの名前が変更されます。
|
検索結果の例を次に示します。
Adobe Acrobat Readers
HasFourthField: False
HasPassword: True
HasThirdField: False
IsSecurID: False
HasUserId: False
MSNメッセンジャー
HasFourthField: False
HasPassword: True
HasThirdField: False
IsSecurID: False
HasUserId: True
Visual SourceSafe
HasFourthField: False
HasPassword: True
HasThirdField: True
IsSecurID: False
HasUserId: True
戻り値: | .NET: ハッシュ表のリストのHashTable
Java: ハッシュマップのリストの |
キー | 値 | |
---|---|---|
ユーザー名 | ||
ログオンエントリ | ||
キー | 値 | |
name |
アプリケーション名 | |
modifiedDate |
最終更新日 | |
lastUsedDate |
SSOによる最終使用日 | |
Id |
GUID識別子 | |
保留中のエントリ | ||
applicationName |
アプリケーション | |
createDate |
作成日 | |
executeDate |
実行予定日 | |
id |
GUID識別子 | |
instructionType |
ADD | MODIFY | DELETE |
|
provisioningAgent |
エージェント名 | |
status |
SUCCESS | Pending |
ext_search catalog=users returnLogons=true
すべてのユーザーのログオンのリストを返します。
johnd
modifiedDate: 2005-08-24 16:43:41Z
lastUsedDate: 2005-08-24 16:43:41Z
name: Adobe Acrobat Reader
id: a75f58c8-a3bd-4d00-bc27-99a587dd98f8
modifiedDate: 2005-08-24 16:43:41Z
lastUsedDate: 2005-08-24 16:43:41Z
name: Adobe Acrobat Reader
id: d6bc375d-3f90-400b-a012-6b80aff4ef49
modifiedDate: 2005-09-09 16:28:15Z
lastUsedDate: 2005-09-09 16:28:15Z
name: Visual SourceSafe
id: 80cdc929-61a6-4b86-8763-d5f02b0dbb8b
modifiedDate: 2005-09-01 17:30:26Z
lastUsedDate: 2005-09-01 17:30:26Z
name: Visual SourceSafe
id: 065f5cff-b651-4a3a-a99c-c606059cbad7
modifiedDate: 2005-09-09 16:41:33Z
lastUsedDate: 2005-09-09 16:41:33Z
name: Visual SourceSafe
id: 0a0686b5-3e38-4830-8e02-79b8177de0b4
戻り値: | .NET: ハッシュ表のハッシュ表
Java: ハッシュマップのハッシュマップ |
キー | 値 | |
---|---|---|
エントリ番号 | ハッシュ表(文字列キーと値のペア) | |
キー | 値 | |
applicationName |
アプリケーション名 | |
eventType |
イベントのタイプ(DWORDフラグ) | |
executeDate |
実行日 | |
id |
GUID識別子 | |
provisionedUser |
プロビジョニングされたユーザー | |
provisioningAgent |
エージェント名 | |
timeStamp |
タイムスタンプ |
ext_search catalog=eventLog
すべてのユーザーのログオンのリストを返します。
エントリ1
applicationName:
eventType: 64
executeDate: 0001-01-01 00:00:00.000Z
id: a09b9de7-4b65-464c-8dcb-90219e222991
provisionedUser:
provisioningAgent: SSO PM Console
timestamp: 2005-11-17 18:33:37.290Z
エントリ2
applicationName:
eventType: 64
executeDate: 0001-01-01 00:00:00.000Z
id: bd444f6c-e3cf-4efc-bbd8-c5e82d55ed96
provisionedUser:
provisioningAgent: SSO PM Console
timestamp: 2005-11-17 18:33:37.370Z
エントリ3
applicationName:
eventType: 64
executeDate: 0001-01-01 00:00:00.000Z
id: 6eebd1dd-a904-43db-8c22-38ef941e83b3
provisionedUser:
provisioningAgent: SSO PM Console
timestamp: 2005-11-17 18:33:38.960Z
エントリ4
applicationName: Visual SourceSafe
eventType: 4
executeDate: 2005-11-17 19:28:51.427Z
id: 2c45f078-c9c7-4268-9abd-4e50111ba644
provisionedUser: davidh
provisioningAgent: SSO PM Console
timestamp: 2005-11-17 19:28:51.427Z
次のコードは、IProvisioning
インタフェースからAddCredential
メソッドを呼び出す方法を示します。この例では、Logon Managerユーザーjohndoe
の資格証明を追加しています。追加されるアプリケーションはYahoo
、アプリケーションの資格証明はjdoe
およびpassword
です。この資格証明の説明はTestApp
です。
try
{
IProvisioningResult ipr = iprov.AddCredential(
"johndoe",
"Yahoo",
"Test App",
"jdoe",
"password");
//Process results in ipr
if (!ipr.Success)
{
Console.WriteLine(ipr.ErrorMessage);
return;
}
//Display GUID
Console.WriteLine("SUCCESS" + ipr.CommandID);
}
catch (ProvisioningException ex)
{
// Handle Exception...
}
よりフレキシブルな方法として、オプションの引数を使用して資格証明を追加することもできます。このメソッドでは、追加パラメータ(アプリケーションによってはOTHER1
およびOTHER2
フィールドが必要です)、およびそれらのパラメータの組み合わせを使用できます。
次の例では、SSOユーザーjohndoe
のVisual SourceSafe
アプリケーションの資格証明を追加する方法を示します。このアプリケーションにはOTHER1
フィールドが必要なため、この方法が資格証明を追加する唯一の方法です。
StringDictionary options = new StringDictionary();
options.Add(OperationKeys.DESCRIPTION, "Test App");
options.Add(OperationKeys.APP_USERID, "jdoe");
options.Add(OperationKeys.PASSWORD, "password");
options.Add(OperationKeys.OTHER1, "VGO");
IProvisioningResult ipr = iprov.AddCredential("johndoe",
"Visual SourceSafe", options);
この項の手順を実施する前に、Provisioning Gateway CLIをインストールする必要があります。Provisioning Gateway CLIのインストールの詳細は、『Oracle Enterprise Single Sign-On Suiteインストレーション・ガイド』を参照してください。
Java CLIは<home directory>\v-GO PM\Client\Java\<version>
の下にあります。
Java CLIをSDKとして使用するには、次の手順を実行します。
pmcli.jar
およびサポートしているライブラリをCLASSPATH
に追加します。
プロビジョニング・クラスをアプリケーションにインポートします。
ProvisioningConnection
クラスのインスタンスを作成します。
CLIOperationParser
クラスのインスタンスを作成します。
StringMap
を使用し、操作および操作パラメータを定義します。
手順4で作成したオブジェクト・インスタンスを使用し、Operationのインスタンスを作成します。
実行時間を設定します(設定しない場合、デフォルトの"Now"が使用されます)。
ProvisioningConnection
(手順3)インスタンスを使用し、WebサービスにOperationインスタンス(手順6)を送信します。
操作の成功および結果を取得します。
次のコードは、それぞれの手順を実行する簡単なプログラムです。
これらのクラスをアプリケーションにインポートします。
import com.passlogix.vgo.pm.cli.*; import com.passlogix.vgo.pm.operations.*;
Webサービスを呼び出すサンプル・ルーチンです。
void CallWebService(/* Parameters */) {
ProvisioningConnection
への引数は次のように定義されます。
URL
: WebサービスのURL strAgent
: クライアント・エージェントのユーザー定義名 strUsername
: 接続するユーザー名 strPassword
: 接続に使用するパスワード ProvisioningConnection
conn = new ProvisioningConnection(strURL, strAgent, strUsername, strPassword); try {
指示の実行を開始します。
CLIOperationParser opParser = CLIOperationParser.newInstance(); Operation.StringMap options = new Operation.StringMap();
ほとんどのオプションに対してはOperationKeys
クラスを使用します。ExtSearch
操作にはExtSearchKeys
クラスを使用します。
options[OperationKeys.USERID] = "davidh"; options[OperationKeys.APPLICATION] = "Visual SourceSafe";
strOper
は、CLIOperationParser
で定義された操作と同一にすることができます。: Operation oper = opParser.parse(strOper, options);
命令の実行時間を設定します。実行時間を指定しない場合は、デフォルトでNow
に設定されます。oper.setExecTime(dtExec); conn.sendInstruction(oper);
操作が正常に実行された場合、結果を取得します。if (!oper.getSuccess()) { String strMsg = String.format(
"The command failed: id=%s, msg=%s", oper.getCommandID(), oper.getError()); return; }
コマンドIDおよび結果属性を取得します。
String strID = oper.getCommandID()); CollectionsMap map = oper.getResultAttributes()); } catch (Exception ex) { // print exception } }
コマンドによっては、片方または両方が空です。コマンドIDと結果属性のフォーマットの詳細、および各操作に使用可能なオプションについては、「SDKとしての.NET CLIの使用」の項を参照してください。使用可能な操作は、CLIOperationParserクラスの静的メンバーとして定義されます。サポートされている操作に対して使用可能なオプションおよびパラメータは、すべてこの文書の「OperationKeysインタフェース」および「ExtSearchKeysインタフェース」の項で定義されています。
次のクラス定義では、リクエストをProvisioning Gateway Webサービスにプログラム的に送信するために必要な、重要な定数およびメソッドについて記載します。
このクラスはOperationParser
を継承しています。それ自身のインスタンスは、newInstance()を呼び出すことにより作成できます。インスタンスが存在する場合、サーバー上で実行される特定のリクエストを示すOperationオブジェクトの作成に使用できます。
定数文字列として定義された、サポートされているすべての操作は次のとおりです。
static public final String ADD_CREDENTIAL = "add_credential";
static public final String MODIFY_CREDENTIAL = "modify_credential";
static public final String DELETE_CREDENTIAL = "delete_credential";
static public final String DELETE_USER = "delete_user";
static public final String STATUS = "status";
static public final String CANCEL = "cancel";
static public final String CHECK_SERVER = "check_server";
static public final String GET_SETTINGS = "get_settings";
static public final String GET_SCHEMA = "get_schema";
static public final String SET_SETTINGS = "set_settings";
static public final String EXT_SEARCH = "ext_search";
このパーサーの新しいインスタンスの作成
static public CLIOperationParser newInstance();
選択した出力ストリームへの結果の出力
public void printResults(PrintStream out, Operation oper);
このクラスは、CLIOperationParser
のベース・クラスです。追加の操作をサポートし、Operationオブジェクトを作成するためのメソッドを定義します。
新規プロビジョニング操作およびそのサポート・クラスを追加します。
public void addOperation(String strOper, Class<? extends Operation> c)
サポート・クラスは、抽象Operation
クラスから派生したものである必要があります。このメソッドは内部使用用です。
特定のプロビジョニング指示のOperation
オブジェクトのインスタンス作成:
public Operation parse(String strInstr) throws InstantiationException, IllegalAccessException
この指示の形式は、コマンド行で渡されたものと同じです。
操作名に基づくOperation
オブジェクトのインスタンス作成:
public Operation parseNoOpt(String strOper) throws InstantiationException, IllegalAccessException
操作名およびパラメータ(キーと値のペアのマップとして指定された)に基づくOperation
オブジェクトのインスタンス作成:
public Operation parse(String strOper, Operation.StringMap options) throws InstantiationException, IllegalAccessException
OperationクラスはJava CLIがサポートするすべての操作のベース・クラスです。このクラスは正しいメッセージを構成してWebサービスに送信し、レスポンスの取得と保存を行います。結果の問合せに使用できるメソッドは次のとおりです。
サーバーからraw xmlレスポンスを取得します。
public String getResponse()
操作が正常に実行されたかどうかを問い合わせます。
public boolean getSuccess()
操作の実行後、関連付けられたGUIDを取得します。
public String getCommandID()
操作に関連付けられたGUIDがない場合、空の文字列にすることができます。
getSuccess
がfalseを返した場合、エラー・メッセージを取得します。
public String getError()
サーバー上でのこの操作の実行時間を設定します。
public void s
etExecTime(Date dtExec)
このパラメータの値を指定しない場合、操作はただちに実行されます。それ以外の場合、操作は指定された時間まで実行されません。
操作が正常に実行された場合、結果属性を取得します。
public CollectionsMap getResultAttributes()
success以外の結果が返されなかった場合、空のCollectionsMap
が返されます。CollectionsMap
の形式は、リストの名前と値のペアのマップ、またはその他のマップです。正確な形式は実行された操作により異なります。詳細は、「SDKとしての.NET CLIの使用」を参照してください。
操作を実行します。
public String send(ProvisioningConnection conn) throws PMCLIException, RemoteException
通常は、メソッドを直接呼び出さないでください。かわりに、次のように呼び出します。
ProvisioningConnection.sendInstruction(...)
これによりOperationオブジェクトが渡されます。
OperationKeysインタフェースは、操作に使用できるすべてのパラメータを定義します。パラメータはStringMap
に対するキーとして指定し、その値が後に続きます。操作でサポートされるキーのサブセットの詳細については、Provisioning Gatewayに関する説明の「SDKとしての.NET CLIの使用」を参照してください。
public interface OperationKeys
{
static public final String USERID = "sso_userid";
static public final String APPLICATION = "sso_application";
static public final String DESCRIPTION = "sso_description";
static public final String APP_USERID = "sso_app_userid";
static public final String PASSWORD = "sso_password";
static public final String OTHER1 = "sso_other1";
static public final String OTHER2 = "sso_other2";
static public final String GUID = "command_id";
static public final String NAME = "name";
static public final String VALUE = "value"; }
ExtSearchKeys
インタフェースは、ExtSearch
操作に対してサポートされるパラメータを定義します。OperationKeys
インタフェースはこの操作に適用されません。このリストに記載されているパラメータを使用できます。
public interface ExtSearchKeys
{
ExtSearchでサポートされるキー
static public final String OPTION_CATALOG = "catalog";
static public final String OPTION_USERID = "userId";
static public final String OPTION_APPLICATION= "applicationName";
static public final String OPTION_EVENTTYPE = "eventType";
static public final String OPTION_STARTDATE = "startDate";
static public final String OPTION_ENDDATE = "endDate";
static public final String OPTION_LOGON = "logon";
static public final String OPTION_SHOWLOGONS = "returnlogons";
static public final String OPTION_SHOWPENDING = "returnInstructions";
static public final String OPTION_UIDMATCH = "uidMatch";
OPTION_UIDMATCHキーに使用可能な値
static public final String MATCH_EQUAL = "equal";
static public final String MATCH_SUBSTRING = "substring";
OPTION_CATALOGキーに使用可能な値
static public final String CATALOG_APPS = "Applications";
static public final String CATALOG_EVENTLOG = "EventLog";
static public final String CATALOG_USERS = "Users"; }
Java CLIにSSLサポートを設定するためには、Java Keystore Fileのルートを示すプロパティ・ファイルを変更する必要があります。
使用するSSL資格証明のパブリック・バージョン(秘密鍵なし)をダウンロードします。IISをホストしているサーバーから取得できます。次の手順に従い、公開証明書をssl.cer
ファイルとして保存します。
SSL証明書を使用しているサーバーから、「Start」→「Run」を選択してMicrosoft Management Consoleを開き、MMC
と入力し、「OK」をクリックします。
「File」→「Add/Remove Certificates Snap-in」をクリックします。「Standalone」タブの「Add」をクリックします。
「Certificate」スナップインを選択して、「Add」をクリックします。
「Computer Account」を選択して、「次へ」をクリックします。
「Local Computer」を選択して、「Finish」をクリックします。
「Console Root」下の「Certificates (Local Computer)」を展開します。
「Personal」を展開し、「Certificates」をクリックします。
「SSL certificate」を右クリックし、「All Tasks」→「Export」を選択します。
「Certificate Export Wizard」パネルで、「次へ」をクリックします。
「Export Private Key」パネルで、「No, do not export the private key」をクリックします。
使用するファイル形式(DERまたはBASE-64)を選択し、「次へ」をクリックします。
エクスポートするファイルを参照して選択します。「次へ」をクリックします。
ssl.cer
ファイルとして保存します。
「Finish」をクリックしてから「OK」をクリックします。ファイルは(次に作成する)クライアントのJavaキーストアにインポートされます。
JDK 1.42+がクライアント・ワークステーションにインストールされていることを確認します。キーストアの作成に使用する、keytool.exe
というバイナリがあります。
次の手順に従い、pmcli.jks
という名前のファイルをpmssl
という別名で作成します。
実行: keytool -import -trustcacerts -file ssl.cer -alias pmssl -keystore pmcli.jks
キーストアに対するパスワードを入力します。
証明書の信頼を要求された場合は、「Yes」をクリックします。
pmcli.jks
ファイルをpmcli.jar
が格納されているフォルダにコピーします。
pmcli.bat
でプロパティ・ファイルに対して定義されたフォルダに、pmcli.properties
ファイルを作成します。
pmcli.properties
を編集して次の行を追加します。rmi.ssl.trust.keystore.location=pmcli.jks
。
ファイルを保存します。
pmcli.properties
があるディレクトリへのフルパスを(ファイルへのフルパスではなく)CLASSPATH
に追加します。
pmcli.bat
を実行し、https
URLを-url
スイッチに渡します。
注意: SSLを有効にしても、CLIのhttpサービスとの通信が妨げられることはありません。 |