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

前
 
次
 

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

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


注意:

この章の相互運用性シナリオの一部では、将来のリリースのOracle Fusion Middleware 12cでサポートされるSOAアプリケーションを使用します。このリリースでは、それらのシナリオでADFまたはJava EEアプリケーションを代用できます。


この章の構成は、次のとおりです。

6.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つ以上のアサーションで構成されています。アサーションはセキュリティ要件の定義です。そのまま使用できる事前定義のポリシーとアサーションのセットが用意されています。

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

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


注意:

以降のシナリオでは、v3証明書付きのキーストアを使用していることを確認してください。

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


表6-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


表6-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


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

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

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

Oracle Service Busが稼働しているWebLogic Serverに対して、次の前提条件ステップを実行します。

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

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

  2. 『Webサービスの管理』のOracle WebLogic管理コンソールへのアクセスに関する説明に従って、Weblogic管理コンソールを起動します。

  3. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキーストアの構成に関する説明に従って、カスタムIDキーストアとカスタム信頼キーストアを構成します。

  4. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSSLの設定に関する説明に従って、SSLを構成します。

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

  5. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明に従って、資格証明マッピング・プロバイダを構成します。

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

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

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

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

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

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

  6. Oracle WebLogic Serverを再起動します。

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

    http://<host name>:<port number>/sbconsole
    
  8. ServiceKeyProviderを作成します。

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

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

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

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

6.2.1.1 OWSM 12c Webサービスの構成

  1. wss10_username_token_with_message_protection_service_policyポリシーのコピーを作成します。


    注意:

    使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。


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

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

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

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

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

    詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローニングに関する説明を参照してください。

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

    ポリシーをアタッチする方法の詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。

6.2.1.2 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>
    
  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サービス・メソッドを起動します。

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

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

6.2.2.1 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>
    
  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サービス・アプリケーションを作成します。

6.2.2.2 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サービスを起動します。

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

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

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

Oracle Service Busが稼働しているWebLogic Serverに対して、次の前提条件ステップを実行します。

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

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

  2. 『Webサービスの管理』のOracle WebLogic管理コンソールへのアクセスに関する説明に従って、Weblogic管理コンソールを起動します。

  3. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する説明に従って、SAMLIdentityAsserterV2認証プロバイダを作成します。

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

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

  6. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSAML IDアサータV2のアサーティング・パーティの作成およびSAML IDアサータV2のアサーティング・パーティの構成に関する説明に従って、SAMLアサーティング・パーティを作成して構成します。

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

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

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

    • 発行者URI: www.oracle.com

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

  7. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明に従って、SamlCredentialMapperV2資格証明マッピング・プロバイダを作成します。

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

  8. WebLogic Serverを再起動します。

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

    • 発行者URI: www.oracle.com

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

    • 名前修飾子: oracle.com

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

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

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

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

    • 説明: <your_description>

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

  11. WebLogic Serverを再起動します。

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

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

6.3.1.1 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サービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。

6.3.1.2 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>
    
  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. 例6-1で定義されているカスタムSAMLポリシーを使用します。

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

使用するカスタムSAMLポリシーを次に定義します。

例6-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>

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

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

6.3.2.1 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>
    
  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. 例6-1で定義されているカスタムSAMLポリシーを使用します。

6.3.2.2 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サービスを起動します。

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

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


注意:

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


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

ユーザー名トークンの構成の詳細は、「相互運用性のための構成の前提条件」を参照してください。

SAMLトークンの構成の詳細は、「相互運用性のための構成の前提条件」を参照してください。

相互運用性のためのSAMLの前提条件

SAMLの場合、Oracle Service Busが稼働しているWebLogic Serverに対して、次の前提条件ステップを実行します。

  1. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明に従って、SamlCredentialMapperV2資格証明マッピング・プロバイダを作成します。

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

  2. WebLogic Serverを再起動します。

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

    • 発行者URI: www.oracle.com

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

    • 名前修飾子: oracle.com

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

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

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

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

    • 説明: <your_description>

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

  5. WebLogic Serverを再起動します。

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

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

6.4.1.1 OWSM 12c Webサービスの構成

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

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

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

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

  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. Fusion Middleware Controlを使用して、ポリシーをインポートします。

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

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

    ポリシーをアタッチする方法の詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。

6.4.1.2 Oracle Service Bus 10gクライアントの構成

SAMLトークン・クライアントとユーザー名トークン・クライアントはいずれもサポートされています。

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

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

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

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

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

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

    1. 例6-1の「カスタムSAMLポリシー」に示されているポリシーをリクエストにアタッチします。

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

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

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

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

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

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

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

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

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

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

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

Oracle WebLogic Serverの構成の前提条件

Oracle Service Busが稼働しているOracle WebLogic Serverに対して、次の前提条件ステップを実行します。

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

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

  2. 『Webサービスの管理』のOracle WebLogic管理コンソールへのアクセスに関する説明に従って、Weblogic管理コンソールを起動します。

  3. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキーストアの構成に関する説明に従って、カスタムIDキーストアとカスタム信頼キーストアを構成します。

  4. Oracle WebLogic Server管理コンソール・オンライン・ヘルプのSSLの設定に関する説明に従って、SSLを構成します。

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

  5. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの資格証明マッピング・プロバイダの構成に関する説明に従って、資格証明マッピング・プロバイダを構成します。

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

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

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

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

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

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

  6. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する説明に従って、認証を構成します。

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

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

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

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

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

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

  7. トークン・ハンドラを構成して、メッセージ保護付きの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_に対しても、同じ手順を実行します。

  8. ユーザーを追加していない場合は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーの作成に関する説明に従って、証明書内に指定されている一般名(CN)ユーザーを追加します。

  9. Oracle WebLogic Serverを再起動します。

OWSMの構成の前提条件

Oracle WebLogic Server管理コンソールを使用して、OWSMに対して次の前提条件ステップを実行します。

  1. Oracle WebLogic Server管理コンソール・オンライン・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する説明に従って、認証を構成します。

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

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

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

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

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

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

  2. ユーザーを追加していない場合は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーの作成に関する説明に従って、証明書内に指定されている一般名(CN)ユーザーを追加します。

  3. Oracle WebLogic Serverを再起動します。

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

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

6.5.1.1 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サービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。

6.5.1.2 Oracle Service Bus 10gクライアントの構成

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

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

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

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

    <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>
    
  4. Sign.xmlポリシー・ファイルをOracle Service Busビジネス・サービス・リクエストにアタッチします。

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

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

    <wssp:Integrity SignToken="false"> 
    

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

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

  8. ServiceKeyProviderを作成します。

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

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

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

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

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

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

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

6.5.2.1 Oracle Service Bus 10g Webサービスの構成

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

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

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

  3. 「Oracle Service Bus 10gクライアントの構成」に示されているX.509ポリシーをプロキシ・サービス・リクエストにアタッチします。

  4. プロキシ・サービス・リクエストにアタッチされた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>
    
  5. プロキシ・サービス・リクエストにアタッチされた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>
    
  6. 前の手順で編集したmySign.xmlおよびmyEncrypt.xmlポリシー・ファイルをプロキシ・サービス・レスポンスにアタッチします。

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

6.5.2.2 OWSM 12cクライアントの構成

  1. wss10_x509_token_with_message_protection_client_policyポリシーのコピーを作成します。


    注意:

    使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。


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

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

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

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

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

    詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・ポリシーのクローニングに関する説明を参照してください。

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

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

    ポリシーをアタッチする方法の詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。

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