Interstage Application Server セキュリティシステム運用ガイド
目次 索引 前ページ次ページ

付録B SOAPサービスのセキュリティ> B.3 ユーザ認証、SOAP電子署名、XML暗号を使用する方法

B.3.1 SOAPメッセージに対するユーザ認証の設定

 (1)SOAPメッセージに対するユーザ名/パスワードの付加

 SOAPメッセージにユーザ認証で使用するユーザ名およびパスワードを付加するための設定手順について説明します。

 (1-1)ユーザ名/パスワード付加するアプリケーションの実装

 SOAPメッセージに対してユーザ名とパスワードを付加するためには、ベーシック認証を使用する場合と同様に、アプリケーションでユーザ名/パスワードを指定する必要があります。

 Messaging方式の場合にユーザ名とパスワードを指定する方法については、“SOAPサービス ユーザーズガイド”の“Messaging方式のアプリケーションの実装”の“プロキシ、認証、セションなどHTTP接続情報の追加”を参照してください。

 RPC方式の場合にユーザ名とパスワードを指定する方法については、“SOAPサービス ユーザーズガイド”の“RPC方式のアプリケーションの実装”の“プロキシ、認証などのHTTP接続情報の追加(スタブ方式)”または“プロキシ、認証などHTTP接続情報の追加(DII方式)”を参照してください。

 (1-2)ユーザ名/パスワード付加の設定

 SOAPメッセージに対してユーザ名/パスワードを付加するための設定は、クライアントシステム環境のWebサービス情報編集ツールを使用します。

  [スタート]−[プログラム]−[Interstage]−[SOAPサービス]−[Webサービス情報編集ツール]を選択してWebサービス情報編集ツールを起動します。
 Webサービス情報編集ツールを起動すると、以下のような画面が表示されます。

 (2)SOAPメッセージに対するユーザ認証

 (2-1)SOAPメッセージに対するユーザ認証を行うアプリケーションの実装

 SOAPメッセージに付加されたユーザ名/パスワードに対してユーザ認証を行うアプリケーションの実装は、Webサービス情報の変更で行います。アプリケーション・プログラムを変更する必要はありません。

 (2-2)ユーザ情報の設定

 SOAPメッセージに対するユーザ認証では、シングル・サインオンにおけるユーザ情報の管理する仕組みを使用します。これを使用するために、以下の情報を設定する必要があります。

■リポジトリサーバの環境構築

 リポジトリサーバとは、ユーザ名やパスワード、ユーザのロール情報を管理するサーバです。リポジトリサーバの環境構築については、“シングル・サインオン運用ガイド”の“環境構築(SSO管理者編)”の“リポジトリサーバの構築”を参照してください。

 なお、SOAPメッセージに対するユーザ認証では、リポジトリサーバに格納されたアクセス制御情報を使用しません。また、リポジトリサーバに格納されるユーザ情報には、ユーザが属するロール名(ssoRoleName)が設定されている必要があります。

■認証サーバの環境構築

 認証サーバは、リポジトリサーバに格納されたユーザ情報を元に、SOAPメッセージに付加されたユーザ名とパスワードの認証を行うサーバです。認証サーバの環境構築については、“シングル・サインオン運用ガイド”の“環境構築(SSO管理者編)”の“認証サーバの構築”を参照してください。
 また、認証基盤の情報でセション管理の運用は行わないとしてください。

■業務サーバの環境構築

 SOAPメッセージに対するユーザ認証を行うWebサービスを実行するサーバシステムには、以下に示すシングル・サインオンの業務サーバの機能を設定する必要があります。

  1. サービスIDファイルの入手
  2. 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ファイルおよびログイン構成ファイルの各項目については、“ログイン構成ファイルの作成”を参照してください。
 なお、シングル・サインオンの認証サーバへのアクセスにSSL通信によるサーバ認証やプロキシを使用する場合の設定については、“シングル・サインオン運用ガイド”の“Javaアプリケーションの開発”における“アプリケーション実行”を参照してください。

 (2-3)ログイン構成ファイルの作成

 アプリケーション運用管理者は、アプリケーションの実行に必要なログイン構成ファイルを作成します。ログイン構成ファイルのファイル名は任意で作成でき、アプリケーション実行時にシステムプロパティjava.security.auth.login.configでファイル名を指定します。ログイン構成ファイルにはシングル・サインオンJavaAPIが提供するLoginModuleが設定されているログイン構成を記述します。ログイン構成ファイルの詳細については、Sun Microsystems,Inc.から提供されているJ2SDKやJAASのドキュメントを参照してください。

 ログイン構成は以下の形式で記述します。

<エントリ名> {
    <LoginModuleクラス名> <フラグ> <モジュールオプション>;
};

 <エントリ名>には、LoginContextのインスタンス化時に指定する名前を記述します。エントリ名を二重引用符(")、または一重引用符(’)で括ることですべての記号を指定できるようになります。括らない場合には使用できる記号に制限があります。

■エントリ名に二重引用符(")、または一重引用符(’)で括らないでも使用できる記号

JDK1.4以降の場合

 <LoginModuleクラス名>には、シングル・サインオンJavaAPIで提供するLoginModuleを設定します。

 <フラグ>には通常“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オプションは設定が必須になります。

serviceidpathオプションで指定するサービスIDファイルのパス名を記述する場合、ファイルセパレータ(\)はエスケープ文字のため(\\)と指定します。

authserver

業務サーバの定義を使用しないで認証先の認証サーバを指定する場合に指定します。認証基盤のURL+“/ssoatcag”の形式で指定します。
例)https://www.fujitsu.com:443/ssoatcag
このオプションを指定した場合、serviceidpathオプションは設定が必須になります。

timeout

認証サーバと通信する際の読み込みタイムアウト時間を指定します。0から300(秒)の間で指定可能です。0を指定した場合、タイムアウト監視を行いません。省略した場合、60秒が設定されたものとして動作します。

authservertrusted

認証サーバとSSL通信をする時に認証サーバから提示される認証サーバのサイト証明書の検証を行うか否かの設定を行います。認証サーバとのSSL通信時に認証サーバのサイト証明書の検証を行わない場合は“yes”を指定します。“yes”の大文字小文字は区別しません。このオプションを省略した場合、または“yes”以外を指定した場合、認証サーバとのSSL通信時に認証サーバのサイト証明書の検証を行います。

serverport

業務サーバの定義を使用して認証先の認証サーバを指定する場合は、業務サーバの定義で設定されているポート番号を指定します。業務サーバの環境設定で設定されている情報で認証サーバに対して認証を行いたい場合に使用します。この場合、serviceidpath、およびauthserverオプションは指定しないでください。Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[ネットワーク]の[ポート番号]に設定した値を設定します。Interstage管理コンソールの定義詳細については、Interstage管理コンソールのヘルプを参照してください。

■ログイン構成ファイルのファイルエンコーディングについて

 ログイン構成ファイルに英数字と記号以外の文字を使用する場合、ファイルエンコーディングを以下のようにしてログイン構成ファイルのファイルを保存してください。


 認証サーバの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"
  ;
};

 (2-4)ユーザ認証情報の設定

 SOAPメッセージに対して付加されたユーザ名/パスワードを元にユーザ認証・認可を行う設定をするには、サーバシステム環境のWebサービス情報編集ツールを使用します。

 Webサービス情報編集ツールを起動すると、以下のような画面が表示されます。
 なおここでは、リモート呼び出しのサーバアプリケーションの画面を例に説明します。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED