Oracle® Fusion Middleware Oracle Web Services Manager相互運用ガイド 11gリリース1 (11.1.1.6) B61391-04 |
|
前 |
この章の内容は次のとおりです。
Oracle GlassFish Enterprise Serverリリース3.0.1は、Java EEプラットフォーム用のオープン・ソース・アプリケーション・サーバーです。Metroは、Oracle GlassFish Enterprise Serverを構成するオープンソースWebサービス・スタックの1つです。
Oracle WSM 11gでは、ポリシーをWebサービス・エンドポイントにアタッチします。各ポリシーは、ドメインレベルで定義された、セキュリティ要件を定義する1つ以上のアサーションで構成されます。そのまま使用できる一連の事前定義済のポリシーおよびアサーションが用意されています。事前定義済ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。ポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。
詳細は次を参照してください。
Oracle WSM 11gポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。
Oracle GlassFishの構成の詳細は、http://download.oracle.com/docs/cd/E18930_01/index.html
を参照してください。
Metro Webサービスの構成の詳細は、http://metro.java.net/guide/
を参照してください。
この項では、次の相互運用性シナリオにおいてWS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンを実装する方法について説明します。
GlassFishクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。
次の前提条件ステップを実行します。
次のコマンドを使用して、default-keystore.jksファイルを作成します。
$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA -dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass welcome
default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。
次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。
$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user
詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.html
を参照してください。
default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/config
ディレクトリ内にあります。
$JAVA_HOME/bin/keytool -importkeystore -srckeystore <path-to>/default-keystore.jks -destkeystore <path-to-gf-domain>/config/cacerts.jks -srcalias orakey -destalias orakey -srckeypass welcome -destkeypass changeit
ドメインのfmwconfigディレクトリからjps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。
Webサービスを作成します。
oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
NetBeansを使用して、「New Project」→「Java」→「Java Application」を選択することにより、Metroクライアントを作成します。プロジェクトの名前と場所を指定し、「Finish」を選択します。
プロジェクトを右クリックします。「New」→「Web service Client」を選択します。ウィザードに従って、WebLogic内にデプロイされるサービスのWSDL URLを入力します。
「Edit Web Services Attributes」を選択します。
「Use Development Defaults」を選択して、Metroライブラリをプロジェクトに組み込みます。
「Use Development Defaults」を選択解除します。ユーザー名のサブジェクトおよびパスワードを指定します。
Metro SEクライアントの場合:
信頼ストア構成を編集します。「相互運用性のための構成の前提条件」で作成したdefault-keystore.jksと同じものを選択します。
Webサービス操作をmainクラスのmainメソッドにドラッグ・アンド・ドロップします。
プロジェクトを右クリックし、「run」を選択してプロジェクトを実行します。
Metro Java EEクライアントの場合:
Webサービス操作を、起動するEJBまたはサーブレットにドラッグ・アンド・ドロップします。
アプリケーションをGlassFishにデプロイし、Webサービスを起動します。
Oracle WSM 11gクライアントおよびGlassFish Webサービスを構成するには、次の各項で説明する手順を実行します。
次の前提条件ステップを実行します。
次のコマンドを使用して、default-keystore.jksファイルを作成します。
$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA -dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass welcome
default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。
WLSTコマンドを使用して、資格証明を資格証明ストアに保存します。例:
$<ORACLE_HOME>/common/bin/wlst.sh > connect() > createCred(map="oracle.wsm.security", key="keystore-csf-key", user="keystore", password="welcome") > createCred(map="oracle.wsm.security", key="sign-csf-key", user="orakey", password="welcome") > createCred(map="oracle.wsm.security", key="enc-csf-key", user="orakey", password="welcome") >createCred(map="oracle.wsm.security", key="glassfish.credentials" , user="wlsUser" , password="welcome1" , description="Glassfish user credentials");
cwallet.ssoというファイルがDOMAIN_HOME/config/fmwconfig
ディレクトリ内に作成されます。
次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。
$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user
詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.html
を参照してください。
default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/config
ディレクトリ内にあります。
$JAVA_HOME/bin/keytool -importkeystore -srckeystore <path-to>/default-keystore.jks -destkeystore <path-to-gf-domain>/config/keystore.jks -srcalias orakey -destalias orakey -srckeypass welcome -destkeypass changeit
ドメインのfmwconfigディレクトリからcwallet.sso、jps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。
Metro Webサービスを作成します。詳細は、http://metro.java.net/guide/Developing_with_NetBeans.html
を参照してください。
適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/Security_Mechanisms.html
を参照してください。
JDeveloperを使用して、GlassFishサービスのWebサービス・プロキシを作成します。ウィザードでoracle/wss11_username_token_with_message_protection_client_policyポリシーを選択します。
Webサービス・プロキシの「プロパティのオーバーライド」オプションで、csf-keyをglassfish.credentialsに設定します。
Webサービス・プロキシのメイン・クラス内で、oracle.security.jps.configのシステム・プロパティを、「相互運用性のための構成の前提条件」のステップ6でコピーしたjps-config.xmlに設定します。
Webサービスを起動します。
注意: 次を使用している場合
|
次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装する方法について説明します。
GlassFishクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。
次の前提条件ステップを実行します。
次のコマンドを使用して、default-keystore.jksファイルを作成します。
$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA -dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass welcome
default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。
次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。
$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user
詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.html
を参照してください。
『Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプ』のユーザーの作成に関する項の説明に従って、ユーザーを追加します。
default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/config
ディレクトリ内にあります。
$JAVA_HOME/bin/keytool -importkeystore -srckeystore <path-to>/default-keystore.jks -destkeystore <path-to-gf-domain>/config/cacerts.jks -srcalias orakey -destalias orakey -srckeypass welcome -destkeypass changeit
ドメインのfmwconfigディレクトリからjps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。
Webサービスを作成します。
oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
NetBeansを使用して、「新規プロジェクト」→「Java」→「Javaアプリケーション」を選択することにより、Metroクライアントを作成します。プロジェクトの名前と場所を指定し、デプロイするサーバーを選択して「終了」を選択します。
プロジェクトを右クリックします。「New」→「Web service Client」を選択します。ウィザードに従って、WebLogic内にデプロイされるサービスのWSDL URLを入力します。
NetBeansでサポートされるWSIT SAMLセキュリティ・メカニズムとともに使用されるSAML CallbackHandlerを作成します。
ファイルをプロジェクトのソース・フォルダに置きます。
発行者の変数の値が、「相互運用性のための構成の前提条件」のステップ5で作成したjps-config.xmlファイルのものと同じであることを確認します。
urnの参照を、urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
に設定します。
「相互運用性のための構成の前提条件」のステップ3およびステップ4で作成したユーザーを設定します。たとえば、ユーザーをwlsuserにするには、次のようにファイルを変更します。
CN=wlsuser,OU=SU,O=wlsuser,L=Los Angeles,ST=CA,C=US
JVMを構成するには、GlassFishの管理コンソールにログオンします。詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gepzd.html
を参照してください。
左側のペインで「構成」を開き、JVM設定をクリックします。
右側のペインで「JVMオプション」タブをクリックします。
JVMオプションの追加をクリックします。新規のテキスト・フィールドが表示されます。-DWSIT_HOME=${com.sun.aas.installRoot}
と入力します。
左側のペインで「エンタープライズ・サーバー」をクリックします。
右側のペインで「再起動」をクリックして、サーバーを再起動します。
Webサービス参照ノードを開きます。NetBeansを使用して、「サービス参照」を右クリックしてWebサービス属性の編集を選択します。
SAMLのコールバック・ハンドラのオプションのため、「参照」をクリックして、ステップ3からファイルを選択します。
キーストアおよび信頼ストアのエイリアスを設定します。
index.jspファイルを開きます。右クリックしてWebサービス・クライアント参照を選択します。起動する操作の選択ダイアログボックスから操作を選択して、「OK」をクリックします。
プロジェクトを実行します。
Oracle WSM 11gクライアントおよびGlassFish Webサービスを構成するには、次の各項で説明する手順を実行します。
次の前提条件ステップを実行します。
次のコマンドを使用して、default-keystore.jksファイルを作成します。
$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA -dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass welcome
default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。
WLSTコマンドを使用して、資格証明を資格証明ストアに保存します。例:
$<ORACLE_HOME>/common/bin/wlst.sh > connect() > createCred(map="oracle.wsm.security", key="keystore-csf-key", user="keystore", password="welcome") > createCred(map="oracle.wsm.security", key="sign-csf-key", user="orakey", password="welcome") > createCred(map="oracle.wsm.security", key="enc-csf-key", user="orakey", password="welcome") >createCred(map="oracle.wsm.security", key="glassfish.credentials" , user="wlsUser" , password="welcome1" , description="Glassfish user credentials");
cwallet.ssoというファイルがDOMAIN_HOME/config/fmwconfig
ディレクトリ内に作成されます。
次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。
$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user
詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.html
を参照してください。
default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/config
ディレクトリ内にあります。
$JAVA_HOME/bin/keytool -importkeystore -srckeystore <path-to>/default-keystore.jks -destkeystore <path-to-gf-domain>/config/keystore.jks -srcalias orakey -destalias orakey -srckeypass welcome -destkeypass changeit
ドメインのfmwconfigディレクトリからcwallet.sso、jps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。
Metro Webサービスを作成します。詳細は、http://metro.java.net/guide/Developing_with_NetBeans.html
を参照してください。
適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/Security_Mechanisms.html
を参照してください。
JDeveloperを使用して、GlassFishサービスのWebサービス・プロキシを作成します。ウィザードでoracle/wss11_saml_token_with_message_protection_client_policyポリシーを選択します。
「相互運用性のための構成の前提条件」のステップ6で作成したjps-config.xmlファイルへのパスを設定します。
USERNAME_PROPERTYを次のように設定します。((BindingProvider) sAMLTokenEchoService).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "wlsUser");
Webサービスを起動します。