ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Web Services Manager相互運用性ソリューション・ガイド
12c (12.1.3)
E59426-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

7 Oracle Service Bus 10gのセキュリティ環境との相互運用性

この章では、Oracle Service Bus 10gのセキュリティ環境とOracle Web Services Manager (OWSM)の相互運用性について説明します。

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

7.1 Oracle Service Bus 10gのセキュリティ環境との相互運用性の概要

Oracle Service Bus 10gでは、ポリシーをアタッチして、インバウンド・リクエストとアウトバウンド・リクエストに対してセキュリティ環境を構成します。Oracle Service Busでは、そのセキュリティ・サービスのビルディング・ブロックとして、基礎となるWebLogicセキュリティ・フレームワークを使用します。ポリシーを構成およびアタッチする方法の詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlOracle Service Busのセキュリティ・ガイドで、Oracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。


注意:

パッチ・ツールを使用して、Oracle Service Bus 10.3用にリリースされたTYBNおよびU37Zパッチをダウンロードし、適用しておく必要があります。

OWSM 12cでは、ポリシーをWebサービス・エンドポイントにアタッチします。ポリシーはドメインレベルで定義された1つ以上のアサーションで構成されています。アサーションはセキュリティ要件の定義です。そのまま使用できる事前定義のポリシーとアサーションのセットが用意されています。

表7-1および表7-2は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたOracle Service Bus 10gの最も一般的な相互運用性シナリオをまとめたものです。

詳細の参照先は、次のとおりです。

  • OWSM事前定義済ポリシーについては、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の事前定義済ポリシーに関する説明を参照してください。

  • OWSM 12cポリシーの構成およびアタッチについては、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービスの保護に関する説明およびポリシーのアタッチに関する説明を参照してください。

  • Oracle Service Bus 10gポリシーを構成およびアタッチする方法の詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlOracle Service Busのセキュリティ・ガイドで、Oracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。


注意:

以降のシナリオでは、v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

また、キーが適切な拡張(DigitalSignature、Non_repudiation、Key_EnciphermentおよびData_Enciphermentなど)を使用していることも確認してください。


表7-1 OWSM 12gサービス・ポリシーとOracle Service Bus 10gクライアント・ポリシーの相互運用性

アイデンティティ・トークン WS-Securityバージョン メッセージ保護 トランスポート・セキュリティ サービス・ポリシー クライアント・ポリシー

ユーザー名

1.0

はい

いいえ

oracle/wss10_username_token_with_message_protection_service_policy

Encrypt.xml

Sign.xml

SAML

1.0

はい

いいえ

oracle/wss10_saml_token_with_message_protection_service_policy

Encrypt.xml

Sign.xml

SAMLまたはユーザー名

1.0および1.1

いいえ

はい

oracle/wss_saml_or_username_token_over_ssl_service_policy

Auth.xml

相互認証

1.0

はい

いいえ

oracle/wss10_x509_token_with_message_protection_service_policy

Encrypt.xml

Sign.xml


表7-2 Oracle Service Bus 10gサービス・ポリシーとOWSM 12cクライアント・ポリシーの相互運用性

アイデンティティ・トークン WS-Securityバージョン メッセージ保護 トランスポート・セキュリティ サービス・ポリシー クライアント・ポリシー

ユーザー名

1.0

はい

いいえ

Encrypt.xml

Sign.xml

oracle/wss10_username_token_with_message_protection_client_policy

SAML

1.0

はい


Encrypt.xml

Sign.xml

oracle/wss10_saml_token_with_message_protection_client_policy

相互認証

1.0

はい

いいえ

Encrypt.xml

Sign.xml

oracle/wss10_x509_token_with_message_protection_client_policy


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

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

  • Oracle Service Bus 10gクライアントを使用したOWSM 12c Webサービス

  • OWSM 12cクライアントを使用したOracle Service Bus 10g Webサービス

どちらのシナリオの場合も、Oracle Service Busが稼働しているWebLogic Serverに対して、前提条件タスクを実行する必要があります。表7-3「相互運用性のための構成の前提条件」を参照してください。

サポートされているシナリオの手順は、次に記載されています。

表7-3 相互運用性のための構成の前提条件

タスク 説明 参照先

1

default-keystore.jksおよびtrust.jksファイルをドメイン・ディレクトリにコピーします。default-keystore.jksは、WebLogicドメイン内のSOAPメッセージの公開鍵と秘密鍵を格納するために使用されます。trust.jksは、WebLogic Server環境でのアイデンティティと信頼の確立および検証に使用される公開鍵、デジタル証明書、および信頼できる認証局証明書を格納するために使用されます。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のメッセージ保護に関するキーストアの構成に関する項

2

WebLogic管理コンソールを起動します。

『Webサービスの管理』のOracle WebLogic管理コンソールへのアクセスに関する説明

3

カスタム・アイデンティティ・キーストアおよびカスタム信頼キーストアを構成します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキーストアの構成に関する説明

4

SSLを構成します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSSLの設定に関する説明

5

秘密鍵の別名を指定します。例: oratest

--

6

資格証明マッピング・プロバイダを構成します。

PKICredentialMapperを作成し、次のように構成します(その他の値はすべてデフォルト設定のままにしておきます)。

  • キーストア・プロバイダ: なし

  • キーストアのタイプ: jks

  • キーストア・ファイル名: default_keystore.jks

  • キーストアのパスフレーズ: <password>

  • キーストアのパスフレーズを確認: <password>

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明

7

Oracle WebLogic Serverを再起動します。

--

9

OSBコンソールを起動します。次に例を示します。

http://<host name>:<port number>/sbconsole

--

10

ServiceKeyProviderを作成します。

--

11

「暗号化鍵」および「デジタル署名鍵」を指定します。

OWSMサーバーとOracle Service Busサーバーでは別々のキーを使用する必要があります。必要であれば、暗号化と署名には同じキーを使用できます。

--


7.2.1 OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装するために、OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントを構成する方法を示します。

表7-4 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

wss10_username_token_with_message_protection_service_policyポリシーのクローンを作成します。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

2

次のようにして、ポリシー設定を編集します。

  1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

  2. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

  3. 「タイムスタンプを含める」構成設定を有効化します。

  4. ユーザー名トークン要素の場合のみ、「暗号化」を「false」に設定します。

--

3

ポリシーをWebサービスにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ


表7-5 Oracle Service Bus 10gクライアントの構成

タスク 説明 参照先

1

Encrypt.xmlおよびSign.xmlポリシー・ファイルのクローンを作成します。

たとえば、ファイルをmyEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlにあるOracle Service Busのセキュリティ・ガイドのOracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項

2

暗号化準拠の失敗を回避するために、myEncrypt.xmlファイル内の暗号化アルゴリズムを次のように編集します。

<wssp:Target>
   <wssp:EncryptionAlgorithm 
     URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
   <wssp:MessageParts
     Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
   </wssp:MessageParts>
</wssp:Target>

--

3

ユーザー名トークンに署名する目的のみで、Oracle Service Busビジネス・サービス・リクエストにアタッチされたmySign.xmlポリシー・ファイルを編集します。これには、次のターゲットを含めます。

<wssp:Target>
   <wssp:DigestAlgorithm URI=
    "http://www.w3.org/2000/09/xmldsig#sha1" />
   <wssp:MessageParts Dialect=
    "http://www.bea.com/wls90/security/policy/wsee#part">
      wls:SecurityHeader(wsse:UsernameToken)
   </wssp:MessageParts>
</wssp:Target>

--

4

セキュリティ・トークンを無署名にすることを指定する目的のみで、Oracle Service Busビジネス・サービス・レスポンスにアタッチされたmySign.xmlポリシー・ファイルを編集します。

<wssp:Integrity SignToken="false"> 

また、SOAクライアントの場合のみ、次に示すようにシステム・ヘッダーのターゲットをコメント・アウトします。

<!-- wssp:Target>
  <wssp:DigestAlgorithm 
   URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts 
   Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
   wls:SystemHeaders()
  </wssp:MessageParts>
</wssp:Target -->

--

5

クライアントからWebサービス・メソッドを起動します。

--


7.2.2 Oracle Service Bus 10g WebサービスおよびOWSM 12cクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装するために、Oracle Service Bus 10g WebサービスおよびOWSM 12cクライアントを構成する方法を示します。

表7-6 Oracle Service Bus 10g Webサービスの構成

タスク 説明

1

Encrypt.xmlおよびSign.xmlポリシー・ファイルのクローンを作成します。

たとえば、ファイルをmyEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

2

暗号化準拠の失敗を回避するために、myEncrypt.xmlファイル内の暗号化アルゴリズムを次のように編集します。

<wssp:Target>
   <wssp:EncryptionAlgorithm 
     URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
   <wssp:MessageParts
     Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
   </wssp:MessageParts>
</wssp:Target>

詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlにあるOracle Service Busのセキュリティ・ガイドのOracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

3

セキュリティ・トークンを無署名にすることを指定する目的のみで、プロキシ・サービス・リクエストにアタッチされたmySign.xmlポリシー・ファイルを編集します。

<wssp:Integrity SignToken="false"> 

また、SOAクライアントの場合のみ、次に示すようにシステム・ヘッダーのターゲットをコメント・アウトします。

<!-- wssp:Target>
  <wssp:DigestAlgorithm 
   URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts 
   Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
   wls:SystemHeaders()
  </wssp:MessageParts>
</wssp:Target -->

4

Oracle Service Busルーティング・サービスを起動するWebサービス・アプリケーションを作成します。


表7-7 OWSM 12cクライアントの構成

タスク 説明 参照先

1

wss10_username_token_with_message_protection_client_policyポリシーのクローンを作成します。

次のようにして、ポリシー設定を編集します。

  1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

  2. 「受信者暗号化キー参照メカニズム」を「issuerserial」に設定します。

  3. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

  4. 「タイムスタンプを含める」構成設定を無効にします。

  5. 「暗号化」を「false」に設定します。

  6. メッセージの署名と暗号化は、デフォルト構成のままにします。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

2

ポリシーをWebサービス・クライアントにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ

3

クライアントからWebサービスを起動します。

--


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

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

  • Oracle Service Bus 10gクライアントを使用したOWSM 12c Webサービス

  • OWSM 12cクライアントを使用したOracle Service Bus 10g Webサービス

どちらのシナリオの場合も、表7-8「相互運用性のための構成の前提条件」の説明に従って、Oracle Service Busが稼働しているWebLogic Serverに対して、まず前提条件タスクを実行する必要があります。

サポートされているシナリオの手順は、次に記載されています。

表7-8 相互運用性のための構成の前提条件

タスク 説明 参照先

1

default-keystore.jksおよびtrust.jksファイルをドメイン・ディレクトリにコピーします。

default-keystore.jksは、WebLogicドメイン内のSOAPメッセージの公開鍵と秘密鍵を格納するために使用されます。trust.jksは、WebLogic Server環境でのアイデンティティと信頼の確立および検証に使用される秘密鍵、デジタル証明書、および信頼できる認証局証明書を格納するために使用されます。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のメッセージ保護に関するキーストアの構成に関する項

2

WebLogic管理コンソールを起動します。

『Webサービスの管理』のOracle WebLogic管理コンソールへのアクセスに関する説明

3

SAMLIdentityAsserterV2認証プロバイダを作成します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する説明

4

WebLogic Serverを再起動して、新しいプロバイダを管理サーバーのランタイムMBeanサーバーに追加します。

--

5

ステップ3で作成した認証プロバイダを選択します。

--

6

SAMLアサーティング・パーティを作成および構成します。

次のようにSAMLアサーティング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

  • プロファイル: WSS/sender-vouches

  • ターゲットURL: <OSB Proxy Service Endpoint URI>

  • 発行者URI: www.oracle.com

「有効」チェック・ボックスを選択し、「保存」をクリックします。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSAMLアイデンティティ・アサータV2: アサーティング・パーティの作成およびSAMLアイデンティティ・アサータV2: アサーティング・パーティ: 構成に関する説明

7

SamlCredentialMapperV2資格証明マッピング・プロバイダを作成します。

ドロップダウン・リストから「SamlCredentialMapperV2」を選択し、資格証明マッパーに名前を付けます(UC2_SamlCredentialMapperV2など)。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明

8

WebLogic Serverを再起動します。

--

9

次のように資格証明マッパーを構成します(その他の値はデフォルトの設定のままにしておきます)。

  • 発行者URI: www.oracle.com

    注意: この値はポリシー・ファイル内に指定されています。

  • 名前修飾子: oracle.com

--

10

SAMLリライイング・パーティを作成および構成します。

次のようにSAMLリライイング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

  • プロファイル: WSS/sender-vouches

  • ターゲットURL: <OWSM 12c Web Service>

  • 説明: <your_description>

「有効」チェック・ボックスを選択し、「保存」をクリックします。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSAML資格証明マッピング・プロバイダV2: リライイング・パーティの作成およびSAML資格証明マッピング・プロバイダV2: リライイング・パーティ: 構成に関する説明

11

WebLogic Serverを再起動します。

--


7.3.1 OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装するために、OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントを構成する方法を示します。

表7-9 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

oracle/wss10_saml_token_with_message_protection_service_policyポリシーのクローンを作成します。

  1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

  2. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

  3. ユーザー名トークン要素の場合のみ、「暗号化」を「false」に設定します。

  4. メッセージの署名と暗号化は、デフォルト構成のままにします。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

2

ポリシーをWebサービスにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ


表7-10 Oracle Service Bus 10gクライアントの構成

タスク 説明

1

Encrypt.xmlおよびSign.xmlポリシー・ファイルのクローンを作成します。

たとえば、myEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

2

暗号化準拠の失敗を回避するために、myEncrypt.xmlファイル内の暗号化アルゴリズムを次のように編集します。

<wssp:Target>
   <wssp:EncryptionAlgorithm 
     URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
   <wssp:MessageParts
     Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
   </wssp:MessageParts>
</wssp:Target>

詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlにあるOracle Service Busのセキュリティ・ガイドのOracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

3

SAMLアサーションに署名する目的のみで、Oracle Service Busビジネス・サービス・リクエストにアタッチされたmySign.xmlファイルを編集します。これには、次のターゲットを含めます。

<wssp:Target>
   <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
   <wssp:MessageParts Dialect=
    "http://www.bea.com/wls90/security/policy/wsee#part">
      wls:SecurityHeader(wsse:Assertion)
   </wssp:MessageParts>
</wssp:Target>

4

セキュリティ・トークンを無署名にすることを指定する目的のみで、Oracle Service Busビジネス・サービス・レスポンスにアタッチされたmySign.xmlファイルを次のように編集します。

<wssp:Integrity SignToken="false">

また、SOAクライアントの場合のみ、次に示すようにシステム・ヘッダーのターゲットをコメント・アウトします。

<!-- wssp:Target>
  <wssp:DigestAlgorithm 
   URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts 
   Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
   wls:SystemHeaders()
  </wssp:MessageParts>
</wssp:Target -->

5

例7-1に示すカスタムSAMLポリシー・ファイルを使用します。

6

クライアントからWebサービスを起動します。


例7-1 カスタムSAMLポリシー

<?xml version="1.0"?>
<wsp:Policy
   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
   xmlns:wssp="http://www.bea.com/wls90/security/policy"
   xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
   xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
   wsu:Id="custom_saml">
   <wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy">
      <wssp:SupportedTokens>
         <wssp:SecurityToken  
          TokenType=
"http://docs.oasis-open.org/wss/2004/01/oasis-2004-01-saml-token-profile-1.0#SAMLAssertionID">
            <wssp:Claims>
               <wssp:ConfirmationMethod>
                  sender-vouches
               </wssp:ConfirmationMethod>
            </wssp:Claims>
         </wssp:SecurityToken>
      </wssp:SupportedTokens>
   </wssp:Identity>
   </wsp:Policy>

7.3.2 Oracle Service Bus 10g WebサービスおよびOWSM 12cクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装するために、Oracle Service Bus 10g WebサービスおよびOWSM 12cクライアントを構成する方法を示します。

表7-11 Oracle Service Bus 10g Webサービスの構成

タスク 説明

1

Encrypt.xmlおよびSign.xmlポリシー・ファイルのクローンを作成します。

たとえば、myEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

2

暗号化準拠の失敗を回避するために、myEncrypt.xmlポリシー・ファイル内の暗号化アルゴリズムを次のように編集します。

<wssp:Target>
   <wssp:EncryptionAlgorithm 
     URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
   <wssp:MessageParts
     Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
   </wssp:MessageParts>
</wssp:Target>

詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlにあるOracle Service Busのセキュリティ・ガイドのOracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

3

セキュリティ・トークンを無署名にすることを指定する目的のみで、プロキシ・サービス・リクエストにアタッチされたmySign.xmlポリシー・ファイルを編集します。

<wssp:Integrity SignToken="false"> 

また、SOAクライアントの場合のみ、次に示すようにシステム・ヘッダーのターゲットをコメント・アウトします。

<!-- wssp:Target>
  <wssp:DigestAlgorithm 
   URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts 
   Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
   wls:SystemHeaders()
  </wssp:MessageParts>
</wssp:Target -->

4

例7-1に示すカスタムSAMLポリシー・ファイルを使用します。


表7-12 OWSM 12cクライアントの構成

タスク 説明 参照先

1

wss10_saml_token_with_message_protection_client_policyポリシーのクローンを作成します。

次のようにして、ポリシー設定を編集します。

  1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

  2. 「受信者暗号化キー参照メカニズム」を「issuerserial」に設定します。

  3. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

  4. 「タイムスタンプを含める」構成設定を無効にします。

  5. メッセージの署名と暗号化は、デフォルト構成のままにします。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

2

ポリシーをWebサービス・クライアントにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ

3

クライアントからWebサービスを起動します。

--


7.4 SSL経由のSAMLトークンまたはユーザー名トークン

この項では、次の相互運用性シナリオにおいて、SSLポリシー経由のSAMLトークンまたはユーザー名トークンを実装する方法について説明します。

  • Oracle Service Bus 10gクライアントおよびOWSM 12c Webサービス


注意:

この項で説明する相互運用性シナリオは、SSL経由のSAMLトークンおよびSSL経由のユーザー名トークンのポリシーにも適用されます。

どちらのシナリオの場合も、次の各項の説明に従って、Oracle Service Busが稼働しているWebLogic Serverに対して、まず前提条件タスクを実行する必要があります。

サポートされているシナリオの構成手順は、次の項に記載されています。

表7-13 相互運用性のためのSAMLの前提条件

タスク 説明 参照先

1

SamlCredentialMapperV2資格証明マッピング・プロバイダを作成します。

ドロップダウン・リストから「SamlCredentialMapperV2」を選択し、資格証明マッパーに名前を付けます(UC2_SamlCredentialMapperV2など)。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明

2

WebLogic Serverを再起動します。

--

3

次のように資格証明マッパーを構成します(その他の値はデフォルトの設定のままにしておきます)。

  • 発行者URI: www.oracle.com

    注意: この値はポリシー・ファイル内に指定されています。

  • 名前修飾子: oracle.com

--

4

SAMLリライイング・パーティを作成および構成します。

次のようにSAMLリライイング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

  • プロファイル: WSS/sender-vouches

  • ターゲットURL: <OWSM 12c Web Service>

  • 説明: <your_description>

「有効」チェック・ボックスを選択し、「保存」をクリックします。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSAML資格証明マッピング・プロバイダV2: リライイング・パーティの作成およびSAML資格証明マッピング・プロバイダV2: リライイング・パーティ: 構成に関する説明

5

WebLogic Serverを再起動します。

--


7.4.1 OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントの構成

次の手順では、SSLポリシー経由のSAMLトークンまたはユーザー名トークンを実装するために、OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントを構成する方法を示します。

表7-14 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

サーバーを双方向SSL用に構成します。

  • サービス・ポリシーがSSL経由のユーザー名トークンの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制しない)」に設定します。

  • サービス・ポリシーがSSL経由のSAML名トークンの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制する)」に設定します。

詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebLogic ServerへのSSLの構成(双方向)に関する説明を参照してください。

2

wss_saml_or_username_token_over_ssl_service_policyポリシーのクローンを作成します。

  • wss_username_token_over_ssl_service_policyに対して、「要素およびNonceの作成」構成設定を無効化します。

  • wss_saml_token_over_ssl_service_policyに対して、「タイムスタンプを含める」構成設定を無効化します。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

3

JDeveloperを使用して、単純なSOAコンポジットを作成します。

--

4

wss_saml_or_username_token_over_ssl_service_policyポリシーのコピーをコンポジットにアタッチし、デプロイします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ


表7-15 Oracle Service Bus 10gクライアントの構成

タスク 説明 参照先

1

サーバーを双方向SSL用に構成します。

  • クライアント・ポリシーがSSL経由のユーザー名トークンに相当するポリシーの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制しない)」に設定します。

  • クライアント・ポリシーがSSL経由のSAMLトークンに相当するポリシーの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制する)」に設定します。

詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebLogic ServerへのSSLの構成(双方向)に関する説明を参照してください。

2

Oracle Service Busコンソールで、リライイング・パーティのWSDLをインポートします。いずれのポリシーもアタッチされていないことを確認してください(このサービスではポリシー・アサーションは許可されていません。)

--

3

SAMLトークンに対して、ビジネス・サービスを作成します。

  1. 例7-1「カスタムSAMLポリシー」に示すポリシーをリクエストにアタッチします。

  2. WSDLをHTTPからHTTPSに変更します。

--

4

ユーザー名トークンに対して、ビジネス・サービスを作成します。

  1. auth.xmlポリシーをリクエストにアタッチします。

  2. WSDLをHTTPからHTTPSに変更します。

--

5

プロキシ・サービスを作成し、ビジネス・サービスへのルートを作成します。

「HTTPトランスポート構成」で、「認証」を「基本」に設定します。

「セキュリティ」ページで、サービス・キー・プロバイダを関連付けます。これは、Oracle Service Busがクライアント証明書をSOAに送信するために必要となります。

--

6

Oracle Service Busコンソールから、ユーザー名とパスワードを使用してプロキシ・サービスを実行します。

--


7.5 メッセージ保護付き相互認証(WS-Security 1.0)

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

  • Oracle Service Bus 10gクライアントを使用したOWSM 12c Webサービス

  • OWSM 12cクライアントを使用したOracle Service Bus 10g Webサービス

どちらのシナリオの場合も、次の説明に従って、まず前提条件タスクを実行する必要があります。

サポートされているシナリオの構成手順は、次の各項に記載されています。

表7-16 Oracle WebLogic Serverの構成の前提条件

タスク 説明 参照先

1

default-keystore.jksおよびtrust.jksファイルをドメイン・ディレクトリにコピーします。

default-keystore.jksは、WebLogicドメイン内のSOAPメッセージの公開鍵と秘密鍵を格納するために使用されます。trust.jksは、Oracle WebLogic Server環境でのアイデンティティと信頼の確立および検証に使用される公開鍵、デジタル証明書、および信頼できる認証局証明書を格納するために使用されます。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のメッセージ保護に関するキーストアの構成に関する項

2

WebLogic管理コンソールを起動します。

『Webサービスの管理』のOracle WebLogic管理コンソールへのアクセスに関する説明

3

カスタム・アイデンティティ・キーストアおよびカスタム信頼キーストアを構成します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキーストアの構成に関する説明

4

SSLを構成します。

秘密鍵の別名を指定します。例: oratest

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSSLの設定に関する説明

5

資格証明マッピング・プロバイダを構成します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明

6

PKICredentialMapperを作成し、次のように構成します(その他の値はすべてデフォルト設定のままにしておきます)。

  • キーストア・プロバイダ: なし

  • キーストアのタイプ: jks

  • キーストア・ファイル名: default_keystore.jks

  • キーストアのパスフレーズ: <password>

  • キーストアのパスフレーズを確認: <password>

--

7

「認証」タブを選択し、次のように構成します。

  • 「DefaultIdentityAsserter」をクリックし、「X.509」「選択済み」アクティブ・タイプに追加します。

  • 「プロバイダ固有」をクリックし、次のように構成します。

    • デフォルト・ユーザー名マッパーの属性のタイプ: CN

    • アクティブなタイプ: X.509

    • デフォルト・ユーザー名マッパーの使用: True

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する説明

8

トークン・ハンドラを構成して、メッセージ保護付きのWebサービスを起動するクライアントがX.509証明書を使用してアイデンティティを確立することを指定します。WebLogic管理コンソールで、ドメインの「Webサービス・セキュリティ」ページにナビゲートし、次のようにインバウンド・メッセージとアウトバウンド・メッセージを構成します。

注意: 常に使用できるのは、メッセージ保護付きユーザー名トークンまたはメッセージ保護付き相互認証のみです。メッセージ保護付き相互認証を有効にすると、以降のユーザー名認証は失敗します。

  • 「_SERVICE_BUS_INBOUND_WEB_SERVICE_SECURITY_MBEAN_」をクリックし、「トークン・ハンドラ」タブを選択します。

  • 「X.509」トークン・ハンドラをクリックし、次のように構成します。

    • 名前: UseX509ForIdentity

    • 値: True

  • アウトバウンドOracle Service Bus MBeanの_SERVICE_BUS_OUTBOUND_WEB_SERVICE_SECURITY_MBEAN_に対しても、同じ手順を実行します。

--

9

ユーザーを追加していない場合、証明書で指定されている一般名(CN)ユーザーを追加します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーの作成に関する説明

10

Oracle WebLogic Serverを再起動します。

--


表7-17 OWSMの構成の前提条件

タスク 説明 参照先

1

認証を構成します。

「認証」タブを選択し、次のように構成します。

  • 「DefaultIdentityAsserter」をクリックし、「X.509」「選択済み」アクティブ・タイプに追加します。

  • 「プロバイダ固有」をクリックし、次のように構成します。

    • デフォルト・ユーザー名マッパーの属性のタイプ: CN

    • アクティブなタイプ: X.509

    • デフォルト・ユーザー名マッパーの使用: True

Oracle WebLogic Server管理コンソール・オンライン・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する説明

2

ユーザーを追加していない場合、証明書で指定されている一般名(CN)ユーザーを追加します。

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーの作成に関する説明

3

Oracle WebLogic Serverを再起動します。

--


7.5.1 OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装するために、OWSM 12c WebサービスおよびOracle Service Bus 10gクライアントを構成する方法を示します。

表7-18 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

SOAコンポジットを作成してデプロイします。


2

wss10_x509_token_with_message_protection_service_policyポリシーのクローンを作成します。

次のようにして、ポリシー設定を編集します。

  1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

  2. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

3

ポリシーをWebサービスにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ


表7-19 Oracle Service Bus 10gクライアントの構成

タスク 説明

1

Oracle Service Busビジネス・サービスを作成します。

2

Encrypt.xmlおよびSign.xmlポリシー・ファイルのクローンを作成します。

たとえば、ファイルをmyEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

3

例7-2に示すX.509ポリシーを、Oracle Service Busビジネス・サービス・リクエストにアタッチします。

4

Sign.xmlポリシー・ファイルをOracle Service Busビジネス・サービス・リクエストにアタッチします。

5

例7-3に示すようにmyEncrypt.xmlポリシーを編集し、Oracle Service Busビジネス・サービス・リクエストにアタッチします。

詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlにあるOracle Service Busのセキュリティ・ガイドのOracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

6

セキュリティ・トークンを無署名にすることを指定するために、Oracle Service Busビジネス・サービス・レスポンスにアタッチされたmySign.xmlポリシー・ファイルを編集します。

<wssp:Integrity SignToken="false"> 

また、SOAクライアントの場合のみ、例7-4に示すようにシステム・ヘッダーのターゲットをコメント・アウトします。

7

手順6で編集したmyEncrypt.xmlポリシー・ファイルをOracle Service Busビジネス・サービス・レスポンスにアタッチします。

8

ServiceKeyProviderを作成します。

9

「暗号化鍵」および「デジタル署名鍵」を指定します。

OWSMサーバーとOracle Service Busサーバーでは別々のキーを使用する必要があります。必要であれば、暗号化と署名には同じキーを使用できます。

10

プロキシ・サービスを作成し、ビジネス・サービスへのルートを作成します。

「セキュリティ」ページで、サービス・キー・プロバイダを関連付けます。これは、Oracle Service Busがクライアント証明書をSOAに送信するために必要となります。

11

Oracle Service Busコンソールからプロキシ・サービスを実行します。


例7-2 X.509ポリシー

<wsp:Policy
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wssp="http://www.bea.com/wls90/security/policy"
  xmlns:s0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  s0:Id="X509Auth">
        <wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy">
            <wssp:SupportedTokens>
                <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
            </wssp:SupportedTokens>
        </wssp:Identity>
</wsp:Policy>

例7-3 myEncrypt.xmlポリシー

<?xml version="1.0"?>
<wsp:Policy
 xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
 xmlns:wssp="http://www.bea.com/wls90/security/policy"
 xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
 xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
 wsu:Id="X509Encrypt"> 
  <wssp:Confidentiality>
    <wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
    <wssp:Target>
      <wssp:EncryptionAlgorithm URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>    
      <wssp:MessageParts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts>
    </wssp:Target>
    <wssp:KeyInfo/>
  </wssp:Confidentiality>
</wsp:Policy>

例7-4 mySignポリシー

  <?xml version="1.0"?>
<wsp:Policy
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wssp="http://www.bea.com/wls90/security/policy"
 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
utility-1.0.xsd"
  xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
  wsu:Id="X509Sign">
  <wssp:Integrity SignToken="false">
    <wssp:SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <wssp:CanonicalizationAlgorithm
 URI="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    <!--wssp:Target>
      <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
 Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
        wls:SystemHeaders()
      </wssp:MessageParts>
    </wssp:Target-->
    <wssp:Target>
      <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
 Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
        wls:SecurityHeader(wsu:Timestamp)
      </wssp:MessageParts>
    </wssp:Target>
    <wssp:Target>
      <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
 Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
      wsp:Body()
      </wssp:MessageParts>
    </wssp:Target>
   </wssp:Integrity>
  <wssp:MessageAge/>
</wsp:Policy>

7.5.2 Oracle Service Bus 10g WebサービスおよびOWSM 12cクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装するために、Oracle Service Bus 10g WebサービスおよびOWSM 12cクライアントを構成する方法を示します。

表7-20 Oracle Service Bus 10g Webサービスの構成

タスク 説明

1

Oracle Service Busプロキシ・サービスを作成します。

2

Encrypt.xmlおよびSign.xmlポリシー・ファイルのクローンを作成します。

たとえば、myEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

3

例7-2「X.509ポリシー」に示すように、X.509ポリシーをプロキシ・サービス・リクエストにアタッチします。

4

プロキシ・サービス・リクエストにアタッチされたmySign.xmlポリシー・ファイルを編集し、例7-5「mySign.xmlポリシー」に示すようにシステム・ヘッダーとタイムスタンプのターゲットをコメント・アウトします。

詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlにあるOracle Service Busのセキュリティ・ガイドのOracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

5

例7-6「myEncrypt.xml」に示すように、プロキシ・サービス・リクエストにアタッチされたmyEncrypt.xmlファイル内の暗号化アルゴリズムを編集します。

6

前の手順で編集したmySign.xmlおよびmyEncrypt.xmlポリシー・ファイルをプロキシ・サービス・レスポンスにアタッチします。

7

サービス・キー・プロバイダを作成します。


例7-5 mySign.xmlポリシー

<?xml version="1.0"?>
<wsp:Policy
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wssp="http://www.bea.com/wls90/security/policy"
  xmlns:s0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  s0:Id="X509SignRequest">
  <wssp:Integrity
 xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
 xmlns:wssp="http://www.bea.com/wls90/security/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
utility-1.0.xsd">
  <wssp:SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
  <wssp:CanonicalizationAlgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#"
 />
  <!-- wssp:Target>
  <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts Dialect="http://www.bea.com/wls90/security/policy/wsee#part">wls:SystemHeaders
()</wssp:MessageParts>
  </wssp:Target -->
  <!-- wssp:Target>
  <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts
Dialect="http://www.bea.com/wls90/security/policy/wsee#part">wls:SecurityHeader
(wsu:Timestamp)</wssp:MessageParts>
  </wssp:Target -->
  <wssp:Target>
  <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
  <wssp:MessageParts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts>
  </wssp:Target>
</wsp:Policy>

例7-6 myEncrypt.xml

<?xml version="1.0"?>
<wsp:Policy
 xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
 xmlns:wssp="http://www.bea.com/wls90/security/policy"
 xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
 xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
 wsu:Id="X509Encrypt"> 
  <wssp:Confidentiality>
    <wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
    <wssp:Target>
      <wssp:EncryptionAlgorithm URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>    
      <wssp:MessageParts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts>
    </wssp:Target>
    <wssp:KeyInfo/>
  </wssp:Confidentiality>
 
</wsp:Policy>

表7-21 OWSM 12cクライアントの構成

タスク 説明 参照先

1

wss10_x509_token_with_message_protection_client_policyポリシーのクローンを作成します。

Fusion Middleware Controlで、ポリシー設定を次のように編集します。

  1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

  2. 「受信者暗号化キー参照メカニズム」を「issuerserial」に設定します。

  3. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

  4. 「タイムスタンプを含める」構成設定を無効にします。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローン作成に関する項

2

Fusion Middleware Controlで、クライアント構成にkeystore.recipient.aliasを指定します。クライアントに指定するkeystore.recipient.aliasキーが、Webサービスに対して構成されている信頼ストア内に信頼できる証明書エントリとして存在していることを確認してください。

--

3

ポリシーをWebサービス・クライアントにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ

4

クライアントからWebサービスを起動します。

--