(1)SOAPメッセージに対するユーザ名/パスワードの付加
SOAPメッセージにユーザ認証で使用するユーザ名およびパスワードを付加するための設定手順について説明します。
(1-1)ユーザ名/パスワード付加するアプリケーションの実装
SOAPメッセージに対してユーザ名とパスワードを付加するためには、ベーシック認証を使用する場合と同様に、アプリケーションでユーザ名/パスワードを指定する必要があります。
Messaging方式の場合にユーザ名とパスワードを指定する方法については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“Messaging方式のアプリケーションの実装”の“プロキシ、認証、セションなどHTTP接続情報の追加”を参照してください。
RPC方式の場合にユーザ名とパスワードを指定する方法については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“RPC方式のアプリケーションの実装”の“プロキシ、認証などのHTTP接続情報の追加(スタブ方式)”または“プロキシ、認証などHTTP接続情報の追加(DII方式)”を参照してください。
(1-2)ユーザ名/パスワード付加の設定
SOAPメッセージに対してユーザ名/パスワードを付加するための設定は、クライアントシステム環境のWebサービス情報編集ツールを使用します。
[スタート]-[プログラム]-[Interstage]-[SOAPサービス]-[Webサービス情報編集ツール]を選択してWebサービス情報編集ツールを起動します。
Webサービス情報編集ツールを起動すると、以下のような画面が表示されます。
Webサービス識別名
RPCサーバアプリケーションのWebサービス識別名を入力します。
Webサービス識別名の指定方法については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“Webサービス情報の管理”の“Webサービス識別名とURL”を参照してください。
処理済HeaderElement:削除しない
レスポンスメッセージを受信後、処理を完了したSOAPヘッダ要素を削除するかどうかを設定します。
デフォルトは“削除しない”です。
リクエスト送信設定:ユーザ認証
リクエストメッセージ送信時に、SOAPヘッダにユーザ名/パスワードを付加するかどうかの設定します。
デフォルト値は“なし”です。
SOAPヘッダにユーザ名/パスワードを付加する場合、“あり”を選択してください。
リクエスト送信設定:宛先role(actor)名指定
SOAPメッセージの中継者(intermediary)に何らかの処理を行わせたい場合に、中継者のURIを指定します。
省略した場合には、SOAPメッセージの最終到達者(ultimate destination)に対する振る舞いを指定していることになります。
リクエスト送信設定:mustUnderstand
SOAPメッセージの受信者がヘッダ中の要素を必ず処理しなければならないのか、選択可能であるのかを指定します。
デフォルトは“処理を行う必要なし”です。
Webサービス情報編集ツールでユーザ名/パスワードの付加機能を有効にすると、アプリケーションで設定したユーザ名/パスワードを自動的にSOAPヘッダに付加します。
Windowsの[スタート]メニューの表示はシステムにより多少異なることがあります。
SOAPメッセージに付加されたユーザ名/パスワードに対してユーザ認証を行うアプリケーションの実装は、Webサービス情報の変更で行います。アプリケーション・プログラムを変更する必要はありません。
SOAPメッセージに対するユーザ認証では、シングル・サインオンにおけるユーザ情報の管理する仕組みを使用します。これを使用するために、以下の情報を設定する必要があります。
リポジトリサーバの環境構築
認証サーバの環境構築
業務サーバの環境構築
■リポジトリサーバの環境構築
リポジトリサーバとは、ユーザ名やパスワード、ユーザのロール情報を管理するサーバです。リポジトリサーバの環境構築については、“シングル・サインオン運用ガイド”の“環境構築(SSO管理者編)”の“リポジトリサーバの構築”を参照してください。
なお、SOAPメッセージに対するユーザ認証では、リポジトリサーバに格納されたアクセス制御情報を使用しません。また、リポジトリサーバに格納されるユーザ情報には、ユーザが属するロール名(ssoRoleName)が設定されている必要があります。
■認証サーバの環境構築
認証サーバは、リポジトリサーバに格納されたユーザ情報を元に、SOAPメッセージに付加されたユーザ名とパスワードの認証を行うサーバです。認証サーバの環境構築については、“シングル・サインオン運用ガイド”の“環境構築(SSO管理者編)”の“認証サーバの構築”を参照してください。
また、認証基盤の情報でセション管理の運用は行わないとしてください。
■業務サーバの環境構築
SOAPメッセージに対するユーザ認証を行うWebサービスを実行するサーバシステムには、以下に示すシングル・サインオンの業務サーバの機能を設定する必要があります。
サービスIDファイルの入手
JAAS (JavaTM Authentication and Authorization Service) の設定
また、JAASの機能を使用するために、認証サーバとサービスIDファイルに関する情報をログイン構成ファイルに設定します。ログイン構成ファイルは、以下の場所に格納します。
C:\Interstage\F3FMsoap\conf\issoaplogin.conf
マルチシステム機能を使用しない場合、またはデフォルトシステムの場合
/opt/FJSVsoap/conf/issoaplogin.conf
マルチシステム機能の拡張システムを使用する場合
/opt/FJSVsoap/MI/システム名/conf/issoaplogin.conf
/opt/FJSVsoap/conf/issoaplogin.conf
サービスIDファイルおよびログイン構成ファイルの各項目については、“ (2-3)ログイン構成ファイルの作成”を参照してください。
なお、シングル・サインオンの認証サーバへのアクセスにSSL通信によるサーバ認証やプロキシを使用する場合の設定については、“シングル・サインオン運用ガイド”の“Javaアプリケーションの開発”における“アプリケーション実行”を参照してください。
シングル・サインオンの機能を設定していない場合、SOAPメッセージに対するユーザ認証の機能を使用することはできません。
JavaVMの起動時にシステムプロパティ“java.security.auth.login.config”を指定している場合、システムプロパティで指定したログイン構成ファイルが優先されます。
アプリケーション運用管理者は、アプリケーションの実行に必要なログイン構成ファイルを作成します。ログイン構成ファイルのファイル名は任意で作成でき、アプリケーション実行時にシステムプロパティjava.security.auth.login.configでファイル名を指定します。ログイン構成ファイルにはシングル・サインオンJavaAPIが提供するLoginModuleが設定されているログイン構成を記述します。ログイン構成ファイルの詳細については、Sun Microsystems,Inc.から提供されているJ2SDKやJAASのドキュメントを参照してください。
ログイン構成は以下の形式で記述します。
<エントリ名> { <LoginModuleクラス名> <フラグ> <モジュールオプション>; }; |
<エントリ名>には、LoginContextのインスタンス化時に指定する名前を記述します。エントリ名を二重引用符(")、または一重引用符(’)で括ることですべての記号を指定できるようになります。括らない場合には使用できる記号に制限があります。
■エントリ名に二重引用符(")、または一重引用符(’)で括らないでも使用できる記号
JDK1.4以降の場合
ドルマーク($)
ハイフン(-)
ピリオド(.)
アンダースコア(_)
<LoginModuleクラス名>には、シングル・サインオンJavaAPIで提供するLoginModuleを設定します。
com.fujitsu.interstage.sso.auth.module.ISLoginModule
<フラグ>には通常“required”を設定します。それ以外にも、“requisite”、“sufficient”、“optional”が使用できます。フラグの詳細については、Sun Microsystems,Inc.から提供されているJ2SDKやJAASのドキュメントを参照してください。
<モジュールオプション>は、認証先の認証基盤情報やサービスIDファイル(*1)のパス名など、LoginModuleが使用する情報を空白文字で区切ったリスト形式で記述します。オプション名と値は等号記号(=)で区切り、値は二重引用符(")で括る必要があります。シングル・サインオンJavaAPIで提供するLoginModuleが使用するオプション名はすべて英小文字で指定してください。オプション名に英大文字が使用された場合、またはオプション名を誤った場合は省略されたものとして動作します。LoginModule指定項目の末尾にはセミコロン(;)をつけます。
(*1) アプリケーション運用管理者はSSO管理者に依頼してサービスIDファイルを取得してください。
com.fujitsu.interstage.sso.auth.module.ISLoginModuleでは、以下のオプションを使用することができます。
オプション名 | 説明 |
serviceidpath | 業務サーバの定義を使用しないで認証先の認証サーバを指定する場合は、サービスIDファイルを絶対パス名で設定します。このオプションを指定した場合、authserverオプションは設定が必須になります。 |
authserver | 業務サーバの定義を使用しないで認証先の認証サーバを指定する場合に指定します。認証基盤のURL+“/ssoatcag”の形式で指定します。 |
timeout | 認証サーバと通信する際の読み込みタイムアウト時間を指定します。0から300(秒)の間で指定可能です。0を指定した場合、タイムアウト監視を行いません。省略した場合、60秒が設定されたものとして動作します。 |
authservertrusted | 認証サーバとSSL通信をする時に認証サーバから提示される認証サーバのサイト証明書の検証を行うか否かの設定を行います。認証サーバとのSSL通信時に認証サーバのサイト証明書の検証を行わない場合は“yes”を指定します。“yes”の大文字小文字は区別しません。このオプションを省略した場合、または“yes”以外を指定した場合、認証サーバとのSSL通信時に認証サーバのサイト証明書の検証を行います。 |
serverport | 業務サーバの定義を使用して認証先の認証サーバを指定する場合は、業務サーバの定義で設定されているポート番号を指定します。業務サーバの環境設定で設定されている情報で認証サーバに対して認証を行いたい場合に使用します。この場合、serviceidpath、およびauthserverオプションは指定しないでください。Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[ネットワーク]の[ポート番号]に設定した値を設定します。Interstage管理コンソールの定義詳細については、Interstage管理コンソールのヘルプを参照してください。 |
■ログイン構成ファイルのファイルエンコーディングについて
ログイン構成ファイルに英数字と記号以外の文字を使用する場合、ファイルエンコーディングを以下のようにしてログイン構成ファイルのファイルを保存してください。
JDK1.4以降の場合
UTF-8エンコーディング形式
認証サーバのSSL環境構築時に登録する、サイト証明書の発行先CommonNameと、ログイン構成ファイルのauthserverオプションで指定する認証サーバのホスト名は一致している必要があります。
ログイン構成ファイルの例を以下に示します。なお、以下の例では、ログイン構成のエントリ名は“com.fujitsu.interstage.sso”を使用しています。
業務サーバの定義:使用しない
タイムアウト時間:300秒
接続先の認証基盤のURL:https://auth.fujitsu.com:443
サービスIDファイル:C:\Interstage\F3FMsso\ssoatzag\sample\javaapi\serviceid
com.fujitsu.interstage.sso { com.fujitsu.interstage.sso.auth.module.ISLoginModule required timeout="300" authserver="https://auth.fujitsu.com:443/ssoatcag" serviceidpath="C:\\Interstage\\F3FMsso\\ssoatzag\\sample\\javaapi\\serviceid" ; }; |
業務サーバの定義:使用しない
タイムアウト時間:300秒
接続先の認証基盤のURL:https://auth.fujitsu.com:443
サービスIDファイル:/home/jaastest/javaapi/serviceid
com.fujitsu.interstage.sso { com.fujitsu.interstage.sso.auth.module.ISLoginModule required timeout="300" authserver="https://auth.fujitsu.com:443/ssoatcag" serviceidpath="/home/jaastest/javaapi/serviceid" ; }; |
SOAPメッセージに対して付加されたユーザ名/パスワードを元にユーザ認証・認可を行う設定をするには、サーバシステム環境のWebサービス情報編集ツールを使用します。
Webサービス情報編集ツールを起動すると、以下のような画面が表示されます。
なおここでは、リモート呼び出しのサーバアプリケーションの画面を例に説明します。
Webサービス識別名
Webサービスの識別名を入力します。
Webサービス識別名の指定方法については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“Webサービス情報の管理”の“Webサービス識別名とURL”を参照してください。
処理済HeaderElement:削除しない
リクエスト / レスポンスメッセージを受信後、処理を完了したSOAPヘッダ要素を削除するかどうかを設定します。
デフォルトは“削除しない”です。
Webサービスのrole(actor)名
Webサービスのrole(actor)名を設定する場合に、URI形式で指定します。
2つ以上のrole(actor)名を記述する場合、“,”(カンマ)で区切ります。
Webサービスのrole(actor)名は、SOAPが規定する転送を行う場合の転送路におけるWebサービスの役割名であり、この値に一致する宛先role(actor)名を持つSOAPヘッダ要素のみを処理します。
通常は指定しなくて構いません。
リクエスト受信設定:ユーザ認証
SOAPメッセージのヘッダ部に付与されたユーザ名/パスワードを元に認証・認可するかどうかを指定します。
デフォルトは“なし”です。
SOAPメッセージのヘッダ部に付与されたユーザ名/パスワードを元に認証・認可する場合には、“あり”を選択します。
リクエスト受信設定:認可ロール名
SOAPメッセージのヘッダ部に付与されたユーザ名/パスワードに対する認証が成功した場合、Webサービスの実行を許可するロール名の一覧を記述します。複数のロール名に対して許可する場合、“,”(カンマ)で区切って記述します。
デフォルトは“*”で、すべてのロール名に対してWebサービスの実行を許可します。
Webサービス情報編集ツールでユーザ認証機能を有効にすると、SOAPメッセージに付加されたユーザ名/パスワードを元に認証、認可を自動的に行います。
シングル・サインオンの機能を設定していない場合にWebサービス情報編集ツールでユーザ認証機能を有効にすると、認証、認可を行うことができないため、受信したSOAPメッセージを拒否します。