9 SOAコンポジット・アプリケーションの保護
この章では、SOAコンポジット・アプリケーション固有のセキュリティ構成手順について説明します。ほとんどのSOAコンポジット・アプリケーションのセキュリティ手順では、SOA固有の構成ステップは必要ありません。これらのタスクを実行するための別のドキュメントへの参照を示します。
この章の内容は次のとおりです。
-
Oracle BPM Worklistを使用したOracle HTTP Serverの構成
-
Oracle BPM WorklistおよびOracle Business Process Managementユーザーの自動認証
ノート:
ポリシーのアタッチおよびデタッチについては、次の各項を参照してください。
SOAコンポジット・アプリケーションの保護の概要
この章では、SOAコンポジット・アプリケーション固有のセキュリティ手順について説明します。ほとんどのSOAコンポジット・アプリケーションのセキュリティ手順は、SOA固有のステップを必要とせず、表9-1に示すドキュメントに従って実行できます。
表9-1 セキュリティに関するドキュメント
セキュリティ情報 | 参照ガイド |
---|---|
Oracleシングル・サインオン(OSSO)構成を含むOracle Fusion Middlewareの保護 |
|
Webサービスの保護および管理 |
|
Oracle WebLogic Serverのセキュリティの理解 |
|
Oracle WebLogic Serverの本番環境の保護 |
|
Oracle WebLogic Serverの保護 |
|
Oracle WebLogic Serverで使用する新規セキュリティ・プロバイダの開発 |
|
Oracle WebLogic ServerのWebサービスの保護 |
|
Oracle WebLogic Serverのセキュリティ・プログラミング |
|
Oracle User Messaging Serviceの保護 |
Oracle BPM Worklistを使用したOracle HTTP Serverの構成
Oracle BPM WorklistがOracle HTTP Server経由で動作するように、Oracle HTTP Serverのmod_wl_ohs.conf
ファイルに/integration
の場所を追加する必要があります。
<Location /integration>
SetHandler weblogic-handler
# PathTrim /weblogic
ErrorPage http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>
SOAインフラストラクチャのSAMLメッセージ保護付きポリシー構成の設定
この項では、Oracle WebLogic Scripting Tool (WLST)を使用して、SOAインフラストラクチャのメッセージ保護付きSecurity Assertion Markup Language (SAML)ポリシー構成を設定および検証する方法を説明します。この項の例では、タスク問合せサービスの構成について説明します。ただし、これらの説明はSAMLトークン・ポートをサポートするすべてのヒューマン・ワークフロー・サービスに関連します。
-
アクティビティ・ガイド問合せサービス
-
アクティビティ・ガイド・メタデータ・サービス
-
アクティビティ・ガイド管理サービス
-
タスク問合せサービス
-
タスク・サービス
-
タスク・メタデータ・サービス
-
ランタイム構成サービス
-
タスク・エビデンス・サービス
-
ユーザー・メタデータ・サービス
別のサービスのポリシーを変更する場合は、同じWLSTコマンドをそのサービスのSAMLトークン・ポートに適用する必要があります。
SAMLメッセージ保護付きポリシー構成を設定するには:
Oracle BPM WorklistおよびOracle Business Process Managementユーザーの自動認証
この項では、様々な環境でOracle BPM WorklistおよびOracle Business Process Managementのユーザーを認証する方法について説明します。
SAML SSO環境でのOracle BPM Worklistユーザーの自動認証
SAML SSO環境で最初のOracle BPM Worklistから2番目のOracle BPM Worklistにアクセスするとき自動認証されるようにするには、次のステップを実行する必要があります。この手順を実行しないと、2番目のOracle BPM Worklistにアクセスするときに再度ログインするように求められます。この環境では、最初のOracle BPM WorklistはSAML IDプロバイダとして構成され、アクセスする2番目のOracle BPM WorklistはSAMLサービス・プロバイダとして構成されます。
SAML SSO環境でOracle BPM Worklistユーザーを自動認証するには:
-
/integration/worklistapp/*
をworklistapp
のリダイレクトURLとして、SAMLサービス・プロバイダ・サイトのSAML2IdentityAsserter
構成に追加します。-
Oracle WebLogicコンソールで、「セキュリティ・レルム」を選択します。
-
サービス・プロバイダのレルムをクリックします。
-
「プロバイダ」タブを選択し、「認証」サブタブを選択します。
-
プロバイダ・リストから、SAML 2.0 IDアサーション・プロバイダと説明されているプロバイダを選択します。
SAML IDアサーション・プロバイダ構成が見つからない場合は、Oracle WebLogic Serverのセキュリティの管理の説明に従ってください。
-
「管理」タブを選択します。
「管理」タブには、IDプロバイダ・パートナのリストが表示されます。これらは、このSAML IDサービス・プロバイダ・サイトのSAML IDプロバイダ・パートナとして構成されているホストです。この構成ステップは、Oracle BPM Worklistがホスト管理されるIDサービス・プロバイダ・サイトで実行されることに注意してください。
-
ユーザーが最初のログインを実行するIDプロバイダ・サイトを選択します。
-
「リダイレクトURI」フィールドが表示されるまでページを下にスクロールします。
-
/integration/worklistapp/*
をリストに追加します。
このステップを実行した後、通常の
/integration/worklistapp
というURLを使用してSAML IDプロバイダ・サイトでOracle BPM Worklistにログインできます。必要に応じて、SAMLサービス・プロバイダ・サイトでURL/integration/worklistapp/ssologin
に移動できます。ここで、Oracle BPM Worklistにアクセスして自動認証されます。SAML2IdentityAsserter
およびWebブラウザとHTTPクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。 -
SAML SSO環境でのOracle BPM Workspaceユーザーの自動認証
SAML SSO環境で最初のOracle BPM Workspaceから2番目のOracle BPM Workspaceにアクセスするときに自動的に認証されるようにするには、次のステップを実行する必要があります。この手順を実行しないと、2番目のOracle BPM Workspaceにアクセスするときに再度ログインするように求められます。この環境では、最初のOracle BPM WorkspaceはSAML IDプロバイダとして構成され、アクセスする2番目のOracle BPM WorkspaceはSAMLサービス・プロバイダとして構成されます。
SAML SSO環境でOracle BPM Workspaceユーザーを自動認証するには:
-
workspace
のリダイレクトURLとして、SAMLサービス・プロバイダ・サイトのSAML2IdentityAsserter
構成に/bpm/workspace/*
を次のように追加します。-
Oracle WebLogicコンソールで、「セキュリティ・レルム」を選択します。
-
サービス・プロバイダのレルムをクリックします。
-
「プロバイダ」タブを選択し、「認証」サブタブを選択します。
-
プロバイダ・リストから、SAML 2.0 IDアサーション・プロバイダと説明されているプロバイダを選択します。
SAML IDアサーション・プロバイダ構成が見つからない場合は、Oracle WebLogic Serverのセキュリティの管理の説明に従ってください。
-
「管理」タブを選択します。
「管理」タブには、IDプロバイダ・パートナのリストが表示されます。これらは、このSAML IDサービス・プロバイダ・サイトのSAML IDプロバイダ・パートナとして構成されているホストです。この構成ステップは、Oracle BPM Workspaceがホスト管理されるIDサービス・プロバイダ・サイトで実行されることを忘れないでください。
-
ユーザーが最初のログインを実行するIDプロバイダ・サイトを選択します。
-
「リダイレクトURI」フィールドが表示されるまでページを下にスクロールします。
-
リストに
/bpm/workspace/*
を追加します。
このステップの実行後は、
/bpm/workspace
の通常のURLを使用してSAML IDプロバイダにあるOracle BPM Workspaceにログインできます。必要に応じて、SAMLサービス・プロバイダ・サイトでURL/bpm/workspace/ssologin
に移動でき、ここからOracle BPM Workspaceにアクセスすると自動認証されます。SAML2IdentityAsserter
およびWebブラウザとHTTPクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。 -
SAML SSO環境でのOracle Business Process Composerユーザーの自動認証
SAML SSO環境で最初のOracle Business Process Composerから2番目のOracle Business Process Composerにアクセスするときに自動的に認証されるようにするには、次のステップを実行する必要があります。この手順を実行しないと、2番目のOracle Business Process Composerにアクセスするときに再度ログインするように求められます。この環境では、最初のOracle Business Process ComposerはSAML IDプロバイダとして構成され、アクセスする2番目のOracle Business Process ComposerはSAMLサービス・プロバイダとして構成されます。
SAML SSO環境でOracle Business Process Composerユーザーを自動認証するには:
-
composer
のリダイレクトURLとして、SAMLサービス・プロバイダ・サイトのSAML2IdentityAsserter
構成に/bpm/composer/*
を次のように追加します。-
Oracle WebLogicコンソールで、「セキュリティ・レルム」を選択します。
-
サービス・プロバイダのレルムをクリックします。
-
「プロバイダ」タブを選択し、「認証」サブタブを選択します。
-
プロバイダ・リストから、SAML 2.0 IDアサーション・プロバイダと説明されているプロバイダを選択します。
SAML IDアサーション・プロバイダ構成が見つからない場合は、Oracle WebLogic Serverのセキュリティの管理の説明に従ってください。
-
「管理」タブを選択します。
「管理」タブには、IDプロバイダ・パートナのリストが表示されます。これらは、このSAML IDサービス・プロバイダ・サイトのSAML IDプロバイダ・パートナとして構成されているホストです。この構成ステップは、Oracle Business Process Composerがホスト管理されるIDサービス・プロバイダ・サイトで実行されることを忘れないでください。
-
ユーザーが最初のログインを実行するIDプロバイダ・サイトを選択します。
-
「リダイレクトURI」フィールドが表示されるまでページを下にスクロールします。
-
リストに
/bpm/composer/*
を追加します。
このステップの実行後は、
/bpm/composer
の通常のURLを使用してSAML IDプロバイダにあるOracle Business Process Composerにログインできます。必要に応じて、SAMLサービス・プロバイダ・サイトでURL/bpm/composer/ssologin
に移動でき、ここからOracle Business Process Composerにアクセスすると自動認証されます。SAML2IdentityAsserter
およびWebブラウザとHTTPクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。 -
Windowsのネイティブ認証環境でのOracle BPM Worklistユーザーの自動認証
Kerberosを使用したWindowsのネイティブ認証をOracle BPM Worklistで使用するには、保護されたURL /integration/worklistapp/ssologin
を使用する必要があります。たとえば、Windowsのネイティブ認証を構成した後は、次のようにOracle BPM Worklistにアクセスします。
http://host_name.domain_name:8001/integration/worklistapp/ssologin
Microsoftクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。
Windowsのネイティブ認証環境でのOracle Business Process Composerユーザーの自動認証
Kerberosを使用したWindowsのネイティブ認証をOracle Business Process Composerで使用するには、保護されたURL bpm/composer/ssologin
を使用する必要があります。たとえば、Windowsのネイティブ認証を構成した後は、次のようにProcess Composerにアクセスします。
http://host_name.domain_name:8001/bpm/composer/ssologin
Microsoftクライアントを使用したSSOの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。
認証プロバイダの設定
使用する認証プロバイダは、認証プロバイダのリスト内で最初に表示される必要があります。この項では、最初の認証プロバイダを設定する方法を説明します。
Oracle Internet Directoryを最初の認証プロバイダとして表示
Oracle BPM Worklistおよびワークフロー・サービスでは、Java Platform Security (JPS)と、ユーザーおよびロールAPIが使用されます。このため、Oracle Internet Directoryでワークフローが使用されるときは、Oracle Internet Directoryオーセンティケータが最初のプロバイダとして表示される必要があります。Oracle Internet Directoryが最初に表示されない場合(たとえば、DefaultAuthenticator
の下に表示される場合)、ログイン認証は失敗します。
認証プロバイダの順序の変更の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。
デフォルトの認証プロバイダを使用したWebベースのアプリケーションへのアクセス
Oracle Internet Directoryの認証を使用している場合、Webベースのアプリケーションへのログインが失敗することがあります。これは、Oracle WebLogic Serverの構成が、デフォルトの認証の前にOracle Internet Directoryの認証を使用するように設定されている場合に起こります。
この場合、次のエラーが発生することがあります。
"@ User "weblogic" is not found in configuration "jazn.com" Check if the user exists in the repository specified by the configurations. Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable."
セキュリティ・プロバイダの順序は次のようにしてください。
-
デフォルトの認証
-
Oracle Internet Directory/LDAP認証
複数の認証プロバイダの有効化
「裁決プロバイダ」は、1つのセキュリティ・レルムで複数の認証プロバイダが構成されている場合に、処理方法を決定します。
裁決プロバイダの詳細と複数の認証プロバイダの有効化の詳細は、『Oracle WebLogic Serverのセキュリティの管理』のWebLogic裁決プロバイダの構成に関する項を参照してください。
SSLの構成
この項では、Oracle SOA SuiteおよびOracle Business Process Managementの環境でSecure Socket Layer (SSL)を構成する方法について説明します。
HTTPSポートで構成されたSOA/BPMサーバーでのSSL証明書の使用
SOA/BPMサーバーがHTTPSポートで構成されている場合は、SSL証明書が次の標準に従っていることを確認します。
-
サーバーがSSLクライアント(ブラウザ、または通知送信者などの他の内部クライアント)に提示する証明書は、その独自のトラスト・ストア(CAストア)で信頼される証明書です。
-
サーバーの証明書が自己署名されている場合は、その証明書がトラスト・ストアに追加されていることを確認します。
このようにされていない場合は、タスク通知の送信時に問題が発生する可能性があります。たとえば、サーバー出力ログ(soa_server_name.out)で、次のタスク通知エラー・メッセージを受信できます。
<Sep 13, 2011 12:59:41 AM PDT> <Error> <oracle.soa.services.workflow.common> <BEA-000000> <<.> ORABPEL-0 at oracle.bpel.services.workflow.task.notification. TaskNotifications.getEmailPaylOad (TaskNotifications.java:1354) at oracle.bpel.services.workflow.task.notification. TaskNotifications.getEmailNotificationContent (TaskNotifications.java:987) at weblogic.jms.client.JMSSession$UseForRunnable.run (JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerI mpl.java:528) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) Caused By: javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from myhost.us.example.com - 10.232.152.78 was not trusted causing SSL handshake failure. at com.certicom.tls.interfaceimpl.TLSConnectionImpl. fireException(UnknownSource) at com.certicom.tls.interfaceimpl.TLSConnectionImpl. fireAlertSent(UnknownSource) at com.certicom.tls.record.handshake.HandshakeHandler. fireAlert(Unknown Source). ficationContent(TaskNotifications.java:987) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerI mpl.java:528) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) Caused By: javax.net.ssl.SSLKeyException: [Security:090477]Certificate chain received from myhost.us.example.com - 10.232.152.78 was not trusted causing SSL handshake failure. at com.certicom.tls.interfaceimpl.TLSConnectionImpl. fireException(UnknownSource) at com.certicom.tls.interfaceimpl.TLSConnectionImpl. fireAlertSent(UnknownSource) at com.certicom.tls.record.handshake.HandshakeHandler. fireAlert(Unknown Source
概念および構成の詳細は、Oracle WebLogic Serverのセキュリティの管理を参照してください。
SSLで管理対象サーバーを全部構成する、または構成しないための推奨事項
SSL (SOA、BAMなど)で管理対象サーバーを全部構成するか、構成しないかのいずれかをベスト・プラクティスとしてお薦めします。一部の管理対象サーバーをSSLで構成し、他の管理対象サーバーを構成しないと、Oracle BPM WorklistおよびOracle Web Services Manager (OWSM)では好ましくない結果になる可能性があります。たとえば、SSL構成された管理対象サーバー(bam_server)が存在する場合、SSLの構成がないサーバーはOWSMでは使用されません。SSL構成されたサーバーが停止した場合、OWSMは停止状態になり、Oracle BPM Worklistが停止状態になる原因となります。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の一般的なポリシー・マネージャ接続の問題の理解に関する項を参照してください。
Oracle BPM Worklistでの非SSLからSSL構成への切替え
Oracle BPM Worklistで非SSLからSSL構成に切り替えるには、Oracle WebLogicコンソールで「フロントエンド・ホスト」および「フロントエンドHTTPSポート」フィールドを設定する必要があります。そうしないと、To-Doタスクを作成しようとしたときにエラーが発生します。
Oracle BPM Worklistで非SSLからSSL構成に切り替えるには:
- Oracle WebLogicコンソールにログインします。
- 「環境」セクションで「サーバー」を選択します。
- 管理対象サーバーの名前(たとえば、soa_server1)を選択します。
- 「プロトコル」を選択し、次に「HTTP」を選択します。
- 「フロントエンド・ホスト」フィールドに、Oracle BPM Worklistがあるホスト名を入力します。
- 「フロントエンドHTTPSポート」フィールドに、SSLリスナー・ポートを入力します。
- 「保存」をクリックします。
SOAコンポジット・アプリケーションの双方向SSL通信の構成
Oracle SOA Suiteでは、Oracle WebLogic ServerとOracle Secure Socket Layer (SSL)スタックの両方を使用し、て双方向SSL通信を構成します。
-
インバウンドのWebサービス・バインディングの場合、Oracle SOA SuiteではOracle WebLogic Serverインフラストラクチャを使用し、SSL用にOracle WebLogic Serverライブラリを使用します。
-
アウトバウンドのWebサービス・バインディングの場合、Oracle SOA SuiteはJRF HttpClientを使用するため、SSLにはOracle JDKライブラリを使用します。
このように違いがあるため、次のJVMオプションを使用してOracle WebLogic Serverを起動します。
SOAコンポジット・アプリケーションの双方向SSL通信を構成するには:
また、次のステップを実行してSOAコンポジット・アプリケーションの双方向SSLが別のSOAコンポジット・アプリケーションまたは別の非SOAアプリケーションを起動できるようにします。
ノート:
サーバーとクライアントの両方が双方向のSSLについて構成されているものとします。
SOAコンポジット・アプリケーションが別のアプリケーションを呼び出すために双方向SSLを有効化するには:
-
クライアント側で、キーストアの場所を指定します。
-
「SOAインフラストラクチャ」メニューから、「SOA管理」→「共通プロパティ」の順に選択します。
-
ページの下部で、「詳細SOAインフラ拡張構成プロパティ」をクリックします。
-
「KeystoreLocation」をクリックします。
-
「値」列に、キーストアの場所を入力します。
-
「適用」をクリックします。
-
「戻る」をクリックします。
-
-
クライアント側の
DOMAIN_HOME
\config\soa-infra\configuration\soa-infra-config.xml
でキーストアの場所を指定します。<keystoreLocation>absolute_path_to_the_keystore_location_and_the_file_name </keystoreLocation>
-
Oracle JDeveloperでの設計時に、
composite.xml
ファイル内の参照セクションをoracle.soa.two.way.ssl.enabled
プロパティで更新します。<reference name="Service1" ui:wsdlLocation=". . ."> <interface.wsdl interface=". . ."/> <binding.ws port=". . ."> <property name="oracle.soa.two.way.ssl.enabled">true</property> </binding.ws> </reference>
-
Oracle Enterprise Manager Fusion Middleware Controlで、「WebLogicドメイン」→「domain_name」の順に選択します。
-
「domain_name」を右クリックし、「セキュリティ」→「資格証明」と選択します。
-
「マップの作成」をクリックします。
-
「マップ名」フィールドに名前(
SOA
など)を入力し、「OK」をクリックします。 -
「キーの作成」をクリックします。
-
次の詳細を入力します。
フィールド 説明 マップの選択
ステップ7で作成したマップ(この例ではSOA)を選択します。
キー
キー名を入力します(
KeystorePassword
がデフォルトです)。タイプ
「パスワード」を選択します。
ユーザー名
ユーザー名を入力します(
KeystorePassword
がデフォルトです)。パスワード
キーストアに対して作成したパスワードを入力します。
ノート:
SSLをOracle WebLogic Serverで設定する場合は、キーの別名が必要です。別名の値として「
mykey
」を入力する必要があります。この値は必須です。 -
Oracle Enterprise Manager Fusion Middleware Controlでキーストアの場所を設定します。方法については、ステップ1を参照してください。
-
https
およびsslport
を使用してSOAコンポジット・アプリケーションを起動するように、composite.xml
を変更します。たとえば、次の太字で示されている構文を変更します。<?xml version="1.0" encoding="UTF-8" ?> <!-- Generated by Oracle SOA Modeler version 1.0 at [4/1/09 11:01 PM]. --> <composite name="InvokeEchoBPELSync" revision="1.0" label="2009-04-01_23-01-53_994" mode="active" state="on" xmlns="http://xmlns.oracle.com/sca/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:ui="http://xmlns.oracle.com/soa/designer/"> <import namespace="http://xmlns.oracle.com/CustomApps/InvokeEchoBPELSync/BPELProcess1" location="BPELProcess1.wsdl" importType="wsdl"/> <import namespace="http://xmlns.oracle.com/CustomApps/EchoBPELSync/ BPELProcess1"location="http://hostname:port/soa-infra/services/default/EchoBPEL Sync/BPELProcess1.wsdl" importType="wsdl"/>
https
およびsslport
を使用するように変更します。location="https://hostname:sslport/soa-infra/services/default/EchoBPELSync /BPELProcess1.wsdl"
Oracle JDeveloperの一方向SSL環境での参照の呼出し
Webサービスを一方向SSL環境でSOAコンポジット・アプリケーションからの外部参照として呼び出す場合は、サーバーの証明書名(CN)とホスト名が完全に一致することを確認します。これにより、正しいSSLハンドシェイクが保証されます。
たとえば、Webサービスの名前がadfbc
で、証明書のサーバー名がmyhost05
の場合、次の構文ではSSLハンドシェイク例外が発生します。
<import namespace="/adfbc1/common/" location="https://myhost05.us.example.com:8002/CustomApps-adfbc1-context-root/Ap pModuleService?WSDL" importType="wsdl"/> <import namespace="/adfbc1/common/" location="Service1.wsdl" importType="wsdl"/>
import
の順序を入れ替えると、SSLハンドシェイクに成功します。
<import namespace="/adfbc1/common/" location="Service1.wsdl" importType="wsdl"/> <import namespace="/adfbc1/common/" location="https://myhost05.us.example.com:8002/CustomApps-adfbc1-context-root/Ap pModuleService?WSDL" importType="wsdl"/>
この問題に関連して次の制限があります。
-
Oracle WebLogicコンソールにあるようなホスト名の検証を無視するオプションはOracle JDeveloperにありません。これは、Oracle JDeveloperで使用されているSSLキットが異なるためです。トラスト・ストアのみコマンド行から構成できます。他のすべての証明書引数は渡されません。
-
WSDLファイルで、
https://
hostname
は前述のように証明書内の名前と一致する必要があります。ブラウザで行う場合と同じ手順は実行できません。たとえば、証明書のCNのホスト名がmyhost05.us.example.com
の場合、ブラウザではmyhost05
、myhost05.us.example.com
またはIPアドレスを使用できます。Oracle JDeveloperでは、必ず証明書内の名前と同じ名前(myhost05.us.example.com
)を使用する必要があります。
Oracle SOA SuiteおよびOracle HTTP ServerのSSL通信の構成
ここでは、Oracle SOA SuiteとOracle HTTP Server間でSSL通信を構成するステップについて説明します。
ビジネス・フロー・インスタンスとOracle WebCache間のSSLの構成
Oracle WebCacheおよびOracle HTTP Server環境では、「Webサービスのテスト」ページでOracle WebCacheとの通信が必要になる場合があります。したがって、ビジネス・フロー・インスタンスとOracle WebCache間でSSLを構成する必要があります(つまり、ユーザー証明書をOracle WebCacheウォレットからエクスポートし、その証明書をOracle WebLogic Serverトラスト・ストアに信頼できる証明書としてインポートします)。
設計時の一方向SSLでのカスタム・トラスト・ストアの使用
keytool
やorapki
などのツールで作成したカスタム・トラスト・ストアを使用している場合にHTTPSを介してSOAコンポジット・アプリケーションを別のコンポジットから起動するには、Oracle JDeveloperで次の操作を実行します。
設計時に一方向SSLでカスタム・トラスト・ストアを使用するには:
SSL対応の管理対象サーバーにデプロイ済の非同期プロセスの構成による、HTTPを介した別の非同期プロセスの呼出し
次の環境を作成するとします。
-
非同期BPELプロセスAが非同期BPELプロセスBを起動する
-
非同期BPELプロセスAは一方向SSL対応の管理対象サーバーにデプロイされる
-
すべてのWSDL参照およびバインディングでプレーンHTTPを使用する
実行時に、WSDLはHTTPSを介して検索され、非同期BPELプロセスBからのコールバック・メッセージが失敗します。
この問題を解決するには、callbackServerURL
プロパティをcomposite.xml
ファイルの参照バインディング・レベルで渡す必要があります。これは、特定の参照呼出しのコールバックURLの値を示します。コールバックはデフォルトのHTTPSではなく、HTTPを介して実行されます。クライアント・コンポジットがSSL管理対象サーバーで実行されている場合、コールバックはデフォルトでSSLになります。
<binding.ws port="http://xmlns.oracle.com/Async/AsyncSecondBPELMTOM/BPELProcess1#wsdl.
endp oint(bpelprocess1_client_ep/BPELProcess1_pt)"
location="http://localhost:8000/soa-infra/services/default/AsyncSecondBPELMTOM/
bpelprocess1_client_ep?WSDL">
<wsp:PolicyReference URI="oracle/wss_username_token_client_policy"
orawsp:category="security" orawsp:status="enabled"/>
<wsp:PolicyReference URI="oracle/wsaddr_policy" orawsp:category="addressing"
orawsp:status="enabled"/>
<property name="callbackServerURL
">http://localhost:8000/</property>
</binding.ws>