| Oracle® Fusion Middleware Oracle Web Services Manager相互運用性ソリューション・ガイド 12c (12.1.2) E48091-02 |
|
![]() 前 |
この章では、Oracle Glassfish Serverリリース3.0.1とOracle Web Services Manager (OWSM)の相互運用性について説明します。
この章の構成は、次のとおりです。
Oracle GlassFish Serverリリース3.0.1は、Java EEプラットフォーム用のオープン・ソース・アプリケーション・サーバーです。Metroは、Oracle GlassFish Serverを構成するオープンソースWebサービス・スタックの1つです。
OWSM 12cでは、ポリシーをWebサービス・エンドポイントにアタッチします。ポリシーはドメインレベルで定義された1つ以上のアサーションで構成されています。アサーションはセキュリティ要件の定義です。そのまま使用できる事前定義のポリシーとアサーションのセットが用意されています。
詳細の参照先は、次のとおりです。
OWSM事前定義済ポリシーについては、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の事前定義済ポリシーに関する説明を参照してください。
OWSM 12cポリシーの構成およびアタッチについては、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービスの保護に関する説明およびポリシーのアタッチに関する説明を参照してください。
Oracle GlassFishの構成の詳細は、http://download.oracle.com/docs/cd/E18930_01/index.htmlを参照してください。
Metro Webサービスの構成の詳細は、http://metro.java.net/guide/を参照してください。
表8-1および表8-2は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたGlassFish Serverの最も一般的な相互運用性シナリオをまとめたものです。
表8-1 OWSM 11gサービス・ポリシーとGlassFishクライアントの相互運用性
| アイデンティティ・トークン | WS-Securityバージョン | メッセージ保護 | トランスポート・セキュリティ | サービス・ポリシー | クライアント・ポリシー |
|---|---|---|---|---|---|
|
SAML |
1.1 |
はい |
いいえ |
|
「GlassFishクライアントおよびOWSM 12c Webサービスの構成」を参照してください。 |
表8-2 GlassFishサービスとOWSM 11gクライアント・ポリシーの相互運用性
| アイデンティティ・トークン | WS-Securityバージョン | メッセージ保護 | トランスポート・セキュリティ | サービス・ポリシー | クライアント・ポリシー |
|---|---|---|---|---|---|
|
SAML |
1.1 |
はい |
いいえ |
「OWSM 12cクライアントおよびGlassFish Webサービスの構成」を参照してください。 |
|
次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装する方法について説明します。
GlassFishクライアントおよびOWSM 12c 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 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_saml_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Web Services Managerによる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の管理コンソールにログオンします。詳細は、Oracle GlassFish Server 3.1管理者ガイド(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」をクリックします。
プロジェクトを実行します。
OWSM 12cクライアントおよび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/ch02.html#using_metro-developing_with_nbを参照してください。
適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/ch12.html#ahicuを参照してください。
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サービスを起動します。