ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Web Services Manager相互運用ガイド
11g リリース1 (11.1.1)
B61391-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

8 Oracle GlassFish Enterprise Serverリリース3.0.1との相互運用性

この章の内容は次のとおりです。

8.1 Oracle GlassFishのセキュリティ環境との相互運用性の概要

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サービスへのポリシーのアタッチに関する項を参照してください。

詳細は次を参照してください。

8.2 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

この項では、次の相互運用性シナリオにおいてWS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンを実装する方法について説明します。

8.2.1 GlassFishクライアントおよびOracle WSM 11g Webサービスの構成

GlassFishクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

8.2.1.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

  1. 次のコマンドを使用して、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
    
  2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

  3. 次のコマンドを使用して、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を参照してください。

  4. 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
    
  5. ドメインのfmwconfigディレクトリからjps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.2.1.2 Oracle WSM 11g Webサービスの構成

  1. Webサービスを作成します。

  2. oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

    ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

8.2.1.3 GlassFish/Metroクライアントの構成

  1. NetBeansを使用して、「New Project」→「Java」→「Java Application」を選択することにより、Metroクライアントを作成します。プロジェクトの名前と場所を指定し、「Finish」を選択します。

  2. プロジェクトを右クリックします。「New」→「Web service Client」を選択します。ウィザードに従って、WebLogic内にデプロイされるサービスのWSDL URLを入力します。

  3. 「Edit Web Services Attributes」を選択します。

  4. 「Use Development Defaults」を選択して、Metroライブラリをプロジェクトに組み込みます。

  5. 「Use Development Defaults」を選択解除します。ユーザー名のサブジェクトおよびパスワードを指定します。

  6. Metro SEクライアントの場合:

    1. 信頼ストア構成を編集します。「相互運用性のための構成の前提条件」で作成したdefault-keystore.jksと同じものを選択します。

    2. Webサービス操作をmainクラスのmainメソッドにドラッグ・アンド・ドロップします。

    3. プロジェクトを右クリックし、「run」を選択してプロジェクトを実行します。

  7. Metro Java EEクライアントの場合:

    1. Webサービス操作を、起動するEJBまたはサーブレットにドラッグ・アンド・ドロップします。

    2. アプリケーションをGlassFishにデプロイし、Webサービスを起動します。

8.2.2 Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成

Oracle WSM 11gクライアントおよびGlassFish Webサービスを構成するには、次の各項で説明する手順を実行します。

8.2.2.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

  1. 次のコマンドを使用して、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
    
  2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

  3. 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ディレクトリ内に作成されます。

  4. 次のコマンドを使用して、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を参照してください。

  5. 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
    
  6. ドメインのfmwconfigディレクトリからcwallet.sso、jps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.2.2.2 GlassFish/Metro Webサービスの構成

  1. Metro Webサービスを作成します。詳細は、http://metro.java.net/guide/を参照してください。

  2. 適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/を参照してください。

8.2.2.3 Oracle WSM 11gクライアントの構成

  1. JDeveloperを使用して、GlassFishサービスのWebサービス・プロキシを作成します。ウィザードでoracle/wss11_username_token_with_message_protection_client_policyポリシーを選択します。

  2. Webサービス・プロキシの「プロパティのオーバーライド」オプションで、csf-keyをglassfish.credentialsに設定します。

  3. Webサービス・プロキシのメイン・クラス内で、oracle.security.jps.configのシステム・プロパティを、「相互運用性のための構成の前提条件」のステップ6でコピーしたjps-config.xmlに設定します。

  4. Webサービスを起動します。


注意:

次を使用している場合

  • Oracle Service Busビジネス・サービス: 「セキュリティ」ページでプロパティのオーバーライドをglassfish.credentialsに設定します。詳細は、http://download.oracle.com/docs/html/E15866_01/owsm.htm『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』で、ポリシーのオーバーライドに関する項を参照してください。

  • SOA Webサービス参照: 「セキュリティ」ページでプロパティのオーバーライドをglassfish.credentialsに設定します。詳細は、http://download.oracle.com/docs/cd/E15523_01/integration.1111/b56238/sca_policy.htm#CDDEIAFAのSOA Suiteの開発者ガイドで、ポリシー構成のプロパティ値のオーバーライド方法に関する項を参照してください。


8.3 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装する方法について説明します。

8.3.1 GlassFishクライアントおよびOracle WSM 11g Webサービスの構成

GlassFishクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

8.3.1.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

  1. 次のコマンドを使用して、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
    
  2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

  3. 次のコマンドを使用して、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を参照してください。

  4. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのユーザーの作成に関する項の説明に従って、ユーザーを追加します。

  5. 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
    
  6. ドメインのfmwconfigディレクトリからjps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.3.1.2 Oracle WSM 11g Webサービスの構成

  1. Webサービスを作成します。

  2. oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

    ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

8.3.1.3 GlassFish/Metroクライアントの構成

  1. NetBeansを使用して、「新規プロジェクト」→「Java」→「Javaアプリケーション」を選択することにより、Metroクライアントを作成します。プロジェクトの名前と場所を指定し、デプロイするサーバーを選択して「終了」を選択します。

  2. プロジェクトを右クリックします。「New」→「Web service Client」を選択します。ウィザードに従って、WebLogic内にデプロイされるサービスのWSDL URLを入力します。

  3. NetBeansでサポートされるWSIT SAMLセキュリティ・メカニズムとともに使用されるSAML CallbackHandlerを作成します。

    1. ファイルをプロジェクトのソース・フォルダに置きます。

    2. 発行者の変数の値が、「相互運用性のための構成の前提条件」のステップ5で作成したjps-config.xmlファイルのものと同じであることを確認します。

    3. urnの参照を、urn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedに設定します。

    4. 「相互運用性のための構成の前提条件」のステップ3およびステップ4で作成したユーザーを設定します。たとえば、ユーザーをwlsuserにするには、次のようにファイルを変更します。

      CN=wlsuser,OU=SU,O=wlsuser,L=Los Angeles,ST=CA,C=US

  4. JVMを構成するには、GlassFishの管理コンソールにログオンします。詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gepzd.htmlを参照してください。

    1. 左側のペインで「構成」を開き、JVM設定をクリックします。

    2. 右側のペインで「JVMオプション」タブをクリックします。

    3. JVMオプションの追加をクリックします。新規のテキスト・フィールドが表示されます。-DWSIT_HOME=${com.sun.aas.installRoot}と入力します。

    4. 左側のペインで「エンタープライズ・サーバー」をクリックします。

    5. 右側のペインで「再起動」をクリックして、サーバーを再起動します。

  5. Webサービス参照ノードを開きます。NetBeansを使用して、「サービス参照」を右クリックしてWebサービス属性の編集を選択します。

  6. SAMLのコールバック・ハンドラのオプションのため、「参照」をクリックして、ステップ3からファイルを選択します。

  7. キーストアおよび信頼ストアのエイリアスを設定します。

  8. index.jspファイルを開きます。右クリックしてWebサービス・クライアント参照を選択します。起動する操作の選択ダイアログボックスから操作を選択して、「OK」をクリックします。

  9. プロジェクトを実行します。

8.3.2 Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成

Oracle WSM 11gクライアントおよびGlassFish Webサービスを構成するには、次の各項で説明する手順を実行します。

8.3.2.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

  1. 次のコマンドを使用して、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
    
  2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

  3. 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ディレクトリ内に作成されます。

  4. 次のコマンドを使用して、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を参照してください。

  5. 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
    
  6. ドメインのfmwconfigディレクトリからcwallet.sso、jps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.3.2.2 GlassFish/Metro Webサービスの構成

  1. Metro Webサービスを作成します。詳細は、http://metro.java.net/guide/を参照してください。

  2. 適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/を参照してください。

8.3.2.3 Oracle WSM 11gクライアントの構成

  1. JDeveloperを使用して、GlassFishサービスのWebサービス・プロキシを作成します。ウィザードでoracle/wss11_saml_token_with_message_protection_client_policyポリシーを選択します。

  2. 「相互運用性のための構成の前提条件」のステップ6で作成したjps-config.xmlファイルへのパスを設定します。

  3. USERNAME_PROPERTYを次のように設定します。((BindingProvider) sAMLTokenEchoService).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "wlsUser");

  4. Webサービスを起動します。